通用處理器的基本結(jié)構(gòu)
所有的處理器(cpu)都包含如下3個(gè)最基本的部分?! ?1) 算術(shù)邏輯單元(alu):在其中完成數(shù)據(jù)處理任務(wù),如加、減、乘、除、布爾運(yùn)算及移位處理等。 (2) 寄存器組(register file):由通用寄存器組成,為alu的操作數(shù)提供緩存和數(shù)據(jù)處理結(jié)果,緩存指令或輸入/輸出數(shù)據(jù)等?! ?3) 控制單元(control unit):包含復(fù)位邏輯、讀/寫控制、中斷處理、程序計(jì)數(shù)器、指令譯碼和寄存及條件碼寄存器等?! 』竞秃唵蔚奶幚砥鹘Y(jié)構(gòu)如圖1所示。
圖1 基本和簡單的處理器結(jié)構(gòu) 盡管構(gòu)成處理器的基本單元大致相同,但由于數(shù)據(jù)和指令/控制的總線不同,使整個(gè)處理器的結(jié)構(gòu)有所區(qū)別。目前常用的總線結(jié)構(gòu)如下: (1) 多總線結(jié)構(gòu),如圖2所示。在該結(jié)構(gòu)中,指令、數(shù)據(jù)和地址都通過同一條總線實(shí)現(xiàn),數(shù)據(jù)和指令在同一個(gè)存儲(chǔ)器中,只是采用分時(shí)方式及額外的控制邏輯(如地址鎖存信號(hào)等)來實(shí)現(xiàn)?! ?2) 共享總線結(jié)構(gòu),如圖3所示。該結(jié)構(gòu)也稱為范·紐曼(von neumann)結(jié)構(gòu),盡管地址和數(shù)據(jù)共享同一條總線,但是分時(shí)占用的?! ?3) 獨(dú)立總線結(jié)構(gòu),如圖4所示。該總線也稱做哈佛(harvard)結(jié)構(gòu),由于數(shù)據(jù)和地址有各自的總線通道,數(shù)據(jù)和指令(程序)具有不同的存儲(chǔ)器,因此指令執(zhí)行和數(shù)據(jù)處理可并行(同時(shí))運(yùn)行。
圖2 多總線cpu結(jié)構(gòu)
圖3 共享cpu總線結(jié)構(gòu)
圖4 獨(dú)立總線結(jié)構(gòu) 從以上的分析中看出,獨(dú)立總線結(jié)構(gòu)具有高速特性。許多嵌入式處理器都是采用這種結(jié)構(gòu),特別是用于數(shù)據(jù)處理及信號(hào)處理等高速應(yīng)用的處理器。盡管為了提高指令的運(yùn)行和數(shù)據(jù)的處理速度,有些處理器在其內(nèi)部采用了cache(高速緩沖存儲(chǔ)器)和指令流水線(pipelining)結(jié)構(gòu)等新的技術(shù)。然而就數(shù)據(jù)的處理速度來說,還是獨(dú)立總線結(jié)構(gòu)最好,picoblaze 8位處理器核就是采用的獨(dú)立總線結(jié)構(gòu)。