关于计算机
圖靈在1936年提出了圖靈機,由此奠定了現代計算機的理論模型。但是圖靈遠遠算不上是第一個想到通用計算機的人。早在一百多年前的1833年,劍橋大學教授查爾斯·巴貝奇(Charles Baggage)構思了一種稱為分析機的機器用來進行通用計算。巴貝奇最初嘗試建造一種叫差分機的機器,可以通過求解差分來計算對數表和三角函數表,然后能近似計算多項式。后來由于巴貝奇與他的首席工程師約瑟夫·克萊芒起了爭執,英國政府就撤回了這項項目的資金,差分機也因此沒能完成。然而在這期間,巴貝奇意識到建造一種更加通用的機器(即后來的分析機)是可行的,于是便于1833年開始了分析機的設計。巴貝奇設計的分析機已經具有了存儲功能,能支持循環和條件跳轉,其實已經是圖靈完備的了。有了存儲和跳轉的設計,人類邁出了從計算器到計算機的第一步通用化。分析機模型(如下圖)。
世界上第一個程序員的誕生
“埃達·洛夫萊斯,英國浪漫主義詩人拜倫之女、19世紀一位風姿綽約的貴族女性,被認為是“史上第一位程序員”。”
巴貝奇的差分機和分析機很快引起埃達·洛夫萊斯的興趣,也就是英國大詩人拜倫的女兒、計算機的先驅之一、世界上第一個程序員。身處上流社會、又熱愛科學的年輕的Ada在朋友的介紹下多次拜訪了巴貝奇的分析機。后來Ada在受邀幫忙翻譯一篇某意大利工程師寫的關于分析機的論文時,順便寫了一些筆記和手稿,其中一篇是一個用來計算貝努力數的程序,后來這個手稿被認為是世界上第一個發表的計算機程序(如下圖)。
?更可貴的是,Ada不僅僅是看到了分析機所具有的通用計算能力(即能進行編程),她同時還意識到了分析機其實不僅僅是只能進行數值計算,其實一切可以用數字表示的事物都可以被分析機計算,并且可以處理任意的復雜度。Ada的思考又將計算機進一步的通用化了,即計算機不僅僅是可以算數,還能計算世間萬物。后來1930年代圖靈和丘奇分別提出圖靈機和lambda calculus,奠定了通用計算機的理論和邏輯基礎,通用計算機從此完成了雛形到形式化的轉變。后面的歷史我們都知道了,由于技術進步計算機也變得越來越小,現在一個指甲蓋大小的芯片上都繼承了上億個晶體管。計算機的應用也遠遠不止數學領域,而被應用在了方方面面,人類自此也邁入了一個自動化的時代。
馮·諾依曼結構
一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數據的寬度相同。
- 把需要的程序和數據送至計算機中;
- 必須具有長期記憶程序、數據、中間結果及最終運算結果的能力;
- 能夠完成各種算術、邏輯運算和數據傳送等數據加工處理的能力;
- 能夠根據需要控制程序走向,并能根據指令控制機器的各部件協調操作;
- 能夠按照要求將處理結果輸出給用戶
?哈佛結構:
哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。目的是為了減輕程序運行時的訪存瓶頸。它的主要特點是將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。中央處理器首先到程序指令存儲器中讀取程序指令內容,解碼后得到數據地址,再到相應的數據存儲器中讀取數據,并進行下一步的操作(通常是執行),執行時可以預先讀取下一條指令 。程序指令存儲和數據存儲分開,可以使指令和數據有不同的數據寬度 。
哈佛結構和馮諾依曼結構各有好處,相對于馮諾依曼結構,哈佛結構更可靠,更加適合于那些程序固化、任務相對簡單的控制系統,哈佛結構的微處理器也相對更高效。
現代計算機不會只用某種結構,總是混合的。CPU核內部的L1Cache是分成指令ICache和數據DCache,但是L2Cache是共享的。按定義CPU核內部是哈佛結構,外部是馮諾依曼結構。
?第一代電子管計算機
第一代電子管計算機——ENIAC(The Electronic Numerical Integrator And Computer),1946年在費城公諸于世,它通過不同部分之間的重新接線編程,還擁有并行計算能力,但功能受限制,速度也慢。ENIAC的問世標志現代計算機的誕生,是計算機發展史上的里程碑。?
??第二代晶體管計算機
?第二代晶體管計算機 晶體管的發明大大促進計算機的發展,晶體管代替電子管,電子設備體積減小。1956年,晶體管在計算機中使用,晶體管和磁芯存儲器導致了第二代計算機的產生。第二代計算機體積小、速度快、功耗低、性能更穩定。首先使用晶體管技術的是早期的超級計算機,主要用于原子科學的大量數據處理,這些機器價格昂貴,生產數量極少。
??
??第三代集成電路計算機
?第三代集成電路計算機 晶體管比起電子管進步,但產生的大量熱量損害計算機內部的敏感部分。1958年發明了集成電路(IC),將電子元件結合到一片小小的硅片上,使更多的元件集成到單一的半導體芯片上。于是,計算機變得更小,功耗更低,速度更快。這一時期的發展還包括使用了操作系統,使計算機在中心程序的控制協調下可以同時運行許多不同的程序。1964年,美國IBM公司研制成功第一個采用集成電路的通用電子計算機系列IBM360系統。?
第四代大規模集成電路計算機?
第四代計算機以大規模集成電路作為邏輯元件和存儲器,使計算機向著微型化和巨型化方向發展。從第一代到第四代,計算機的體系結構都是相同的,都是由控制器、存儲器、運算器、輸入輸出設備組成,稱馮·諾依曼體系結構。
第五代智能計算機
?第五代智能計算機 1981年,在日本東京召開了第五代計算機研討會,隨后制訂出研制第五代計算機的長期計劃。智能計算機主要特征是具備人工智能,能像人一樣思考,并且運算速度極快,其硬件系統支持高度并行和推理,其軟件系統能夠處理知識信息。神經網絡計算機(也稱神經元計算機)是智能計算機的重要代表。但第五代計算機目前仍處在探索、研制階段。真正實現后,將有無量的發展前途,它的前景,必將是光輝誘人的。
?第六代生物計算機
第六代生物計算機 半導體硅晶片的電路密集,散熱問題難以徹底解決,影響了計算機性能的進一步突破。研究發現,DNA的雙螺旋結構能容納巨量信息,其存儲量相當于半導體芯片的數百萬倍。一個蛋白質分子就是存儲體,而且阻抗低、能耗小、發熱量極低。基于此,利用蛋白質分子制造出基因芯片研制生物計算機,已成為當今計算機技術的最前沿。生物計算機比硅晶片計算機在速度、性能上有質的飛躍,被視為極具發展潛力的“第六代計算機”。
?計算機組成
?指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。主要分為五個部分:控制器,運算器,存儲器,輸入設備,輸出設備。
主要分為五個部分:
1. 控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。
2.?運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。
3.?存儲器(Memory):存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息。
4. 輸入(Input system):輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。
5. 輸出(Output system):輸出設備與輸入設備同樣是計算機的重要組成部分,它把計算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。
(cpu=控制器+運算器
主板=I/O總線,輸入輸出系統
存儲器=內存+硬盤
I/O設備:鍵盤,鼠標,掃描儀,顯示器等等鼠標,掃描儀數字化儀,讀卡機、紙帶...。)
?CPU
CPU,(Central Processing Unit)也叫做中央處理器,是一臺計算機的運算核心(Core)和控制核心( Control Unit)。是計算機內的電子電路,通過執行由指令指定的基本算術、邏輯、控制和輸入/輸出(I/O)操作來執行計算機程序的指令。計算機工業至少從20世紀60年代初就使用了術語“中央處理單元”。主存儲器和I/O電路。
CPU,即中央處理器,是一臺計算機的運算核心和控制核心。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。CPU由運算器、控制器、寄存器、高速緩存及實現它們之間聯系的數據、控制及狀態的總線構成? ? ??ALU 算術邏輯單元(Arithmetic&logical Unit)
總線
總線(Bus)是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束, 按照計算機所傳輸的信息種類,計算機的總線可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。總線是一種內部結構,它是cpu、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過總線相連接,外部設備通過相應的接口電路再與總線相連接,從而形成了計算機硬件系統。在計算機系統中,各個部件之間傳送信息的公共通路叫總線,微型計算機是以總線結構來連接各個功能部件的。
總結
- 上一篇: vim插件——auto-pairs
- 下一篇: 《驱动力》读后感