第2章--數(shù)據(jù)操控匯總課件_第1頁
第2章--數(shù)據(jù)操控匯總課件_第2頁
第2章--數(shù)據(jù)操控匯總課件_第3頁
第2章--數(shù)據(jù)操控匯總課件_第4頁
第2章--數(shù)據(jù)操控匯總課件_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、主要內(nèi)容第2章 數(shù)據(jù)操控計算機體系結(jié)構(gòu)機器語言程序的執(zhí)行算術(shù)/邏輯指令與其他設(shè)備的通信其他體系結(jié)構(gòu)計算機體系結(jié)構(gòu)計算機中實現(xiàn)控制數(shù)據(jù)操控的電路,是作為計算機的一個獨立的部分存在的,稱為中央處理器(CPU)。早期的CPU體積龐大,今天的CPU體積很小、集成度高。計算機體系結(jié)構(gòu)CPU的外部特征,以及在計算機中的物理位置CPU主板計算機體系結(jié)構(gòu)CPU的組成算術(shù)/邏輯單元(arithmetic/logic unit) ALU實現(xiàn)數(shù)據(jù)操作的電路,包括算術(shù)運算和布爾運算控制單元(control unit) CU協(xié)調(diào)計算機活動的電路,包括:發(fā)出運算指令,操作數(shù)的讀取等。寄存器單元(register)通用寄存

2、器(general-purpose register) 臨時保存CPU正在操作的數(shù)據(jù)。即:保存ALU電路的輸入和運算的結(jié)果。專用寄存器(special-purpose register) 程序計數(shù)器、指令寄存器計算機體系結(jié)構(gòu)CPU的工作原理寄存器中央處理器 CPU主存儲器算術(shù)/邏輯單元控制單元總線CPU和主存儲器通過總線(BUS)連接 CPU和主存儲器之間通常設(shè)置了高速緩沖存儲器(cache memory)各類存儲器的分工:P54步驟1:從主存儲器中取出一個要加的數(shù)放入一個寄存器中。步驟2:從主存儲器中取出另一個要加的數(shù)放入另一個寄存器中。步驟3:激活加法電路,以步驟1、2所用的寄存器為輸入,

3、用另一個寄存器存放相加結(jié)果步驟4:將該結(jié)果存入主存儲器。步驟5:停止。RAM計算機體系結(jié)構(gòu)存儲程序的概念把計算機程序存放到主存儲器里的思想-存儲程序概念早期的計算機舉例:類似“音樂盒”那時,要改變計算機執(zhí)行的程序,等于重新制造一臺計算機后來,人們認識到程序可以像數(shù)據(jù)一樣進行編碼,并存放到存儲器中。這樣同一臺計算機,可以執(zhí)行很多種程序,而不需要改動計算機的硬件。計算機體系結(jié)構(gòu) 中央處理器(Central Processing Unit,CPU)算術(shù)/邏輯部件(arithmetic/logic unit)控制部件(control unit)寄存器(register)通用寄存器(general-pu

4、rpose register)專用寄存器(special-purpose register)主板(motherboard)總線(bus)高速緩沖存儲器(cache memory)本節(jié)涉及到的概念計算機體系結(jié)構(gòu)P54 問題與練習機器語言機器語言(machine language)CPU能辨認的二進制模式編碼的指令和編碼系統(tǒng)統(tǒng)稱為機器語言機器指令(machine instruction)用機器語言表達的指令稱為機器指令 ?問題:現(xiàn)在常用的一些程序設(shè)計語言,例如C、Java、C+等和機器語言有什么關(guān)系?-編譯1. 指令系統(tǒng)問題:計算機的指令是不是越多越好?一臺計算機的CPU究竟應(yīng)該包含多少條指令才比

5、較合適?一旦一臺計算機能夠?qū)崿F(xiàn)幾個經(jīng)過精心挑選的任務(wù),那么添加更多的特性是不會增加該計算機的理論能力的。換句話說,超越某一點后,附加的特性只能增加便利性,不會增加該計算機的基本能力。機器語言 例:計算機A:+、-、*、/ 計算機B:+、-、*、/、平方、開方、立方等1. 指令系統(tǒng)利用以上原則的不同程度,導(dǎo)致出現(xiàn)了兩種CPU的體系結(jié)構(gòu)(兩種指令系統(tǒng)):精簡指令集計算機(RISC): CPU只需要執(zhí)行最小的機器指令集。復(fù)雜指令集計算機(CISC): CPU能夠執(zhí)行大量復(fù)雜的指令。 Intel公司生產(chǎn)的CPU是CISC結(jié)構(gòu)的,而IBM PowerPC是RISC結(jié)構(gòu)的。機器語言 機器語言1. 指令系統(tǒng)

6、指令分成3大類:數(shù)據(jù)傳輸類算術(shù)/邏輯運算類控制類寄存器中央處理器主存儲器算術(shù)/邏輯部件控制部件總線CPU和主存儲器通過總線連接 機器語言步驟1:從主存儲器中取出一個要加的數(shù)放入一個寄存器中。步驟2:從主存儲器中取出另一個要加的數(shù)放入另一個寄存器中。步驟3:激活加法電路,以步驟1、2所用的寄存器為輸入,用另一個寄存器存放相加結(jié)果步驟4:將該結(jié)果存入主存儲器。步驟5:停止。1. 指令系統(tǒng)數(shù)據(jù)傳輸指令:請求在各個位置之間傳輸數(shù)據(jù)的指令右圖中步驟1、2、4屬于傳輸指令注意:這里的“傳輸”實際上指的是“復(fù)制”,通常不用“move”或“transfer”術(shù)語“LOAD”、“STORE”通常用來指在CPU和

7、主存儲器之間傳輸數(shù)據(jù)。I/O指令是一類特殊的數(shù)據(jù)傳輸指令,單獨列為一類。指在CPU和其它設(shè)備間傳輸數(shù)據(jù)。機器語言1. 指令系統(tǒng)算術(shù)/邏輯運算指令:負責數(shù)據(jù)的運算,即告訴控制部件請求在算術(shù)/邏輯部件內(nèi)實現(xiàn)一個活動右圖中步驟3屬于算術(shù)/邏輯運算指令注意:邏輯運算AND、OR、NOT、XOR通常是基于位的運算。因此邏輯運算指令可以完成對某一個寄存器中特定的若干位操作,而對其他位沒有影響-掩碼除邏輯運算,還有一類對寄存器內(nèi)容左右移動的運算:移位運算(SHIFT)、循環(huán)移位運算(ROTATE)。步驟1:從存儲器中取出一個要加的數(shù)放入一個寄存器中。步驟2:從存儲器中取出另一個要加的數(shù)放入另一個寄存器中。步

8、驟3:激活加法電路,以步驟1、2所用的寄存器為輸入,用另一個寄存器存放相加結(jié)果步驟4:將該結(jié)果存存儲器。步驟5:停止。機器語言1. 指令系統(tǒng)控制指令:指導(dǎo)程序執(zhí)行的指令,而不作數(shù)據(jù)操作右圖中步驟5屬于控制指令注意:常見的控制指令:轉(zhuǎn)移(JUMP)、分支(BRANCH)轉(zhuǎn)移有兩種形式:無條件轉(zhuǎn)移有條件轉(zhuǎn)移,例如:P56,圖2.3的步驟3步驟1:從存儲器中取出一個要加的數(shù)放入一個寄存器中。步驟2:從存儲器中取出令一個要加的數(shù)放入另一個寄存器中。步驟3:激活加法電路,以步驟1、2所用的寄存器為輸入,用另一個寄存器存放相加結(jié)果步驟4:將該結(jié)果存存儲器。步驟5:停止。一個演示用的機器語言1.機器的體系結(jié)

9、構(gòu) 機器有16個通用寄存器。每個寄存器的長度為一字節(jié)(8位)。為了在指令中標識寄存器,每個寄存器各賦予一個惟一的四位模式表示其寄存器號。所以寄存器0由0000(十六進制0)標識,寄存器4由0100(十六進制4)標識。 機器主存有256個單元。每個單元賦予一個范圍在0到255之間的整數(shù)地址。所以一個地址能夠用00000000到11111111范圍內(nèi)(或00到FF范圍的十六進制值)的一個八位模式來表示。一個演示用的機器語言2. 示例性的機器語言 附錄算術(shù)/邏輯部件中央處理器寄存器012F總線主存儲器地址單元0001020304FF控制部件程序計數(shù)器指令寄存器(1)共有16個通用寄存器,256個主存

10、儲單元。(2)分別用二進制編號,用十六進制表示。一個演示用的機器語言2. 示例性的機器語言指令及其構(gòu)成:該計算機的每一條指令都是一個二進制序列;這個二進制序列可被分為兩部分:操作碼、操作數(shù)操作碼指名該指令將進行什么操作,例如:STORE、ADD、XOR等操作數(shù)給出了參與本次運算的更詳細的信息。操作碼操作數(shù)一條指令的組成一個演示用的機器語言2. 示例性的機器語言?問題:在實際的計算機指令集中,操作碼占幾位取決于什么?對應(yīng)著每一種操作碼的位模式,操作數(shù)都有不同的解釋。操作碼操作數(shù)實際的位模式(16位)十六進制形式(4個數(shù)字)一條指令的組成一個演示用的機器語言2. 示例性的機器語言在我們的示例計算機

11、中,機器語言一共有12條基本指令;因此,操作碼需占4位??偟臋C器指令都是兩字節(jié)長。頭4位是操作碼,后12位組成操作數(shù)字段。12位組成操作數(shù)由三個十六進制數(shù)表示,分別代表不同的含義。詳見附錄C一個簡單的機器語言 說明: 字母R、S及T在表示寄存器標識符的那些字段處用來替代十六進制數(shù)字, R、S、T代表的是寄存器的地址 它們因指令的具體應(yīng)用而異。 字母X及Y用來在變量字段替代十六進制數(shù)字,而不代表寄存器。一個簡單的機器語言操作碼操作數(shù)說明1RXY以地址為XY的存儲單元的位模式加載(LOAD)寄存器R。例:14A3使得地址A3的存儲單元內(nèi)容放入寄存器4。2RXY以位模式XY 加載(LOAD)寄存器R

12、。例:20A3使得值A(chǔ)3放入寄存器0。3RXY將寄存器R的位模式存放(STORE)于地址為XY的存儲單元。例:35B1使得寄存器5的內(nèi)容放入地址為B1的存儲單元。4ORS將寄存器R的位模式移入(MOVE)寄存器S。例:40A4使得寄存器A的內(nèi)容復(fù)制到寄存器4。5RST寄存器S與寄存器T的位模式作為補碼表示相加(ADD),求和結(jié)果放在寄存器R。例:5726使得寄存器2與寄存器6的二進制值相加,和放入寄存器7。6RST寄存器S與寄存器T的位模式作為浮點表示值相加(ADD),浮點結(jié)果放在寄存器R。例:634E使寄存器4與寄存器E的浮點值相加,結(jié)果放入寄存器3。一個簡單的機器語言操作碼操作數(shù)說明7RS

13、T寄存器S與寄存器T的位模式做或(OR)操作,結(jié)果放在寄存器R。例:7CB4使得寄存器B與寄存器4的內(nèi)容做或操作,結(jié)果放入寄存器C。8RST寄存器S與寄存器T的位模式做與(AND)操作,結(jié)果放在寄存器R。例:8045使得寄存器4與寄存器5的內(nèi)容做與操作,結(jié)果放入寄存器0。9RST寄存器S與寄存器T的位模式做異或(EXCLUSIVE OR)操作,結(jié)果放在寄存器R。例:95F3使得寄存器F與寄存器3的內(nèi)容做異或操作,結(jié)果放入寄存器5。一個簡單的機器語言操作碼操作數(shù)說明AROX將寄存器R的位模式循環(huán)(ROTATE)右移一位,做X次。每次把低端開始的那個位放入高端。例:A403使得寄存器4的內(nèi)容循環(huán)右

14、移3位。BRXY若寄存器R的位模式等于寄存器0的位模式,則跳轉(zhuǎn)(JUMP)到位于地址XY的存儲單元中的指令。否則繼續(xù)正常執(zhí)行順序。(跳轉(zhuǎn)是通過在執(zhí)行周期將XY復(fù)制進程序計數(shù)器來實現(xiàn)。)例:B43C先比較寄存器4及寄存器0的內(nèi)容。如果兩者相等,則把模式3C置入程序計數(shù)器,所以下一條執(zhí)行的指令將是這個存儲器地址中的那條。否則,不做任何別的事情,程序照常繼續(xù)。C000停止(HALT)執(zhí)行。例:C000使得程序執(zhí)行停止。機器語言運算對象的這部分標識接收數(shù)據(jù)的存儲器單元的地址運算對象的這部分標識哪個寄存器的值需要儲存運算碼3表示把一個寄存器中的內(nèi)容存儲到一個存儲器單元中指令指令35A7的譯碼 2. 示例

15、性的機器語言機器指令的譯碼(解碼):機器語言2. 示例性的機器語言根據(jù)附錄C,解釋下列指令序列的含義:156C166D5056306EC000機器語言P58 問題與練習程序執(zhí)行程序:指令的有序集合 計算機必須將程序復(fù)制到CPU中才能執(zhí)行。即在CPU中解碼和執(zhí)行。程序的執(zhí)行順序和他們在存儲器中保存的順序是一致的,除非程序中包含JUMP指令?,F(xiàn)實中:程序被存放在硬盤中,當執(zhí)行時,先被加載到內(nèi)存里,然后再一條條的復(fù)制到CPU的控制器中執(zhí)行。程序執(zhí)行控制部件中的兩個專用寄存器:程序計數(shù)器程序計數(shù)器中包含了下一條要執(zhí)行的指令的地址指令寄存器指令寄存器用于保存當前正在執(zhí)行的指令算術(shù)/邏輯部件中央處理器寄存

16、器012F總線主存儲器地址單元0001020304FF控制部件程序計數(shù)器指令寄存器程序執(zhí)行從整體上看,由控制部件負責協(xié)調(diào)一個程序的執(zhí)行。對于程序中的每一條指令的執(zhí)行,控制部件要完成的工作都可以被分為三個基本的步驟。取指令譯碼執(zhí)行控制部件是通過重復(fù)執(zhí)行一個算法來實現(xiàn)它的工作的,該算法引導(dǎo)它完成一個稱為機器周期的三步處理。一條指令的執(zhí)行時間 - 一個機器周期1個機器周期內(nèi)的工作程序執(zhí)行機器周期內(nèi)執(zhí)行一條指令的算法1. 按程序計數(shù)器指示的地址從存儲器中讀出一條指令,然后增加程序計數(shù)器的值。2. 對指令寄存器中的位模式進行譯碼。3. 實現(xiàn)指令寄存器里指令所規(guī)定的動作。讀取執(zhí)行譯碼在我們的示例計算機中,

17、計數(shù)器的值應(yīng)該加2程序執(zhí)行 運算對象的這部分是要放在程序計數(shù)器的值。運算對象的這部分指示要與寄存器0比較的寄存器。運算碼B表示,如果指定的寄存器的內(nèi)容與寄存器0的內(nèi)容相同,那么改變程序計數(shù)器的值。指令轉(zhuǎn)移指令的執(zhí)行比較特殊,例如:指令B258的譯碼 1、轉(zhuǎn)移指令需用到指令規(guī)定的運算對象之外的寄存器2、轉(zhuǎn)移指令是唯一能夠改變程序計數(shù)器的值的指令程序執(zhí)行 1. 程序執(zhí)行的一個例子156C166D5056306EC000假定該程序存放在從地址A0開始的連續(xù)的地址里程序執(zhí)行1. 程序執(zhí)行的一個例子程序的執(zhí)行1. 程序執(zhí)行的一個例子程序的執(zhí)行1. 程序執(zhí)行的一個例子156C166D5056306EC00

18、0?程序存放在A0-A9,它所操作的數(shù)據(jù)放在哪里?程序的執(zhí)行2. 程序與數(shù)據(jù) 程序和數(shù)據(jù)都存放在主存儲器中,機器本身不知道哪里是程序,哪里是數(shù)據(jù)。 如果錯誤的把一段數(shù)據(jù)的起始地址填寫到程序計數(shù)器中,控制部件將會把這段數(shù)據(jù)當作程序去執(zhí)行。 程序和數(shù)據(jù)同時存放在存儲器中的優(yōu)點: 一個程序可以操作自身,使之具有學(xué)習的能力。 一個程序也可以把其它的程序當作數(shù)據(jù)操作。程序的執(zhí)行P62 問題與練習算術(shù)/邏輯指令 循環(huán)移位和移位運算循環(huán)移位(circular shift或rotation)邏輯移位(logical shift)算術(shù)移位(arithmetic shift)位模式A3循環(huán)右移1位 由A3(十六進

19、制)表示的位模式各位向右移1位。最右面的位“移出”了,把它填在另一端的空位上最后的位模式,它用D1(十六進制)表示與其他設(shè)備的通信 CPU與主存儲器組成了一個計算機的核心 在這一節(jié)中,我們將稱這個核心為計算機 在本節(jié)中,我們將研究“計算機”如何與外部設(shè)備通信的 例如:磁盤、打印機、鍵盤、鼠標、監(jiān)視器等與其他設(shè)備的通信1. 控制器的作用 一臺“計算機”(核心)與其他設(shè)備之間的通信通常是由我們稱為控制器的中間設(shè)備處理的。 對于個人計算機來說,控制器就是一塊電路板,它是插在計算機的主板上的。 每個控制器本身通常就是一個小的計算機,它有自己的存儲電路和CPU。與其他設(shè)備的通信與其他設(shè)備的通信與其他設(shè)備

20、的通信 控制器把信息和數(shù)據(jù)在兩種形式之間轉(zhuǎn)換: 一是與計算機內(nèi)部特征相適應(yīng)的形式 二是與所連接的外部設(shè)備相適應(yīng)的形式 每個控制器都是為特定類型的設(shè)備設(shè)計的,彼此不能通用。 甚至是同一類型的兩個外部設(shè)備,它們彼此的控制器也不相同。例如:老式磁盤系統(tǒng)的控制器對新式硬盤就不適用。與其他設(shè)備的通信 CPU與控制器的種通信方式:(1)端口 在某些計算機中,機器語言提供了額外的運算碼用于控制器的LOAD和STORE-這些運算碼我們稱之為I/O指令。 I/O指令通過編址系統(tǒng)來標識各種各樣的控制器。賦給每個控制器一個唯一的地址,我們稱為I/O地址,也叫做端口與其他設(shè)備的通信 (2) 存儲器映射輸入/輸出在這種

21、方式中,CPU使用與存儲器通信相同的運算碼來和各種控制器通信 CPU如何區(qū)分當前通信的對象是某個控制器還是主存儲器呢? 每個控制器被設(shè)計成響應(yīng)唯一的一組主存儲器的地址,而主存儲器被設(shè)計成忽略對這些地址的引用(即:主存儲器不能使用這些地址)。與其他設(shè)備的通信 存儲器映射輸入/輸出與其他設(shè)備的通信2.直接內(nèi)存存取-DMA 控制器直接存取主存儲器的能力稱為-DMA 如圖2.13中所示,控制器是連接在總線上的,當CPU不使用總線時,控制器可以利用總線與主存儲器通信。 DMA的好處在于,它大大提高了計算機的性能與其他設(shè)備的通信馮諾依曼瓶頸 位模式必須在CPU與主存儲器、CPU與控制器、各個控制器與主存儲

22、器之間進行傳送。 協(xié)調(diào)總線上的數(shù)據(jù)傳輸就是一個重要的研究課題。 即使是杰出的設(shè)計,中央總線也可能成為CPU與控制器競爭總線存取的障礙 這種障礙稱為 馮諾依曼瓶頸 DMA的使用對于增加計算機總線所處理的通信量有決定性的影響。與其他設(shè)備的通信3.握手 在計算機兩個部件之間的數(shù)據(jù)傳輸很少是單向的。 例如: 打印機 握手:計算機與外部設(shè)備之間交換設(shè)備狀態(tài)的信息,協(xié)調(diào)它們之間的活動的過程。 握手通常涉及一個狀態(tài)字 狀態(tài)字是一個位模式,由外部設(shè)備生成并發(fā)送給控制器。它的各個二進制為反映了該設(shè)備的各種狀態(tài)。與其他設(shè)備的通信 4.流行的通信媒介 計算機設(shè)備間的通信的兩種方式:串行、并行 并行通信:若干信號同時

23、傳輸,每個信號都在各自的“線路”上。即:數(shù)據(jù)在多個信道上同時傳輸。數(shù)據(jù)線數(shù)目與傳輸數(shù)據(jù)相同。速度快,但是鏈路復(fù)雜。如:計算機的內(nèi)部總線。 串行通信:指在一條信號線上一個信號節(jié)一個信號地傳輸。即:數(shù)據(jù)在一個信道上一位一位依次傳輸。數(shù)據(jù)線數(shù)目與與傳輸數(shù)據(jù)無關(guān)。優(yōu)點是只需要一條相對簡單的數(shù)據(jù)路徑,可以在短距離內(nèi)提供相對高速的數(shù)據(jù)傳輸。與其他設(shè)備的通信串行通信并行通信與其他設(shè)備的通信流行的通信媒介 MODEM(調(diào)制解調(diào)器) DSL(數(shù)字用戶電路) OPTICAL FIBRE (光纖) CATV(有線電視) WIRELESS COMMUNICATION (無線通信)與其他設(shè)備的通信 5. 數(shù)據(jù)通信速率 傳輸數(shù)據(jù)位的速率是以每秒比特數(shù)(bits per second,bps)度量的。常用的單位有: kbps(千bps,等于103bps) Mbps(兆bps,等于106bps) Gbps(吉bp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論