前面講了圖靈機(turing machine),後來人們便朝著這個方向製造出了真正意義上的計算機,究竟這是乙個怎樣的過程呢,不妨可以梳理一下其中的脈絡。
圖靈機的提出是在20世紀中葉(2023年),而在之後的2023年就誕生了世界上的第乙個電晶體(和電子管區別***),有了電晶體誕生,人們便開始腦洞大開,製造出了很多現在我們數電書中看到的與門,非門等等。科學家們當時估計一定也很exciting,於是又開始搭出了很多電路(這裡包含組合電路和時序電路),組合電路裡有加法器,解碼器,資料選擇器,設計出了組合電路,但當需要用到這些電路到具體計算時,科學家們想計算的結果放哪呢,於是乎想到還得有儲存功能的電路把,然後當前的輸出和我上一步的執行也應該有關係把,於是時序電路(移位暫存器,計數器阿)又出現了,好了,電路都有了,總得弄些更有意思的東西把,於是我估計是想到了計算器(對,科學家當時估計是想創造出乙個偉大的計算器),把各種運算的電路組合搭建起來乙個電路,至於叫什麼,他們也打算叫計算器(其實是乙個概念cpu),那時可能還沒有cpu這個說法呢,不多說,上圖:
分析一下這個電路,輸入包括a[3:0],b[3:0],c,s0,s1,s2,s3,輸出就乙個,沒啥說的。
a[3:0],b[3:0]代表運算時候輸入的數字,c代表的是進製,s0,s1的編碼00,01,10,11,四個編碼剛好對應四個運算單元(加減……右移),不同編碼對應運算元a,b執行不同的操作,s2,s3也是編碼,該編碼給到資料選擇器上,不同的編碼選擇不同的通路輸出,到底是加減還是與或,這肯定是要區分的,這樣當運算元固定,輸入不同,s0,s1,s2,s3編碼就會進行不同運算,相應的運算就會通過相應的通道輸出,講到這裡就清楚了s0,s1,s2,s3其實就是指令,s0,s1,s2,s3就是cpu中的指令集,具體如下表:
看了上面這張圖就恍然大悟了,s0,s1,s2,s3就組成的4位二進位制數就是計算機的機器指令,平時我們為了便於人們理解,就將add,sub這種助記符對應每乙個機器指令,這也就是我們所說的匯程式設計序,夠清楚把,程式設計其實本質上就是將這些機器指令有序的集合,就實現了解決乙個特定的任務。再來看一下圖靈機,圖靈機是在紙帶子上打二進位制0或1,這些數字就代表了運算元和指令,然後圖靈機就根據每乙個小格仔上的指令和資料對應機器現在的狀態進行相關操作,小格仔上的指令也就是我們這個概念cpu上的s0,s1,s2,s3,小紙帶子上的資料就是a[3:0],b[3:0],c,這一下就清楚了,我們看似簡單的乙個電路實際上就是乙個概念的cpu,它也完全符合圖靈機的概念。
上面談到了概念cpu的構思,直到2023年這個神奇的年份,motorola 6800和intel的8080相繼誕生,但當時這兩個cpu**都很昂貴,人們開始發現一旦使得cpu的降低**將會迎來乙個巨大的市場。於是人們採取了很多嘗試,削掉cpu的部分功能,精簡設計,進而生產更廉價的cpu,cpu的簡化設計以及市場的需求也催生了片上系統的產生(sopc),system on programmble computer/chip,這樣乙個片上系統也就成了我們今天所說的mcu了,motorola在2023年誕生了第乙個微控制器6801,它採用了6800 cpu一樣的內部結構,8位資料匯流排,但與cpu6800最大不同在於它在片內整合了ram和rom(儲存器),這就構成了片上計算機系統,也就成了mcu了,當然了,也可以將mcu看作是乙個計算機主機板,最後總結下mcu把,麻雀雖小,五臟俱全。
1 1 1 計算機的誕生
計算機 計算機 computer 俗稱電腦,是現代一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有儲存記憶功能。是能夠按照程式執行,自動 高速處理海量資料的現代化智慧型電子裝置。計算機的發展 計算工具的演化經歷了由簡單到複雜 從低階到高階的不同階段,例如從 結繩記事 中的...
計算機的誕生和發展
在人類文明發展的歷史長河中,計算工具經歷了從簡單到複雜 從低階到高階的發展過程,列如,繩結 算籌 算盤 計算尺 手搖機械計算機 電動機械計算機等。它們在不同的時期發揮了各自的作用,同時也孕育了電子計算機的雛形。計算機的電子管從電晶體,再由電晶體到中小規模積體電路,再到大規模積體電路直至現今的超大規模...
中國量子計算機「嬰兒」誕生
中國科學院日前宣布,在量子計算機研究方面取得了突破性進展,構建出世界上第一台超越早期經典計算機的光量子計算機。位於上海的中科院量子資訊和量子科技創新研究院實驗室內,三平方公尺的工作台上成百上千密密麻麻元器件組成的這台光量子計算機,與人們平日使用的計算機毫無相似之處。儘管這個量子計算機的 嬰兒 還不如...