計算機的工作原理是什么?
計算機的基本原理主要分為存儲程序和程序控制,預先要把控制計算機如何進行操作的指令序列(稱為程序)和原始數據通過輸入設備輸送到計算機內存中。每一條指令中明確規定了計算機從哪個地址取數,進行什么操作,然后送到什么地址去等步驟。
計算機的基本原理
計算機在運行時,先從內存中取出d一條指令,通過控制器的譯碼,按指令的要求,從存儲器中取出數據進行指定的運算和邏輯操作等加工,然后再按地址把結果送到內存中去。接下來,再取出d二條指令,在控制器的指揮下完成規定操作。依此進行下去。直至遇到停止指令。程序與數據一樣存取,按程序編排的順序,一步一步地取出指令,自動地完成指令規定的操作是計算機z基本的工作原理,這一原理z初是由美籍匈牙利數學家馮.諾依曼于1945年提出來的,故稱為馮.諾依曼原理,馮諾依曼體系結構計算機的工作原理可以概括為八個字:存儲程序、程序控制。
存儲程序 --- 將解題的步驟編成程序(通常由若干指令組成),并把程序存放在計算機的存儲器中(指主存或內存);
程序控制 --- 從計算機主存中讀出指令并送到計算機的控制器,控制器根據當前指令的功能,控制全機執行指令規定的操作,完成指令的功能。重復這一操作,直到程序中指令執行完畢。
馮諾依曼體系結構計算機的特點是:
- 使用單一的處理部件來完成計算、存儲以及通信的工作。
- 存儲單元是定長的線性組織。
- 存儲空間的單元是直接尋址的。
- 使用低級機器語言,指令通過操作碼來完成簡單的操作。
- 對計算進行集中的順序控制。
- 計算機硬件系統由運算器、存儲器、控制器、輸入設備、輸出設備五大部件組成并規定了它們的基本功能。
- 采用二進制形式表示數據和指令。
- 在執行程序和處理數據時必須將程序和數據從外存儲器裝入主存儲器中,然后才能使計算機在工作時能夠自動調整地從存儲器中取出指令并加以執行。
計算機的指令
計算機根據人們預定的安排,自動地進行數據的快速計算和加工處理。人們預定的安排是通過一連串指令(操作者的命令)來表達的,這個指令序列就稱為程序。一個指令規定計算機執行一個基本操作 [2] 。一個程序規定計算機完成一個完整的任務。一種計算機所能識別的一組不同指令的集合,稱為該種計算機的指令集合或指令系統。在微機的指令系統中,主要使用了單地址和二地址指令,其中,d1個字節是操作碼,規定計算機要執行的基本操作,d2個字節是操作數。計算機指令包括以下類型:數據處理指令(加、減、乘、除等)、數據傳送指令、程序控制指令、狀態管理指令,整個內存被分成若干個存儲單元,每個存儲單元一般可存放8位二進制數(字節編址)。每個在位單元可以存放數據或程序代碼,為了能有效地存取該單元內存儲的內容,每個單元都給出了一個wei一的編號來標識,即地址。
按照馮·諾依曼存儲程序的原理,計算機在執行程序時須先將要執行的相關程序和數據放入內存儲器中,在執行程序時CPU根據當前程序指針寄存器的內容取出指令并執行指令,然后再取出下一條指令并執行,如此循環下去直到程序結束指令時才停止執行。其工作過程就是不斷地取指令和執行指令的過程,z后將計算的結果放入指令指定的存儲器地址中。
計算機的硬件
硬件通常是指構成計算機的設備實體。一臺計算機的硬件系統應由五個基本部分組成:運算器、控制器、存儲器、輸入和輸出設備。現代計算機還包括中央處理器和總線設備。這五大部分通過系統總線完成指令所傳達的操作,當計算機在接受指令后,由控制器指揮,將數據從輸入設備傳送到存儲器存放,再由控制器將需要參加運算的數據傳送到運算器,由運算器進行處理,處理后的結果由輸出設備輸出。
中央處理器
CPU(central processing unit)意為中央處理單元,又稱中央處理器。CPU由控制器、運算器和寄存器組成,通常集中在一塊芯片上,是計算機系統的核心設備。計算機以CPU為中心,輸入和輸出設備與存儲器之間的數據傳輸和處理都通過CPU來控制執行。微型計算機的中央處理器又稱為微處理器。
控制器
控制器是對輸入的指令進行分析,并統一控制計算機的各個部件完成一定任務的部件。它一般由指令寄存器、狀態寄存器、指令譯碼器、時序電路和控制電路組成。計算機的工作方式是執行程序,程序就是為完成某一任務所編制的特定指令序列,各種指令操作按一定的時間關系有序安排,控制器產生各種z基本的不可再分的微操作的命令信號,即微命令,以指揮整個計算機有條不紊地工作。當計算機執行程序時,控制器s先從指令寄存器中取得指令的地址,并將下一條指令的地址存入指令寄存器中,然后從存儲器中取出指令,由指令譯碼器對指令進行譯碼后產生控制信號,用以驅動相應的硬件完成指令操作。簡言之,控制器就是協調指揮計算機各部件工作的元件,它的基本任務就是根據種類指紋的需要綜合有關的邏輯條件與時間條件產生相應的微命令。
運算器
運算器又稱算術邏輯單元ALU(Arithmetic Logic Unit)。運算器的主要任務是執行各種算術運算和邏輯運算。算術運算是指各種數值運算,比如:加、減、乘、除等。邏輯運算是進行邏輯判斷的非數值運算,比如:與、或、非、比較、移位等。計算機所完成的全部運算都是在運算器中進行的,根據指令規定的尋址方式,運算器從存儲或寄存器中取得操作數,進行計算后,送回到指令所指定的寄存器中。運算器的核心部件是加法器和若干個寄存器,加法器用于運算,寄存器用于存儲參加運算的各種數據以及運算后的結果。
存儲器
存儲器分為內存儲器(簡稱內存或主存)、外存儲器(簡稱外存或輔存)。外存儲器一般也可作為輸入/輸出設備。計算機把要執行的程序和數據存入內存中,內存一般由半導體器構成。半導體存儲器可分為三大類:隨機存儲器、只讀存儲器、特殊存儲器。 RAM RAM是隨機存取存儲器(Random Access Memory),其特點是可以讀寫,存取任一單元所需的時間相同,通電時存儲器內的內容可以保持,斷電后,存儲的內容立即消失。RAM可分為動態(Dynamic RAM)和靜態(Static RAM)兩大類。所謂動態隨機存儲器DRAM是用MOS電路和電容來作存儲元件的。由于電容會放電,所以需要定時充電以維持存儲內容的正確,例如互隔2ms刷新一次,因此稱這為動態存儲器。所謂靜態隨機存儲器SRAM是用雙極型電路或MOS電路的觸發器來作存儲元件的,它沒有電容放電造成的刷新問題。只要有電源正常供電,觸發器就能穩定地存儲數據。DRAM的特點是集成密度高,主要用于大容量存儲器。SRAM的特點是存取速度快,主要用于調整緩沖存儲器。 ROM ROM是只讀存儲器(Read Only Memory),它只能讀出原有的內容,不能由用戶再寫入新內容。原來存儲的內容是由廠家一次性寫放的,并永j保存下來。ROM可分為可編程(Programmable)ROM、可擦除可編程(Erasable Programmable)ROM、電擦除可編程(Electrically Erasable Programmable)ROM。如,EPROM存儲的內容可以通過紫外光照射來擦除,這使它的內容可以反復g改。 特殊固態存儲器 包括電荷耦合存儲器、磁泡存儲器、電子束存儲器等,它們多用于特殊領域內的信息存儲。 此外,描述內、外存儲容量的常用單位有: ①位/比特(bit):這是內存中z小的單位,二進制數序列中的一個0或一個1就是一比比特,在電腦中,一個比特對應著一個晶體管。 ②字節(B、Byte):是計算機中z常用、z基本的存在單位。一個字節等于8個比特,即1 Byte=8bit。 ③千字節(KB、Kilo Byte):電腦的內存容量都很大,一般都是以千字節作單位來表示。1KB=1024Byte。 ④兆字節(MB Mega Byte):90年代流行微機的硬盤和內存等一般都是以兆字節(MB)為單位。1 MB=1024KB。 ⑤吉字節(GB、Giga Byte):市場流行的微機的硬盤已經達到430GB、640GB、810GB、1TB等規格。1GB=1024MB。 ⑥太字節(TB、Tera byte):1TB=1024GB。z新有了PB這個概念,1PB=1024TB。
輸入輸出設備
輸入設備是用來接受用戶輸入的原始數據和程序,并將它們變為計算機能識別的二進制存入到內存中。常用的輸入設備有鍵盤、鼠標、掃描儀、光筆等。 輸出設備用于將存入在內存中的由計算機處理的結果轉變為人們能接受的形式輸出。常用的輸出設備有顯示器、打印機、繪圖儀等。
總線
總線是一組為系統部件之間數據傳送的公用信號線。具有匯集與分配數據信號、選擇發送信號的部件與接收信號的部件、總線控制權的建立與轉移等功能。典型的微機計算機系統的結構通常多采用單總線結構,一般按信號類型將總線分為三組,其中AB(Address Bus)為地址總線;DB(Data Bus)為數據總線;CB(Control Bus)控制總線。
計算機的技術指標
CPU類型
CPU類型是指微機系統所采用的CPU芯片型號,它決定了微機系統的檔次。
字長
字長是指CPU一次z多可同時傳送和處理的二進制位數,字長直接影響到計算機的功能、用途和應用范圍。如Pentium是64位字長的微處理器,即數據位數是64位,而它的尋址位數是32位。
時鐘頻率和機器周期
時鐘頻率又稱主頻,它是指CPU內部晶振的頻率,常用單位為兆(MHz),它反映了CPU的基本工作節拍。一個機器周期由若干個時鐘周期組成,在機器語言中,使用執行一條指令所需要的機器周期數來說明指令執行的速度。一般使用CPU類型和時鐘頻率來說明計算機的檔次。如Pentium III 500等。
運算速度
是指計算機每秒能執行的指令數。單位有MIPS(每秒百萬條指令)、MFLOPS(秒百萬條浮點指令)。
存取速度
是指存儲器完成一次讀取或寫存操作所需的時間,稱為存儲器的存取時間或訪問時間。而連續兩次讀或寫所需要的z短時間,稱為存儲周期。對于半導體存儲器來說,存取周期大約為幾十到幾百毫秒之間。它的快慢會影響到計算機的速度。
內、外存儲器容量
是指內存存儲容量,即內容儲存器能夠存儲信息的字節數。外儲器是可將程序和數據永j保存的存儲介質,可以說其容量是無限的。如硬盤、U盤已是微機系統中不可缺少的外部設備。迄今為止,所有的計算機系統都是基于馮·諾依曼存儲程序的原理。內、外存容量越大,所能運行的軟件功能就越豐富。CPU的高速度和外存儲器的低速度是微機系統工作過程中的主要瓶頸現象,不過由于硬盤的存取速度不斷提高,這種現象已有所改善。
計算機的演變
早期的計算機
我們先從z早的計算機講起,人們在z初設計計算機時采用這樣一個模型:
人們通過輸入設備把需要處理的信息輸入計算機,計算機通過中央處理器把信息加工后,再通過輸出設備把處理后的結果告訴人們。其實這個模型很簡單,舉個簡單的例子,你要處理的信息是1+1,你把這個信息輸入到計算機中后,計算機的內部進行處理,再把處理后的結果告訴你。
早期計算機的輸入設備十分落后,根本沒有鍵盤和鼠標,那時候計算機還是一個大家伙,z早的計算機有兩層樓那么高。人們只能通過扳動計算機龐大的面板上無數的開關來向計算機輸入信息,而計算機把這些信息處理之后,輸出設備也相當簡陋,就是計算機面板上無數的信號燈。所以那時的計算機根本無法處理像這樣各種各樣的信息,它實際上只能進行數字運算。
當時人們使用計算機也真是夠累的。但在當時,就算是這種計算機也是極為先j的了,因為它把人們從繁重的手工計算中解脫出來,而且極大地提高了計算速度。
有內部存儲器
隨著人們對計算機的使用,人們發現上述模型的計算機能力有限,在處理大量數據時就越發顯得力不從心。為此人們對計算機模型進行了改進,提出了這種模型:
就是在中央處理器旁邊加了一個內部存儲器。這個模型的好處在于。先打個比方說,如果老師讓你心算一道簡單題,你肯定毫不費勁就算出來了,可是如果老師讓你算20個三位數相乘,你心算起來肯定很費力,但如果給你一張草稿紙的話,你也能很快算出來。
可能你會問這和計算機有什么關系?其實計算機也是一樣,一個沒有內部存儲器的計算機如果讓它進行一個很復雜的計算,它可能根本就沒有辦法算出來,因為它的存儲能力有限,無法記住很多的中間的結果,但如果給它一些內部存儲器當“草稿紙”的話,計算機就可以把一些中間結果臨時存儲到內部存儲器上,然后在需要的時候再把它取出來,進行下一步的運算,如此往復,計算機就可以完成很多很復雜的計算。
紙帶機
隨著時代的發展,人們越來越感到計算機輸入和輸出方式的落后,改進這兩方面勢在必行。在輸入方面,為了不再每次扳動成百上千的開頭,人們發明了紙帶機。紙帶機的工作原理是這樣的,紙帶的每一行都標明了26個字母、10個數字和一些運算符號,如果這行的字母A上面打了一個孔,說明這里要輸入的是字母A,同理,下面的行由此類推。這樣一個長長的紙帶就可以代表很多的信息,人們把這個紙帶放入紙帶機,紙帶機還要把紙帶上的信息翻譯給計算機,因為計算機是看不懂這個紙帶的。
這樣雖然比較麻煩,但這個進步確實在很大程度上促進了計算機的發展。在發明紙帶的同時,人們也對輸出系統進行了改進,用打印機代替了計算機面板上無數的信號燈。打印機的作用正好和紙帶機相反,它負責把計算機輸出的信息翻譯成人能看懂的語言,打印在紙上,這樣人們就能很方便地看到輸出的信息,再也不用看那成百上千的信號燈了。
鍵盤和顯示器
不過人們沒有滿足,他們繼續對輸入和輸出系統進行改進。后來人們發明了鍵盤和顯示器。這兩項發明使得當時的計算機和我們使用的計算機有些類似了,而且在此之前經過長時間的改進,計算機的體積也大大地縮小了。鍵盤和顯示器的好處在于人們可以直接向計算機輸入信息,而計算機也可以及時把處理結果顯示在屏幕上。
有外部存儲器
可是隨著人們的使用,逐漸又發現了不如意之處。因為人們要向計算機輸入的信息越來越多,往往要輸入很長時間后,才讓計算機開始處理,而在輸入過程中,如果停電,那前面輸入的內容就白費了,等來電后,還要全部重新輸入。就算不停電,如果人們上次輸入了一部分信息,計算機處理完了,也輸出了結果;人們下一次再需要計算機處理這部分信息的時候,還要重新輸入。對這種重復勞動的厭倦導致了計算機新的模型的產生。
有文件系統
可是不久之后,人們又發現了另一個問題,人們要存儲到磁盤上的內容越來越多,眾多的信息存儲在一起,很不方便。這樣就導致了文件的產生。
有操作系統
可是在使用過程中,人們又漸漸發現,由人工來管理越來越多的文件是一件很痛苦的事情。為了解決這個問題,人們就開發了一種軟件叫操作系統。
操作系統(operating system,OS)是管理計算機硬件與軟件資源的計算機程序,同時也是計算機系統的內核與基石。操作系統需要處理如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網絡與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。
操作系統的類型非常多樣,不同機器安裝的操作系統可從簡單到復雜,可從移動電話的嵌入式系統到chao級計算機的大型操作系統。許多操作系統制造者對它涵蓋范疇的定義也不盡一致,例如有些操作系統集成了圖形用戶界面,而有些僅使用命令行界面,而將圖形用戶界面視為一種非必要的應用程序。
有了操作系統之后,我們就不直接和計算機的硬件打交道,不直接對這些硬件發號施令,我們把要的事情告訴操作系統,操作系統再把要作的事情安排給計算機去做,等計算機做完之后,操作系統再把結果告訴我們,這樣就省事多了。
在操作系統出現之前,人們通過鍵盤給計算機下達的命令都是特別專y的術語,而有了操作系統之后,人們和計算機之間的對話就可以使用一些很容易懂的語言,而不用去死記硬背那些專y術語了。
操作系統不但能在計算機和人之間傳遞信息,而且還負責管理計算機的內部設備和外部設備。它替人們管理日益增多的文件,使人們能很方便地找到和使用這些文件;它替人們管理磁盤,隨時報告磁盤的使用情況;它替計算機管理內存,使計算機能g高效而安q地工作;它還負責管理各種外部設備,如打印機等,有了它的管理,這些外設就能有效地為用戶服務了。
也正因為操作系統這么重要,所以人們也在不斷地改進它,使它的使用g加方面,功能g加強大。對于咱們使用的微機來說,操作系統主要經歷了DOS、Windows 3.X、Windows95和Windows98、windows2000、windows2003、windowsXP、windows vista、windows7、windows8和z新的windows10這幾個發展階段。