資源描述:
《CPU;MPU;MCU三者,以及ARM,DSP,FPGA三者的區(qū)別》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、CPU?MPU?MCU1CPU(CentralProcessingUnit,中央處理器)11.1CPU的組成11.2CPU的工作原理12MPU(MicroprocessorUnit,微處理器)32.1MPU的組成32.2MPU的分類32.3MPU的體系結(jié)構(gòu):馮·諾伊曼結(jié)構(gòu)和哈佛結(jié)構(gòu)32.4MPU的典型代表:DSP(DigitalSignalProcessor,數(shù)字信號處理器)43MCU(MicrocontrollerUnit,微控制器/單片機(jī))53.1MCU的概念53.2MCU的概述53.3MCU的分類63.4MCU的架構(gòu):CISC架構(gòu)和RISC架構(gòu)63.5常見的MCU63.6MCU的
2、典型代表:ARM94CPLD(ComplexProgrammableLogicDevice,復(fù)雜可編程邏輯器件)105FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列)106DSP,ARM,FPGA的區(qū)別101CPU(CentralProcessingUnit,中央處理器)中央處理器(CPU)是電子計(jì)算機(jī)的主要器件之一,其功能主要是解釋計(jì)算機(jī)指令及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。1.1CPU的組成CPU由運(yùn)算器、控制器和寄存器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。運(yùn)算器:進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算(部件:算數(shù)邏輯單元、累加器、寄存器組、路徑轉(zhuǎn)換器、數(shù)據(jù)總線
3、)??刂破鳎嚎刂瞥绦虻膱?zhí)行,包括對指令進(jìn)行譯碼、寄存,并按指令要求完成所規(guī)定的操作,即指令控制、時(shí)序控制和操作控制。復(fù)位、使能(部件:計(jì)數(shù)器、指令暫存器、指令解碼器、狀態(tài)暫存器、時(shí)序產(chǎn)生器、微操作信號發(fā)生器)。寄存器:用來存放操作數(shù)、中間數(shù)據(jù)及結(jié)果數(shù)據(jù)。1.2CPU的工作原理CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,將指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作,從而完成一條指令的執(zhí)行。可分為四個(gè)階段:提?。‵etch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。11注:指令是計(jì)算機(jī)規(guī)定執(zhí)行操作的類型和操作數(shù)的
4、基本命令。指令是由一個(gè)字節(jié)或者多個(gè)字節(jié)組成,其中包括操作碼字段、一個(gè)或多個(gè)有關(guān)操作數(shù)地址的字段以及一些表征機(jī)器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。第一階段:提取從存儲器或高速緩沖存儲器中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計(jì)數(shù)器(ProgramCounter)指定存儲器的位置,程序計(jì)數(shù)器保存供識別目前程序位置的數(shù)值。換言之,程序計(jì)數(shù)器記錄了CPU在目前程序里的蹤跡。提取指令之后,程序計(jì)數(shù)器根據(jù)指令長度增加存儲器單元。指令的提取必須常常從相對較慢的存儲器尋找,因此導(dǎo)致CPU等候指令的送入。這個(gè)問題主要被論及在現(xiàn)代處理器的快取和管線化架構(gòu)。第二階段:解碼CPU根據(jù)存儲
5、器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片斷。根據(jù)CPU的指令集架構(gòu)(InstructionSetArchitecture,ISA)定義將數(shù)值解譯為指令。一部分指令數(shù)值為運(yùn)算碼(Opcode),其指示要進(jìn)行哪些運(yùn)算。其它的數(shù)值通常供給指令必要的信息,諸如一個(gè)加法(Addition)運(yùn)算的運(yùn)算目標(biāo)。這樣的運(yùn)算目標(biāo)也許提供一個(gè)常數(shù)值(即立即值),或是一個(gè)空間的定址值:暫存器或存儲器位址,以定址模式?jīng)Q定。在舊的設(shè)計(jì)中,CPU里的指令解碼部分是無法改變的硬件設(shè)備。不過在眾多抽象且復(fù)雜的CPU和指令集架構(gòu)中,一個(gè)微程序時(shí)常用來幫助轉(zhuǎn)換指令為各種形態(tài)的訊號。這些微程序在已成
6、品的CPU中往往可以重寫,方便變更解碼指令。第三階段:執(zhí)行在提取和解碼階段之后,接著進(jìn)入執(zhí)行階段。該階段中,連接到各種能夠進(jìn)行所需運(yùn)算的CPU部件。例如,要求一個(gè)加法運(yùn)算,算數(shù)邏輯單元(ALU,ArithmeticLogicUnit)將會連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而輸出將含有總和的結(jié)果。ALU內(nèi)含電路系統(tǒng),易于輸出端完成簡單的普通運(yùn)算和邏輯運(yùn)算(比如加法和位元運(yùn)算)。如果加法運(yùn)算產(chǎn)生一個(gè)對該CPU的處理而言過大的結(jié)果,在標(biāo)志暫存器里,運(yùn)算溢出(ArithmeticOverflow)標(biāo)志可能會被設(shè)置。第四階段:寫回以一定格式將執(zhí)行階段的結(jié)果簡單的寫回。運(yùn)算結(jié)果經(jīng)常
7、被寫進(jìn)CPU內(nèi)部的暫存器,以供隨后指令快速存取。在其它案例中,運(yùn)算結(jié)果可能寫進(jìn)速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會操作程序計(jì)數(shù)器,而不直接產(chǎn)生結(jié)果。這些一般稱作“跳轉(zhuǎn)”(Jumps),并在程式中帶來循環(huán)行為、條件性執(zhí)行(透過條件跳轉(zhuǎn))和函式。許多指令也會改變標(biāo)志暫存器的狀態(tài)位元。這些標(biāo)志可用來影響程式行為,緣由于它們時(shí)常顯出各種運(yùn)算結(jié)果。11例如,以一個(gè)“比較”指令判斷兩個(gè)值的大小,根據(jù)比較結(jié)果在標(biāo)志暫存器上設(shè)置一個(gè)數(shù)值。