第四章 通用處理器_第1頁
第四章 通用處理器_第2頁
第四章 通用處理器_第3頁
第四章 通用處理器_第4頁
第四章 通用處理器_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)設(shè)計:軟硬件統(tǒng)一嵌入式系統(tǒng)設(shè)計:軟硬件統(tǒng)一第四章第四章 通用處理器:軟件通用處理器:軟件什么是通用處理器?什么是通用處理器? 通用處理器的基本結(jié)構(gòu)通用處理器的基本結(jié)構(gòu)通用處理器中的運算通用處理器中的運算 123概概 述述從程序員的角度來看通用處理器從程序員的角度來看通用處理器 456ASIP 通用處理器的開發(fā)環(huán)境通用處理器的開發(fā)環(huán)境 7設(shè)計通用處理器設(shè)計通用處理器 通用處理器簡介通用處理器簡介v通用處理器通用處理器 可執(zhí)行多種計算任務(wù)的處理器可執(zhí)行多種計算任務(wù)的處理器 低廉的單位成本:通過生產(chǎn)大量的成品來分散低廉的單位成本:通過生產(chǎn)大量的成品來分散NRE成本成本 Motorola半導(dǎo)

2、體生產(chǎn)的半導(dǎo)體生產(chǎn)的68HC05單片機僅單片機僅96年一年年一年 就賣出就賣出5億個。億個。 若規(guī)劃付出較高的若規(guī)劃付出較高的NRE成本,則將謹慎設(shè)計,以求獲得成本,則將謹慎設(shè)計,以求獲得性能更好,面積更小,功耗更低的產(chǎn)品性能更好,面積更小,功耗更低的產(chǎn)品 嵌入式系統(tǒng)設(shè)計者負擔的嵌入式系統(tǒng)設(shè)計者負擔的NRE成本更低,設(shè)計的上市時成本更低,設(shè)計的上市時間更短,靈活性更高間更短,靈活性更高 通常說微處理器,通常說微處理器,“微微”是指處理器被用于單片或幾個是指處理器被用于單片或幾個片上的情況。片上的情況?;窘Y(jié)構(gòu)基本結(jié)構(gòu)v控制單元和數(shù)據(jù)路控制單元和數(shù)據(jù)路徑徑 單用途處理器的相單用途處理器的相似點似

3、點v不同點不同點 通用的數(shù)據(jù)路徑通用的數(shù)據(jù)路徑 控制單元中不存儲控制單元中不存儲算法,算法程序通算法,算法程序通常都是存儲在存儲常都是存儲在存儲器中器中ProcessorControl unitDatapathALURegistersIRPCControllerMemoryI/OControl/Status數(shù)據(jù)路徑數(shù)據(jù)路徑v加載數(shù)據(jù) 將存儲單元的值讀入數(shù)據(jù)路徑內(nèi)的寄存器中vALU的運算 將特定寄存器的值傳到ALU中,再將經(jīng)計算后得到的值返回到寄存器中v存儲數(shù)據(jù) 將ALU寄存器中的讀入存儲單元ProcessorControl unitDatapathALURegistersIRPCControl

4、lerMemoryI/OControl/Status10.10+11111控制單元控制單元v控制單元:為數(shù)據(jù)路徑配置合適的操作控制單元:為數(shù)據(jù)路徑配置合適的操作 目標操作(指令)的運行時序以程序的形式存儲在Memory中v指令周期:可將指令周期分解成很多個子操作,也可使每個子操作對應(yīng)一個時鐘周期 取指令:將下一條指令傳到IR中 解碼:解析指令蘊含的意義 取操作數(shù):將Memory中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)路徑中的寄存器 執(zhí)行:使數(shù)據(jù)在ALU中移動 存儲結(jié)果:將數(shù)據(jù)路徑寄存器中運算結(jié)果返回到Memory控制單元控制單元ProcessorControl unitDatapathALURegistersIRP

5、CController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R1控制單元中的子操作控制單元中的子操作v取指令 將下一條指令傳到IR中 程序計數(shù)器程序計數(shù)器PC,總是指向下一條指總是指向下一條指令令 IR:保存取到的:保存取到的指令指令ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101stor

6、e M501, R1102R0R1100load R0, M500控制單元中的子操作控制單元中的子操作v解碼 解析指令的意義ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R1100load R0, M500控制單元中的子操作控制單元中的子操作v取操作數(shù) 將Memory中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)路徑的寄存器中ProcessorControl unitDatapathALURegis

7、tersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R1100load R0, M50010控制單元中的子操作控制單元中的子操作v執(zhí)行 使數(shù)據(jù)在ALU中移動 這個子操作中的這條指令的作用不太明顯ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R

8、1102R0R1100load R0, M50010控制單元中的子操作控制單元中的子操作v存儲結(jié)果 將數(shù)據(jù)路徑寄存器中運算結(jié)果返回到Memory 這個子操作中的這條指令的作用不太明顯ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R1100load R0, M50010指令周期指令周期ProcessorControl unitDatapathALURegistersIRPC

9、Controller MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R1PC=10010Fetch opsExec.Store resultsclkFetchload R0, M500Decode100指令周期指令周期ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102

10、R0R110PC=100FetchDecodeFetch opsExec.Store resultsclkPC=101inc R1, R0FetchFetch ops+111Exec.Store resultsclk101Decode指令周期指令周期ProcessorControl unitDatapathALURegistersIRPCController MemoryI/OControl/Status10.load R0, M500500501100inc R1, R0101store M501, R1102R0R11110PC=100FetchDecodeFetch opsExec.St

11、ore resultsclkPC=101FetchDecodeFetch opsExec.Store resultsclkPC=102store M501, R1FetchFetch opsExec.11Store resultsclkDecode102架構(gòu)考慮架構(gòu)考慮vN-bits處理器 N-bitsALU,寄存器,總線,存儲器數(shù)據(jù)接口 嵌入式中常用:8bits,16bits,32bits 臺式機/服務(wù)器:32bits,64bitsvPC的大小決定地址空間的的大小ProcessorControl unitDatapathALURegistersIRPCControllerMemoryI/OC

12、ontrol/Status架構(gòu)考慮架構(gòu)考慮v時鐘頻率 周期的倒數(shù) 必須滿足處理器中最長的存儲器間數(shù)據(jù)傳輸時間 存儲器的存取往往是哪個最長的ProcessorControl unitDatapathALURegistersIRPCControllerMemoryI/OControl/Status流水線流水線提高指令的效率提高指令的效率12345678123456781234567812345678Fetch-instr.DecodeFetch ops.ExecuteStore res.1234567812345678123456781234567812345678WashDryTimeNon-p

13、ipelinedPipelinedTimeTimePipelinedpipelined instruction executionnon-pipelined dish cleaningpipelined dish cleaningInstruction 1超標量和超長指令字結(jié)構(gòu)超標量和超長指令字結(jié)構(gòu)v提高性能的途徑提高性能的途徑 加快時鐘(有很大的局限性) 流水線:將指令分段,是某些段在時間上可以并行處理 加入額外的ALU來及時處理兩個或兩個以上的指令流 超標量:將數(shù)據(jù)路徑寄存器中運算結(jié)果返回到 標量:不帶方向 按批取指令,并使單次執(zhí)行的指令數(shù)達到最大 (這種方式需要額外的硬件來檢測獨立指令)

14、 超長指令字:存儲器的每個字中存有多個獨立指令 依賴編譯器來檢測和調(diào)度指令兩種存儲器結(jié)構(gòu)兩種存儲器結(jié)構(gòu)v普林斯頓結(jié)構(gòu) 數(shù)據(jù)和程序共享同一個存儲空間 較少的存儲器連接線v哈佛結(jié)構(gòu) 分別存入程序存儲空間和數(shù)據(jù)存儲空間 程序和數(shù)據(jù)分別使用存取線ProcessorProgram memoryData memoryProcessorMemory(program and data)HarvardPrinceton高速緩沖存儲器(高速緩沖存儲器(Cache)v存儲器訪問速度慢vCache是處理器附近容量小、速度快的存儲空間 存儲處理器最新用過存儲器地址和它臨近的地址 有命中率和失誤率,要考慮這兩者的比率Pr

15、ocessorMemoryCacheFast/expensive technology, usually on the same chipSlower/cheaper technology, usually on a different chip程序員的觀點程序員的觀點v程序員無需了解處理器的結(jié)構(gòu)和運算的細節(jié)程序員無需了解處理器的結(jié)構(gòu)和運算的細節(jié) 只需了解指令和它們執(zhí)行的操作即可v兩種不同層次的語言指令兩種不同層次的語言指令 匯編語言 結(jié)構(gòu)化語言(C,C+,Java等)v現(xiàn)有的很多程序開發(fā)都是使用結(jié)構(gòu)化語言現(xiàn)有的很多程序開發(fā)都是使用結(jié)構(gòu)化語言 但匯編語言依然非常必要 當需要對硬件設(shè)備直接作用時

16、,匯編語言就顯得更有優(yōu)勢,能更好對應(yīng)硬件的時序約束和逐比特的操作匯編指令集匯編指令集v指令集指令集 為處理器制定合法的指令集為處理器制定合法的指令集 數(shù)據(jù)傳輸:數(shù)據(jù)在數(shù)據(jù)傳輸:數(shù)據(jù)在memory/register, register/register, I/O間的傳輸間的傳輸 算術(shù)算術(shù)/邏輯:在邏輯:在ALU和寄存器間的數(shù)據(jù)傳輸與返回和寄存器間的數(shù)據(jù)傳輸與返回 分支:在下一條指令不是簡單的用分支:在下一條指令不是簡單的用PC+1就能取到時,決就能取到時,決定其確定的定其確定的PC值值opcodeoperand1operand2opcodeoperand1operand2opcodeoperan

17、d1operand2opcodeoperand1operand2.Instruction 1Instruction 2Instruction 3Instruction 4一個簡單的指令集一個簡單的指令集 opcode operandsMOV Rn, directMOV Rn, RmADD Rn, Rm0000Rndirect0010Rn0100RmRnRn = M(direct)Rn = Rn + RmSUB Rn, Rm0101RmRn = Rn - RmMOV Rn, #immed.0011RnimmediateRn = immediateAssembly instruct.First b

18、yteSecond byteOperationJZ Rn, relative0110RnrelativePC = PC+ relative (only if Rn is 0)RnMOV direct, Rn0001RndirectM(direct) = RnRmM(Rn) = Rm尋址方式尋址方式DataImmediateRegister-directRegisterindirectDirectIndirectDataOperand fieldRegister addressRegister addressMemory addressMemory addressMemory addressDa

19、taDataMemory addressDataAddressingmodeRegister-filecontentsMemorycontents程序?qū)嵗绦驅(qū)嵗齣nt total = 0;for (int i=10; i!=0; i-) total += i;/ next instructions.C programMOV R0, #0; / total = 0MOV R1, #10; / i = 10JZ R1, Next; / Done if i=0ADD R0, R1; / total += iMOV R2, #1; / constant 1JZ R3, Loop; / Jump al

20、waysLoop:Next:/ next instructions.SUB R1, R2; / i-Equivalent assembly programMOV R3, #0; / constant 00123567v程序和數(shù)據(jù)存儲空間程序和數(shù)據(jù)存儲空間 嵌入式處理器的空間是非常有限的嵌入式處理器的空間是非常有限的e.g., 64 Kbytes program, 256 bytes of RAM (可擴展可擴展)v處理器中有多少寄存器?處理器中有多少寄存器? 這是匯編程序員要非常注意的問題這是匯編程序員要非常注意的問題vl/O 處理器怎樣和外設(shè)通信呢?處理器怎樣和外設(shè)通信呢?v中斷和中斷程序中

21、斷和中斷程序程序員的考慮程序員的考慮v我們學習過的微機原理,單片機,使用的智能手機,我們學習過的微機原理,單片機,使用的智能手機,這里面的微處理器,我們了解它們的結(jié)構(gòu)嗎?這里面的微處理器,我們了解它們的結(jié)構(gòu)嗎?微處理器的體系結(jié)構(gòu)微處理器的體系結(jié)構(gòu)實例:驅(qū)動并行端口實例:驅(qū)動并行端口v利用匯編程序,我們可以配置利用匯編程序,我們可以配置PC并行端口實并行端口實現(xiàn)數(shù)字現(xiàn)數(shù)字I/O的應(yīng)用的應(yīng)用 通過讀通過讀/寫三個特殊寄存器來完成下面表中并行端寫三個特殊寄存器來完成下面表中并行端口的引腳和相應(yīng)寄存器口的引腳和相應(yīng)寄存器 并行端口監(jiān)測器監(jiān)測端口并控制相應(yīng)并行端口監(jiān)測器監(jiān)測端口并控制相應(yīng)LED燈的開燈的

22、開關(guān)關(guān)LPT Connection PinI/O DirectionRegister Address1Output0th bit of register #22-9Output0th bit of register #214,16,17Output1,2,3th bit of register #210,11,12,13,15Input6,7,5,4,3th bit of register #1PCParallel portPin 13Pin 2SwitchLED實例:驅(qū)動并行端口實例:驅(qū)動并行端口; This program consists of a sub-routine that re

23、ads; the state of the input pin, determining the on/off state; of our switch and asserts the output pin, turning the LED; on/off accordingly.386CheckPortprocpushax; save the contentpushdx; save the contentmovdx, 3BCh + 1; base + 1 for register #1inal, dx; read register #1and al, 10h; mask out all bu

24、t bit # 4cmpal, 0; is it 0?jneSwitchOn; if not, we need to turn the LED onSwitchOff:movdx, 3BCh + 0; base + 0 for register #0inal, dx; read the current state of the portandal, f7h; clear first bit (masking)outdx, al; write it out to the portjmpDone ; we are doneSwitchOn:movdx, 3BCh + 0; base + 0 for

25、 register #0inal, dx; read the current state of the portoral, 01h; set first bit (masking)outdx, al; write it out to the portDone: popdx; restore the contentpopax; restore the contentCheckPortendpextern “C” CheckPort(void);/ defined in / assembly void main(void) while( 1 ) CheckPort();LPT Connection

26、 PinI/O DirectionRegister Address1Output0th bit of register #22-9Output0th bit of register #214,16,17Output1,2,3th bit of register #210,11,12,13,15Input6,7,5,4,3th bit of register #1PCParallel portPin 13Pin 2SwitchLED操作系統(tǒng)操作系統(tǒng)v為應(yīng)用程序提供低級服務(wù)的軟件為應(yīng)用程序提供低級服務(wù)的軟件 文件管理、硬盤存取文件管理、硬盤存取 鍵盤、顯示器接口鍵盤、顯示器接口 調(diào)度多種程序使其并

27、行執(zhí)行,或單一程序的多線程執(zhí)行調(diào)度多種程序使其并行執(zhí)行,或單一程序的多線程執(zhí)行 編寫程序使系統(tǒng)調(diào)用操作系統(tǒng)編寫程序使系統(tǒng)調(diào)用操作系統(tǒng)DB file_name “out.txt” - store file nameMOV R0, 1324 - system call “open” idMOV R1, file_name - address of file-nameINT 34 - cause a system callJZ R0, L1 - if zero - error . . . read the fileJMP L2 - bypass error cond.L1: . . . handle

28、 the errorL2:開發(fā)環(huán)境開發(fā)環(huán)境v開發(fā)處理器開發(fā)處理器 此處理器可滿足我們編寫和調(diào)試程序的要求常用在常用在PCv目標處理器目標處理器 可支持嵌入式系統(tǒng)的處理器,處理器上的程序可在嵌可支持嵌入式系統(tǒng)的處理器,處理器上的程序可在嵌入式系統(tǒng)中運行入式系統(tǒng)中運行與開發(fā)處理器有許多的不同之處與開發(fā)處理器有許多的不同之處Development processorTarget processor軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境v編譯程序 交叉編譯:程序在一個處理器上運行,但代碼在另一處理器上生成v匯編程序v鏈接程序鏈接程序v調(diào)試程序調(diào)試程序v解析程序解析程序CompilerLinkerC FileC Fi

29、leAsm. FileBinary FileBinary FileBinary FileExec. FileAssemblerLibraryImplementation PhaseDebuggerProfilerVerification Phase運行一個程序運行一個程序v如果開發(fā)處理器和目標處理器不同,怎樣才能運如果開發(fā)處理器和目標處理器不同,怎樣才能運行此編譯代碼?行此編譯代碼? 將代碼下載到目標處理器 仿真v仿真仿真 硬件描述語言缺點是速度很慢,且經(jīng)常需要反復(fù)調(diào)試 指令集仿真程序程序在開發(fā)處理器上運行,但指令在目標處理器上執(zhí)行一個簡單處理器的指令集仿真程序一個簡單處理器的指令集仿真程序#

30、include typedef struct unsigned char first_byte, second_byte; instruction;instruction program1024; /instruction memoryunsigned char memory256; /data memoryvoid run_program(int num_bytes) int pc = -1; unsigned char reg16, fb, sb; while( +pc 4 ) case 0: regfb & 0 x0f = memorysb; break; case 1: mem

31、orysb = regfb & 0 x0f; break; case 2: memoryregfb & 0 x0f = regsb 4; break; case 3: regfb & 0 x0f = sb; break; case 4: regfb & 0 x0f += regsb 4; break; case 5: regfb & 0 x0f -= regsb 4; break; case 6: pc += sb; break; default: return 1; return 0;int main(int argc, char *argv) FIL

32、E* ifs; If( argc != 2 | (ifs = fopen(argv1, “rb”) = NULL ) return 1; if (run_program(fread(program, sizeof(program) = 0) print_memory_contents();return(0); else return(-1);測試和調(diào)試測試和調(diào)試Implementation PhaseImplementation PhaseVerification PhaseVerification PhaseEmulatorDebugger/ ISSProgrammerDevelopment

33、 processor(a)(b)External toolsvISS 讓我們能夠更好的控制時間:設(shè)置斷點,查看寄存器的值,讓我們能夠更好的控制時間:設(shè)置斷點,查看寄存器的值,逐步執(zhí)行逐步執(zhí)行. 但其和真實的環(huán)境無法相互作用但其和真實的環(huán)境無法相互作用v下載到板子下載到板子 利用器件編程器利用器件編程器 在真實的環(huán)境中運行,但無法控制運行的步驟在真實的環(huán)境中運行,但無法控制運行的步驟v仿真器仿真器 在真實的環(huán)境中以和期望的速度相當?shù)乃俾蔬\行在真實的環(huán)境中以和期望的速度相當?shù)乃俾蔬\行 可以通過可以通過PC實現(xiàn)對運行的局部可控實現(xiàn)對運行的局部可控測試和調(diào)試測試和調(diào)試v通用處理器通用處理器 有時因為其

34、通用性導(dǎo)致不能有效執(zhí)行目標應(yīng)用有時因為其通用性導(dǎo)致不能有效執(zhí)行目標應(yīng)用e.g., 音頻處理器需要很多的音頻緩存區(qū),需要處理大型數(shù)據(jù)陣列音頻處理器需要很多的音頻緩存區(qū),需要處理大型數(shù)據(jù)陣列 但使用單用途處理器來完成需耗費高昂的但使用單用途處理器來完成需耗費高昂的NRE成本,且其成本,且其不可編程不可編程vASIPs專為某些特殊的應(yīng)用而設(shè)計專為某些特殊的應(yīng)用而設(shè)計 包含專為特定應(yīng)用而設(shè)計體系結(jié)構(gòu)包含專為特定應(yīng)用而設(shè)計體系結(jié)構(gòu)e.g., 嵌入式控制,數(shù)字信號處理,音頻處理,網(wǎng)絡(luò)處理,嵌入式控制,數(shù)字信號處理,音頻處理,網(wǎng)絡(luò)處理,通信通信. 可編程可編程專用指令集處理器(專用指令集處理器(ASIP)常

35、見的常見的ASIP:微控制器:微控制器v專用于嵌入式控制應(yīng)用專用于嵌入式控制應(yīng)用 讀傳感器,設(shè)置驅(qū)動器讀傳感器,設(shè)置驅(qū)動器 采用事件觸發(fā)的模式采用事件觸發(fā)的模式 數(shù)碼相機、微波爐、洗衣機數(shù)碼相機、微波爐、洗衣機.v微控制器特點微控制器特點 可在處理器所在的可在處理器所在的IC芯片上集成多個外設(shè)芯片上集成多個外設(shè)定時器、數(shù)模轉(zhuǎn)換器、串行通信接口等等定時器、數(shù)模轉(zhuǎn)換器、串行通信接口等等對程序員來說微控制器是一個整體對程序員來說微控制器是一個整體 某些程序和數(shù)據(jù)存儲器也可以集成在片上某些程序和數(shù)據(jù)存儲器也可以集成在片上 程序員可以直接訪問片上的許多引腳程序員可以直接訪問片上的許多引腳 可以為嵌入式系

36、統(tǒng)常用的操作提供專用指令(比如位處理)可以為嵌入式系統(tǒng)常用的操作提供專用指令(比如位處理)常見的常見的ASIP:數(shù)字信號處理(:數(shù)字信號處理(DSP)v專用于數(shù)字信號處理專用于數(shù)字信號處理 處理大量數(shù)字信號,一般為數(shù)據(jù)流的處理處理大量數(shù)字信號,一般為數(shù)據(jù)流的處理 快速實現(xiàn)數(shù)據(jù)傳輸快速實現(xiàn)數(shù)據(jù)傳輸 音頻數(shù)據(jù)包,數(shù)字電視,音樂合成器音頻數(shù)據(jù)包,數(shù)字電視,音樂合成器vDSP的特點的特點 幾個指令執(zhí)行單元幾個指令執(zhí)行單元 乘并累加單周期指令乘并累加單周期指令 快速有效的向量運算快速有效的向量運算其它的定制化其它的定制化ASIPv從前,微處理器被做成芯片供開發(fā)者使用從前,微處理器被做成芯片供開發(fā)者使用v

37、現(xiàn)在,微處理器被認為是現(xiàn)在,微處理器被認為是IP核核 如可綜合的如可綜合的VHDL程序模塊程序模塊v有時,將定制的數(shù)據(jù)路徑和一些專用指令結(jié)合,或有時,將定制的數(shù)據(jù)路徑和一些專用指令結(jié)合,或裁減一些指令裁減一些指令 可能會優(yōu)化性能、功耗和尺寸可能會優(yōu)化性能、功耗和尺寸 定制的定制的ASIP需要編譯程序和調(diào)試程序需要編譯程序和調(diào)試程序 許多開發(fā)需要用結(jié)構(gòu)化語言許多開發(fā)需要用結(jié)構(gòu)化語言 使用自動生成編譯程序和調(diào)制程序使用自動生成編譯程序和調(diào)制程序 使用編譯器使用編譯器選擇微處理器選擇微處理器v 注意事項注意事項 速度、功耗、尺寸、花費速度、功耗、尺寸、花費 其它:開發(fā)環(huán)境,之前需具備的知識、許可其它

38、:開發(fā)環(huán)境,之前需具備的知識、許可.v 速度:怎樣評估一個處理器的速度?速度:怎樣評估一個處理器的速度? 時鐘速度時鐘速度但指令可能會有不同的周期但指令可能會有不同的周期 每秒指令數(shù)每秒指令數(shù)但每個指令的復(fù)雜度不同,執(zhí)行也不同但每個指令的復(fù)雜度不同,執(zhí)行也不同 Dhrystone基本程序,基本程序,1984年由年由Reinhold發(fā)明,專門用于性能比較發(fā)明,專門用于性能比較 MIPS: 1 MIPS = 1757 Dhrystones per second (Digitals VAX 11/780). A.k.a. Dhrystone MIPS. So, 750 MIPS = 750*1757

39、 = 1,317,750 Dhrystones per second SPEC:可執(zhí)行的基準程序集,以臺式機為方向:可執(zhí)行的基準程序集,以臺式機為方向 EEMBC:5套基準程序?qū)?yīng)于日常中套基準程序?qū)?yīng)于日常中5個嵌入式系統(tǒng)應(yīng)用領(lǐng)域個嵌入式系統(tǒng)應(yīng)用領(lǐng)域通用處理器通用處理器 ProcessorClock speedPeriph.Bus WidthMIPSPowerTrans.PriceGeneral Purpose ProcessorsIntel PIII1GHz2x16 KL1, 256KL2, MMX3290097W7M$900IBMPowerPC750X550 MHz2x32 KL1, 2

40、56KL232/6413005W7M$900MIPSR5000250 MHz2x32 K2 way set assoc.32/64NANA3.6MNAStrongARMSA-110233 MHzNone322681W2.1MNAMicrocontrollerIntel805112 MHz4K ROM, 128 RAM,32 I/O, Timer, UART810.2W10K$7Motorola68HC8113 MHz4K ROM, 192 RAM,32 I/O, Timer, WDT,SPI8.50.1W10K$5Digital Signal ProcessorsTI C5416160 MHz

41、128K, SRAM, 3 T1Ports, DMA, 13ADC, 9 DAC16/32600NANA$34LucentDSP32C80 MHz16K Inst., 2K Data,Serial Ports, DMA3240NANA$75設(shè)計通用途處理器設(shè)計通用途處理器 v不是嵌入式系統(tǒng)設(shè)計者通常做的事 可以從整體看出是如何從頂?shù)降走M行設(shè)計的 事實上不采用這事實上不采用這種方法進行處理種方法進行處理器的設(shè)計器的設(shè)計Declarations: bit PC16, IR16; bit M64k16, RF1616;Aliases: op IR15.12 rn IR11.8 rm IR7.4 di

42、r IR7.0 imm IR7.0 rel IR7.0ResetFetchDecodeIR=MPC;PC=PC+1Mov1RFrn = MdirMov2Mov3Mov4AddSubJz011001010100001100100001op = 0000Mdir = RFrnMrn = RFrmRFrn= immRFrn =RFrn+RFrmRFrn = RFrn-RFrmPC=(RFrn=0) ?rel :PCto Fetchto Fetchto Fetchto Fetchto Fetchto Fetchto FetchPC=0;from states belowFSMD簡單微處理器的體系結(jié)構(gòu)簡單微處理器的體系結(jié)構(gòu)v 為每個聲明過的變量設(shè)置存儲 寄存器文件保留每個變量v 功能模塊實現(xiàn)FSMD的運算 每個ALU計算出每個要求的運算v 根據(jù)根據(jù)FSM增加每個端增加每個端口間的連接線口間的連接線v 為每個控制信號創(chuàng)建為每個控制信號創(chuàng)建唯一的標識唯一

溫馨提示

  • 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

提交評論