<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 16位微控制器的設計與實(shí)現

16位微控制器的設計與實(shí)現

作者: 時(shí)間:2010-08-27 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)信息技術(shù)的發(fā)展,網(wǎng)絡(luò )通信、信息安全和信息家電產(chǎn)品的普及,嵌入式MCU正是所有這些信息產(chǎn)品中必不可少的部件。目前國內一些科研院校和半導體公司都在致力于研發(fā)自主設計的嵌入式微控制器,這對我國的半導體產(chǎn)業(yè)、電子產(chǎn)品產(chǎn)業(yè)的發(fā)展具有重要意義。
這里描述了一款自主研發(fā)的16位嵌入式微控制器(A8096)的設計與實(shí)現,基于RTL級設計方法使用VerilogHDL進(jìn)行設計描述,在設計中,采用硬布線(xiàn)控制方式,減少了面積和功耗,同時(shí)MCU兼容了MSC-96指令集,目標是可以應用于實(shí)際嵌入式系統項目中。

1 總體設計
1.1 MSC-96體系結構

圖1所示為MSC-96體系結構。Intel 8096微控制器是由通用寄存器陣列、算術(shù)邏輯單元(RALU)和微程序控制器等模塊組成。其采用的是微程序控制方式,需要使用一個(gè)片內ROM存儲器,因而會(huì )造成面積和功耗都會(huì )較大。

本文引用地址:http://dyxdggzs.com/article/162885.htm


MCU內部的寄存器陣列通過(guò)一個(gè)控制器和2條總線(xiàn)與RALU相連。這兩條總線(xiàn)是8位的A-BUS和16位的D-BUS。DBUS只用于RALU與寄存器之間的數據傳輸,而A-BUS用作上述傳輸過(guò)程中的地址總線(xiàn)。當MCU通過(guò)寄存器控制器訪(fǎng)問(wèn)片內外寄存器時(shí),A-BUS可作為多路轉換的地址/數據總線(xiàn)。
1.2 A8096總體結構
為了減少面積和功耗,A8096采用硬布線(xiàn)邏輯控制方式取代上述的微程序控制器。依據MSC-96的體系結構,A8096主要功能模塊包括:IPU(Instruction Pre-fetch Unit。指令預取單元)、CU(Control Unit,控制單元)、ALU(Arithmetic Logical Unit,算術(shù)邏輯單元)、MEM_C-TRL(MEM控制器)、RF_CTRL(寄存器堆控制器)、ISR(Interrupt Service Routine unit,中斷服務(wù)單元)、GPIO(General Purpose Input Out-put,通用輸入輸出單元)等主要功能部件。其結構如圖2所示。


1.3 系統總線(xiàn)
A8096采用3條總線(xiàn):一條是MEM總線(xiàn),用于IPU和MEM CTRL對程序空間和數據空間的讀寫(xiě)控制;16 bit的數據線(xiàn),16 bit的地址線(xiàn),讀寫(xiě)信號memrd/memwr;一條是內部寄存器陣列(Register File)總線(xiàn),用于RF_CTRL對內部寄存器陣列的讀寫(xiě)訪(fǎng)問(wèn),地址線(xiàn)是8 bit的,數據線(xiàn)為16 bit,讀寫(xiě)信號為rf_rd/rf_wr;一條是SFR總線(xiàn),用于訪(fǎng)問(wèn)數據空間地址在00H~19H的特殊定義的寄存器空間。8 bit的地址總線(xiàn),16bit的數據總線(xiàn),讀寫(xiě)信號sfrrd/sfrwr。另外IPU和MEMCTR的數據交互是通過(guò)8 bit的數據線(xiàn)instr_bus完成的,其作用是從預取指令隊列中將指令傳給CU單元等。

2 MCU設計與實(shí)現
2.1 MCU工作原理

A8096通過(guò)IPU(指令預取單元)指令預取,并存放在預取指令隊列中,CU(控制單元)從IPU指令隊列中取指并進(jìn)行譯碼,產(chǎn)生控制時(shí)序等信號。ALU單元、RAM控制器、MEM控制器等部件中均有譯碼模塊,依據當前指令和當前指令周期主動(dòng)工作。如:RAM控制器在加法指令的相應周期取操作數送往ALU單元,ALU在相應周期接收數據,然后進(jìn)行運算并將結果輸出。
2.2 MCU啟動(dòng)過(guò)程
在上電復位時(shí),MCU處于復位態(tài)(rst信號有效)。復位時(shí),IPU單元中的指令隊列清空(empty信號有效),總線(xiàn)處于空閑態(tài),IPU立刻進(jìn)行指令預取動(dòng)作,程序空間的首地址(2080H)指令即被取人指令隊列,隨后隊列空信號(empty)無(wú)效,同時(shí)指令被發(fā)送出去(instr_bus)。在復位同時(shí),控制單元(CU)的取指信號(codefetche)即一直有效,在指令隊列空信號empty無(wú)效后(在empty無(wú)效之前CU一直等待),指令即通過(guò)instr_ bus進(jìn)入了CU,指令操作碼被存入了指令寄存器,如圖3中instr寄存器更新為加法指令的操作碼74。至此,MCU完成了復位、自動(dòng)取指操作,并開(kāi)始往下執行該指令,IPU單元也會(huì )繼續進(jìn)行指令預取操作。


2.3 指令執行過(guò)程
在A(yíng)8096中,有兩級指令預取概念:一級是指令預單元IPU利用總線(xiàn)空閑從程序空間不斷預取指令存入指令隊列中;一級則是指令執行過(guò)程中的指令預取,當一條指令執行到最后一個(gè)時(shí)鐘周期時(shí),CU單元就會(huì )發(fā)送取指信號,進(jìn)行指令執行級的預取指動(dòng)作,下一條指令的操作碼即被預取出來(lái)(指令隊列為空時(shí)需等待),并立刻進(jìn)行譯碼確定指令的字節長(cháng)度和指令執行周期數。



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 編解碼器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>