版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機的工作原理
主要內容馮諾依曼體系結構硬件軟件機內信息表示計算機能做什么?科學計算、信息管理、文字處理、面向Internet的應用(如電子郵件、Web搜索/瀏覽、電子商務等)以及嵌入式應用(如智能家居)、……計算機已經滲透到人類社會活動的各個領域并發(fā)揮著巨大的作用。計算機的組成從1946年誕生第一臺數字電子計算機(ENIAC)以來,雖然計算機已經有了很大的發(fā)展,但目前大部分計算機采用的還是傳統(tǒng)的馮?諾依曼(vonNeumann)體系結構。邏輯上,馮?諾依曼計算機由5個單元構成:存儲單元:存儲程序(指令序列)和數據運算單元:進行算術/邏輯運算控制單元:控制程序的執(zhí)行流程和根據指令向其它單元發(fā)出控制信號輸入單元:從外界獲得數據輸出單元:向外界輸出結果馮?諾依曼計算機的工作過程把待執(zhí)行的程序從輸入單元裝入到存儲單元中;(存儲程序式計算機)控制單元從存儲單元中逐條地取程序中的指令執(zhí)行,把其中的計算指令交給運算單元完成;程序執(zhí)行中從輸入單元或存儲單元中獲得所需要的數據;程序執(zhí)行產生的臨時結果保存在存儲單元中,程序的最終執(zhí)行結果通過輸出單元輸出。計算機能執(zhí)行的指令計算機的基本指令算術指令:實現加、減、乘、除等基本運算。比較指令:比較兩個操作數的大小等邏輯運算。數據傳輸指令:實現各單元之間的數據傳輸。流程控制指令:指出下一條指令在存儲單元中的地址。默認為順序執(zhí)行,可以是轉移、循環(huán)以及子程序調用/返回等指令。程序設計的任務是十分艱巨的,它要把各種應用問題落實到用一些簡單的指令來解決!程序設計者面臨挑戰(zhàn)!硬件與軟件計算機包含硬件和軟件兩方面硬件是指計算機的物理構成--物質基礎軟件主要是指計算機程序(指令序列)--靈魂一臺計算機的性能主要由硬件決定,而它的功能則主要是由軟件來提供。硬件概述硬件是指構成計算機的元器件和設備。計算機元器件的發(fā)展經歷了四個階段(四代計算機):電子管:體積大,功耗高,速度慢。晶體管:體積縮小,功耗降低,速度提高。集成電路:把晶體管、電阻、電容等電子元件焊接在一塊半導體硅片(芯片)上,體積、功耗和速度得到進一步改進,計算機生產系列化。(超)大規(guī)模集成電路:集成電路的規(guī)模和集成度更高。計算機設備主要包括:中央處理器內部存儲器外部設備(外部存儲器、輸入/輸出設備)外存外設(Devices)內存(Memory)中央處理器(CPU)馮?諾依曼計算機的硬件設備組織總線(Bus)執(zhí)行計算機指令。包含控制器、運算器以及寄存器。存儲運行中的計算機程序和正在使用的數據,分為ROM和RAM。每個單元都有地址。實現系統(tǒng)的輸入和輸出。永久性存儲程序和數據。以文件為單位來組織。鍵盤、顯示器、打印機、鼠標器等硬盤、閃存盤(U盤)、軟盤、光盤、磁帶等輸入/輸出設備馮?諾依曼計算機的瓶頸設備之間速度不匹配:高速設備等待低速設備。CPU與內存:訪問內存比訪問寄存器慢內存與外存:訪問外存比訪問內存慢解決方案:利用程序運行以及程序對數據的訪問(存?。┧哂械木植啃蕴卣鳎诟咚僭O備中為低速設備設置一個高速緩存(cache),把要訪問的內容預先從低速設備取到高速設備中,以減少訪問低速設備的次數。CPU中的內存高速緩存(cachememory)內存中的磁盤高速緩存(diskcache)軟件概述計算機硬件只是提供了執(zhí)行存儲在內存中指令的能力,而執(zhí)行的指令(軟件)是需要人來提供的。計算機軟件是計算機系統(tǒng)中的程序以及相關的文檔。程序:計算任務的處理對象(數據)與處理規(guī)則(算法)的描述,其中的處理規(guī)則體現為指令序列,由計算機執(zhí)行。文檔:便于人理解程序所需的說明資料,供程序開發(fā)與維護使用。軟件的分類系統(tǒng)軟件計算機系統(tǒng)中完成最基本功能的和直接讓硬件發(fā)揮作用的軟件。如:操作系統(tǒng)和設備驅動程序就屬于系統(tǒng)軟件。它與具體的應用領域無關,其它軟件一般要通過系統(tǒng)軟件發(fā)揮作用。應用軟件用于特定領域的專用軟件,如:文字處理軟件、人口普查軟件、財務軟件、游戲軟件、......、等等。支撐軟件支持軟件開發(fā)與維護的軟件,一般由軟件開發(fā)人員使用。如:軟件開發(fā)環(huán)境VC++就是典型的支撐軟件。支撐軟件有時也歸入系統(tǒng)軟件各類軟件與硬件之間的關系硬件系統(tǒng)軟件支撐軟件應用軟件為了提高靈活性,這里開了一些小口子,但這些口子越來越??!虛擬機由硬件構成的計算機常常被稱為“裸機”。在“裸機”之上,每加上一層軟件就得到了一個功能更強的計算機--“虛擬機”。例如,硬件加上操作系統(tǒng)就構成了最基本的虛擬機。硬件構成的裸機只能識別用機器語言表示的指令,在加上了C/C++的編譯程序之后,則這個虛擬機就能執(zhí)行由C/C++語言所表示的指令(語句)了。目前,虛擬機又有新的含義:指通過軟件模擬的具有完整硬件功能的計算機系統(tǒng),它運行在一臺宿主機上。虛擬機有自己的操作系統(tǒng)和應用軟件。Vmware,VirtualBox,Virtualpc等是構建虛擬機的軟件。宿主機虛擬機計算機中的信息表示在計算機中,任何信息(指令、數據、地址)都是用“0”和“1”組成的二進制數字序列來表示的。為什么計算機中的信息要用二進制表示?
“0”和“1”對應著電器設備的兩個穩(wěn)定狀態(tài):開關的關/開電壓的低/高電流的小/大信息單位計算機中的信息單位包括:一個“0”或“1”稱為一個二進制位(bit,b)8個二進制位稱為一個字節(jié)(Byte,B)1024個字節(jié)稱為一千字節(jié)(KiloByte,KB
)1024個千字節(jié)稱為一兆字節(jié)(MegaByte,MB)1024個兆字節(jié)稱為一吉字節(jié)(GigaByte,GB)1024個吉字節(jié)稱為一太字節(jié)(TeraByte,TB)在內存與外存中,通常把字節(jié)作為基本存儲單位(每次存取至少為一個字節(jié)),容量常常也是以字節(jié)數來計算的:內存:4GB、8GB、16GB
、......硬盤:500GB、1TB、2TB
、......數的幾種進制表示一個數可以用不同的進制來表示。常用的進制有:10進制(0~9,逢十進一)(日常生活及編程語言中采用)2進制(0~1,逢二進一)(計算機內部采用)8進制(0~7,逢八進一)(編程語言中采用)16進制(0~9、A~F,逢十六進一)(編程語言中采用)例如,對于十進制數:292進制表示為:111018進制表示為:3516進制表示為:1D再例如,各種進制數的運算:
(35)8
+(315)8
(72)8
(1D)16
+(11D)16
(3A)16
(11101)2
+(111111011)2
(111010)2
十進制轉換成二進制十進制整數轉成二進制把它連續(xù)除以基數2,直到商為0,所得的各個余數的倒序即為對應的二進制數。例如,十進制整數29的二進制表示為11101214120723121129021十進制小數轉成二進制把它連續(xù)乘以基數2,每次去掉乘積的整數位,直到乘積只包含整數為止。最后的轉換結果由各個乘積的整數位構成。例如,十進制小數0.8125的二進制表示為0.1101×21.6251.250.5×2×20.8125×21.0(0.1)10轉成二進制是多少?(0.1)10=(0.00011...)
2這意味著什么?一些十進制小數無法精確地用純二進制來表示!二進制轉換成十進制二進制整數轉成十進制(11101)2=1×24+1×23+1×22+0×21+1×20=29二進制小數轉成十進制(0.1101)2=1×2-1+1×2-2+0×2-3+1×2-4=0.8125十進制與八進制和十六進制之間的轉換轉換過程與上述的十進制與二進制之間的轉換類似,只要把上面的基數2改成8或16。二進制與八、十六進制之間的轉換二進制與八、十六進制之間的轉換(11101.1101)2=(011
101.110
100)2=(35.64)8=(0001
1101.1101)2=(1D.D)16在計算機內部,整數通常采用固定長度的某種二進制形式來表示。原碼表示用一個二進制位表示符號(0表示正;1表示負),其它位為二進制表示的絕對值。例如,如果用一個字節(jié)存儲整數的原碼,則12表示為00001100;-12表示為10001100對于由n個二進位構成的原碼,它能表示的整數范圍是:-(2n-1-1)~2n-1-1,其中有兩個零:00...0和10...0。整數的機內表示2的補碼表示正整數的補碼為它的二進制原碼表示;負整數的補碼為把相應正整數原碼的各個二進制位取反后得到的值加1。例如:如果用一個字節(jié)存儲整數的補碼,則12表示為:00001100-12表示為:11110100(11110011+1)對于由n個二進位構成的補碼,它能表示的整數范圍是:-2n-1~2n-1-1,其中,00...0表示零,10...0表示-2n-1。注意:在整數的補碼表示中,負整數的補碼最高位雖然也是1,但其余的二進制位不是它的絕對值。把負整數的補碼各個二進制位分別取反后加1則能得到對應正整數的補碼。用補碼表示整數便于加、減運算,特別地,減法可以轉換成加法來做(早期計算機的CPU中運算器只是一個加法器?。?。例如:CPU的整數運算指令一般是針對補碼表示來設計的!5加-200000101(5的補碼)+11111110(-2的補碼)
100000011(3的補碼,最高進位舍去)2減8=2加-800000010(2的補碼)+11111000(-8的補碼)11111010(-6的補碼)實數的機內表示在計算機內部,實數通常采用固定長度的科學記數法來表示:
±a×2ba是一個二進制小數,稱為尾數(Mantissa);b是一個二進制整數,稱為階碼或指數(Exponent);+/-:0/1。計算機內部只存儲符號以及a和b,并且a和b具有固定長度。在存儲實數前首先需要對其進行規(guī)格化,即把尾數a調整為1.xxx...形式,其中的整數位“1”和小數點不存儲。例如,對于十進制實數12.5,規(guī)格化:
(12.5)10=(1100.1)2=(1.1001)2×23
存儲的是:0(符號)、1001(尾數)和3(指數,存儲時將轉化成某種二進制形式)三個部分(參見教材附錄B)(12.1)10=(1100.00011...)
2這意味著什么?在實數的這種表示中,小數點的位置并不表示它的實際位置,其真正位置是在“浮動”著的,要由尾數和指數共同來決定,因此,基于這種表示的實數又稱作為浮點數。CPU的實數運算指令一般是針對實數的浮點表示來設計的!十進制數的另一種二進制表示--BCD碼BCD(BinaryCodedDecimal)碼是十進制數的另一種二進制表示形式,它分別對十進制數的每一位用二進制來表示,十進制數的長度不固定。BCD碼有多種形式,常用的是8421碼:每一位十進數用4位二進制表示,共有16中組合,其中10種組合(0000~1001)表示10個十進制數字(0~9):0 0000 4 0100 810001 0001 5 0101 910012 0010 6 0110
1000010
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際工程合同與索賠 心得
- 合伙分股合同模板
- 眼內炎治療新進展
- 2024合同協(xié)議書法司法解釋中英文對照
- 2024薪酬制物業(yè)管理合同
- 2024工程裝修施工合同范文
- 歐陸風云3(EU3)常用秘籍與國家代碼
- 2024勞動合同的注意事項
- 沈陽城市學院《影視導演》2023-2024學年第一學期期末試卷
- 沈陽城市學院《訴訟可視化》2023-2024學年第一學期期末試卷
- 主播藝人入職面試信息登記表
- 灌注樁樁基工程樁頭破除、缺陷修補、接樁施工方案
- 掘進工作面貫通專項辨識評估報告
- 疼痛評估:準確評估病人疼痛
- 部編版五年級上冊第二單元習作《“漫畫”老師》教學實錄
- 《嚴以律已+做遵紀守法的好少年+主題班會教育》
- 強生干式生化V350檢測儀標準操作程序(SOP)
- 06-2018泥石流災害防治工程勘查規(guī)范(試行)
- 洛陽市女職工生育保險待遇申報表
- 2023年旅行社經營管理教案
- 扁桃體炎-課件
評論
0/150
提交評論