按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,*,*,*,p.01,第01章 電腦架構,1,第01章 電腦架構 1,Von-Newman Machine,透過,內儲程式,的控制,配合適當(時)的,Input,,產生正確的,Output,的機器。,電腦的5大架構,C.U.(,C,ontrol,U,nit),A.L.U.(,A,rithmetic&,L,ogic,U,nit),Memory,Input,Output,C.P.U.,(,C,entral,P,rocessing,U,nit),I/O,有缺陷,所以需要輔助記憶體,2,Von-Newman Machine透過內儲程式的控制,配合,電腦硬體架構,程式,資料,Memory,CPU,C.U.,A.L.U.,Input,Output,A.S.,(,A,uxiliary,S,torage),輔助記憶體,指令,資料存取,3,電腦硬體架構CPUC.U.A.L.U.InputOutput,Memory,Memory實作之缺陷,速度太慢,階層式記憶體,(Memory Hierarchy)解決,如:快取記憶體(Cache),容量有限,揮發性記憶體,(Volatile Storage),快閃記憶體(Flash Memory),RAM,(Random Access Memory),Main Memory主體,有volatile。,ROM,(Read Only Memory),唯讀,沒有volatile,將程式燒入其中,開機時將作業系統(Operating System)搬入Memory中。,A.S.,解決,4,MemoryMemory實作之缺陷A.S.解決4,Memory,ROM儲存程式分類,自我檢查程式,Bootstrap載入,:將OS載入Memory中,(Bootstrap Loader):靴帶程式,可以上工了!,BIOS,(Basic Input Output System),所有有關I/O操控程式的集合,以備其他程式呼叫。,5,MemoryROM儲存程式分類5,Memory,Register 暫存器(工人的口袋),一排Flip/Flop(正反器),儲存一組資訊,速度極快,存CPU最近馬上要用/常用的資訊(資料,位址,指令),CPU內有許多Registers(現在約十幾個,以後會更多250個,Register可分為,Data Register,General-Purpose Register:AX,BX,CX,DX等,Accumulator(累加器):Acc等,Control Register,Special-Purpose Register,慢,CPU,Memory,暫存器,工人,倉庫,資料,指令,6,MemoryRegister 暫存器(工人的口袋)慢CPU,Memory,Control Register,PC,:Program Counter(計數器),存電腦正要/將要執行的指令的位址,IR,:Instruction Register,存電腦正在執行的指令內容,MAR,(Memory Address Register),決定Memory實際大小之上限,MBR,(Memory Buffer Register),決定電腦之位元數,Flag,Register(旗標暫存器),存一串bits,分成數個欄位,每個欄位紀錄正在執行程式的某一狀態,代表某個狀態發生了沒?,CU,ALU,PC,IR,Memory,位址,+,指令,CPU,.,1 Giga Bytes,=2,30,MAR,MBR,位址,30bits,資料(指令),7,MemoryControl RegisterCUALUPCI,Co-Processor副處理器(副手),能執行指令,處理資料的電路,平時不作用,只執行特定指令,專門負責CPU,不會做,:如80386時代80486之80387浮點算器,目前之DSP數位訊號處理器(Digital Signal Processor)等。,不願做,:如I/O指令由I/O processor負責,因為,CPU執行速度快,(us),而,I/O速度慢,(ms)。為使CPU速度不被I/O拖住,所以以I/O processor代為執行,可使CPU以,Multi-programming,方式,多工處理多個程式。,I/O processor又稱為channel(通道),PC(Personal Computer)以,DMA,(Direct Memory Access)代替I/O processor。,沒有I/O processor,窮人的I/O processor,8,Co-Processor副處理器(副手)能執行指令,處理資料,Bus(匯流排)分類,Address bus,Data Bus,Control Bus,CPU,.,MAR,MBR,R/W Address單向,Memory,ALE送位址門鎖,DIR方向,DEN 送資料 雙向,Address Letch Enable,Data ENable,9,Bus(匯流排)分類Address bus CPU.MA,C.U.:Control Unit,CPU/電腦中最複雜的部分,製作方式,Hardwired,(硬體接線):將C.U.視為一種,邏輯電路,1940s1960s,1985s未來,缺點:,工程浩大費時修改不易,優點:速度快,Micro-programmed,(微程式):將C.U.視為一,ROM,(Read Only Memory),1960s1980s中,缺點:反應速度慢,優點發展迅速修改方便,10,C.U.:Control Unit CPU/電腦中最複雜的,指令運作原理,指令:機器碼 Machine code(一串0/1),抓指令,執行,OP-code,Operands,Operands,Operands,運算碼,運算元,動作,對象,11,指令運作原理指令:機器碼 Machine code(一串0,指令運作原理,Time,Instruction Cycle(指令週期),S1,S2,S3,S4,S1:ADD DX,100BX,Fetch Instruction,把指令抓進Memory中,Decode,解碼,CU發出該Op-code之控制訊號,Operand Addressing,找出運算元在Memory中的位址,Operand Fetch,抓取運算元,Execution,執行運算,Write Back,將執行結果寫回Memory中,12,指令運作原理TimeInstruction Cycle(指,指令運作原理,CISC,:,C,omplex,I,nstruction,S,et,C,omputer,複雜 指令 集 電腦,六階段,RISC,:,R,educed,I,nstruction,S,et,C,omputer,簡單 指令 集 電腦,四階段,ADD AX,100BX,AXAX+Mem100+BX,Fetch Ins.,Decode,Operand Addressing,Operand Fetch,Execution,Write back,Fetch,Decode,Execution,Write back,13,指令運作原理CISC:Complex Instructio,指令運作原理,RISC,vs.,CISC,CISC,:1970s因以Micro-Programmed來製作C.U的方式(軟體)被重用,C.U的大小及功能被不斷擴充,所以指令集中的指令數目增加到500800個之多。,RISC,:1970s末,IBM-801以Hardwired的方式(硬體)製作C.U,所需指令少,速度快。,RISC指令集架構,是由David Peterson(U.C Berkeley)及 John Hennessy(Stanford)所發揚光大。,Why RISC?,80%的CPU時間執行20%的基本指令。,14,指令運作原理RISC vs.CISC14,RISC,vs.,CISC,RISC,CISC,指令數目,100個之內,數百個,定址法,固定數種(Direct,Immediate等),複雜而變化多,指令長度與格式,固定(4Bytes),各指令隨需要而不同,指令週期,固定,各指令隨需要而不同,控制邏輯,Hardwired,Microprogrammed,程式所需指令數目,較多,較少,特性,較適用於Pipeline,Cache等設計,程式設計較簡單,Code Size,大,小,代表機型,ALPHA,Power PC等,僅Pentium系列,Register數目,多(數十數百個),少(數個),15,RISC vs.CISCRISCCISC指令數目100個之,指令運作原理,Pipeline:將,指令,分成數個獨立階段(stage),分別由不同之硬體負責,使連續指令能同時按順序在不同階段,重疊(overlap),執行,Time,Instruction Cycle(指令週期),F1,S1,S2,S3,S4,D1,E1,W1,F1,D1,E1,W1,F1,D1,E1,W1,F1,D1,E1,W1,16,指令運作原理Pipeline:將指令分成數個獨立階段(sta,指令運作原理,Pipeline,三大危障,(Hazard),Structural Hazard,(結構危障):,因硬體資源衝突,LOAD AX,100BX,Data Hazard,(資料危障):,因連續指令有資料相依的關係,Control Hazard,(控制危障):,因更改控制流程指令,如:Jump,Call,Return,Int 等,F1,S1,S2,S3,D1,E1,W1,F1,D1,E1,W1,F1,D1,E1,W1,同時作Memory Access,17,指令運作原理Pipeline三大危障(Hazard)F1S,指令運作原理,Problems,增加電腦執行效率(performance)的方法?,Pipeline:可加快程式執行速度,Cache:可減少程式執行時間,加快指令執行速度的方法?,Cache,Pipeline,Pipeline將延長指令週期(latency),18,指令運作原理Problems18,DMA(Direct Memory Access),窮人的I/O processor,除CPU之外唯一會主動透過Bus存取Memory,來執行I/O動作。(協調Bus,Cycle Stealing),DMA使用Bus作I/O的方式,Cycle Stealing,:DMA向CPU借Bus,趁CPU不用Bus時,作一次存取。,Burst Mode I/O,一旦借到Bus使用權,就一直用到完成I/O為止。,CPU,DMAC,Memory,Buffer,Disk,Buffer,Bus,*DMA使用Bus的優先權比CPU高?,因為DMA使用Bus的頻率遠比CPU低,19,DMA(Direct Memory Access)窮人的I,記憶體儲存裝置,Virtual Memory,(虛擬記憶體),使user 執行program時,能不受限於實際memory的大小,主要是O.S(作業系統)的技術配合硬體完成)。,Memory Hierarchy Concept,(階層式記憶體概念),Cache,(快取記憶體),Disk/Tape,(磁碟/磁帶),20,記憶體儲存裝置Virtual Memory(虛擬記憶體)2,記憶體儲存裝置,Memory Hierarchy Concept,(階層式記憶體概念),透,過多層次,記憶元件,考量,效能,(Performance),,容量,(capacity),,成本,(Cost)等因素,所作成的記憶體配置。,Register,Cache,Main Memory,Disk,Tape,愈快,速度,愈慢,愈昂貴,價格,愈便宜,愈小,容量,愈大,21,記憶體儲存裝置Memory Hierarchy Concep,記憶體儲存裝置,Main,Memory,ROM,RAM,Mask