專利名稱:一種8位微控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體集成電路的微控制器領(lǐng)域,特別是涉及一種8 位微控制器。
背景技術(shù):
傳統(tǒng)8位微控制器的核心部件是運(yùn)算部件和控制部件。所述運(yùn)算 部件完成算術(shù)、邏輯、位及數(shù)據(jù)傳送等操作;所述控制部件以主頻為 基準(zhǔn),應(yīng)用CPU (中央處理器)的時(shí)序、取指和指令譯碼,來控制各 硬件環(huán)節(jié)協(xié)調(diào)工作。傳統(tǒng)8位微控制器的典型代表為8051,然而在 使用8051時(shí),往往存在很多不足之處
1. 8051指令的機(jī)器周期為12個(gè)時(shí)鐘周期,指令周期為1至4 個(gè)機(jī)器周期,導(dǎo)致8051執(zhí)行指令效率過低;
2. 8051采用片內(nèi)外數(shù)據(jù)存儲(chǔ)器分開尋址,導(dǎo)致執(zhí)行片外數(shù)據(jù)器 尋址時(shí)效率過低;
3. 8051采用5V供電,這導(dǎo)致8051系統(tǒng)功耗較高。
發(fā)明內(nèi)容
本發(fā)明的主要目的是解決傳統(tǒng)8位微控制器在時(shí)鐘速度、存儲(chǔ)器 訪問速度以及指令執(zhí)行速度方面的不足,設(shè)計(jì)一種處理器速度高、具 有廣泛適應(yīng)性、結(jié)構(gòu)完整的8位《敖控制器。
本發(fā)明的結(jié)構(gòu)包括數(shù)據(jù)存儲(chǔ)器、程序儲(chǔ)存器、數(shù)據(jù)總線、地址
總線、指令譯碼器、多路選擇器、寄存器堆、算術(shù)邏輯單元。
本發(fā)明在對(duì)片內(nèi)外數(shù)據(jù)隨機(jī)存儲(chǔ)器編址時(shí)采用統(tǒng) 一尋址的方式, 在讀取外部數(shù)據(jù)隨機(jī)存儲(chǔ)器時(shí)速度有較大提高。
本發(fā)明采用高速4相時(shí)鐘,時(shí)鐘發(fā)生器提供4相時(shí)鐘信號(hào),系統(tǒng) 在對(duì)應(yīng)的時(shí)鐘里完成相應(yīng)的操作。這樣, 一條單周期指令只需要4個(gè) 時(shí)鐘周期既可以完成,機(jī)器周期的縮短大大提高了指令執(zhí)行的效率。
本發(fā)明采用精簡(jiǎn)指令集結(jié)構(gòu),在改變指令長度的同時(shí)又保證原有 的功能。本發(fā)明的指令集一共有60條指令,每條指令長度為16位, 按照指令的功能分為邏輯運(yùn)算操作指令、算術(shù)運(yùn)算操作指令、數(shù)據(jù)傳 送操作指令、其他操作指令,所屬其他操作指令包括條件轉(zhuǎn)移、位操 作、程序儲(chǔ)存器頁面選擇、數(shù)據(jù)存儲(chǔ)器頁面選擇、進(jìn)入睡眠模式、返 回和中斷返回指令,形成了一套完整的指令集。
所述精筒指令集中包括9條邏輯運(yùn)算操作指令用于將指令中的 操作數(shù)按照指令譯碼的結(jié)果進(jìn)行相應(yīng)的邏輯運(yùn)算。
所述精簡(jiǎn)指令集中包括27條算術(shù)運(yùn)算操作指令,用于將指令中 的操作數(shù)按照指令譯碼的結(jié)果進(jìn)行相應(yīng)的算術(shù)運(yùn)算。
所述精簡(jiǎn)指令集中包括8條數(shù)據(jù)傳送操作指令,用于將源操作數(shù) 按照指令譯碼結(jié)果傳至目的寄存器或存儲(chǔ)器中。
所述精筒指令集其他操作指令中包括1條進(jìn)入睡眠模式指令 SLEP,用于停止主振蕩器的振蕩。
所述精簡(jiǎn)指令集其他操作指令中包括1條看門狗清除指令WDTC,
用于將看門狗寄存器的數(shù)據(jù)清零。
所述精簡(jiǎn)指令集其他操作指令中包括1條無條件跳轉(zhuǎn)指令JUMP, 用于改變程序計(jì)數(shù)器的數(shù)值,將指令中的立即數(shù)賦值給程序計(jì)數(shù)器。
所述精簡(jiǎn)指令集其他操作指令中包括1條查表指令M0VC #a,用 于將指定頁面的地址a處的程序儲(chǔ)存器的16位數(shù)據(jù)讀出,然后送入 內(nèi)部寄存器。
所述精筒指令集其他操作指令中包括l條查表指令MOVC R,用 于將內(nèi)部程序儲(chǔ)存器16位數(shù)據(jù)送入內(nèi)部寄存器。
所述精筒指令集其他操作指令中包括1條轉(zhuǎn)移指令CALL# a, 用于將a賦值給程序計(jì)數(shù)器,同時(shí)將當(dāng)前的程序計(jì)數(shù)器數(shù)值加1后進(jìn) 行入棧處理
所述精簡(jiǎn)指令集其他操作指令中包括返回指令RET和RETI,所 述RET指令執(zhí)行時(shí),進(jìn)行出棧操作,將堆棧里的16位數(shù)據(jù)賦值給程 序計(jì)數(shù)器,程序從子程序地址返回,同時(shí)堆棧指針減1;所述RETI 指令執(zhí)行時(shí),進(jìn)行出棧操作,將堆棧里的16位數(shù)據(jù)賦值給程序計(jì)數(shù) 器,程序從中斷子程序地址返回,同時(shí)堆棧指針減l。
所述精筒指令集其他操作指令中包括存儲(chǔ)器頁面選擇指令PAGE 和BANK。所述PAGE指令用于程序儲(chǔ)存器頁面選擇,所述BANK指令
用于數(shù)據(jù)存儲(chǔ)器頁面選擇。
本發(fā)明采用全同步設(shè)計(jì)和全靜態(tài)CMOS設(shè)計(jì),最高頻率可達(dá) 5固HZ。
本發(fā)明的工作電壓為2. 6V—5. 5V。
本發(fā)明的優(yōu)點(diǎn)為本發(fā)明的工作電壓為2.6V—5.5V,降低了功 耗,并擴(kuò)展了應(yīng)用領(lǐng)域;采用全靜態(tài)CMOS設(shè)計(jì),可以在較低頻率下 運(yùn)行;本發(fā)明采用高速4相時(shí)鐘,每4個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期, 指令長度為16位,所有指令的執(zhí)行需1或2個(gè)機(jī)器周期,指令執(zhí)行 速度快,指令精簡(jiǎn),方便編程;本發(fā)明采取片內(nèi)外數(shù)據(jù)存儲(chǔ)器采用統(tǒng) 一尋址方式,提高了訪問片外數(shù)據(jù)存儲(chǔ)器的速度;本發(fā)明具有休眠狀 態(tài),在休眠狀態(tài)時(shí),微控制器的主振蕩器停止工作,大大降低了 CPU 的功耗;本發(fā)明采用SOC(片上系統(tǒng))技術(shù),具有體積小、結(jié)構(gòu)緊湊、 可靠性高等特點(diǎn);本發(fā)明可以軟核形式提供,與現(xiàn)有8位處理器相比, 布線面積小,對(duì)SOC設(shè)計(jì)中的低端用戶提供了良好的支持。
圖1是8位微控制器的結(jié)構(gòu)框圖2是8位微控制器的時(shí)序圖3是8位微控制器的指令執(zhí)行圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明作更為詳細(xì)的解釋。 本發(fā)明采用片內(nèi)外數(shù)據(jù)存儲(chǔ)器統(tǒng)一尋址,微控制器內(nèi)核和微控制
器外設(shè)的寄存器地址統(tǒng)一編號(hào),讀寫等所有操作也完全一樣,這樣在
讀取外部數(shù)據(jù)隨機(jī)存儲(chǔ)器時(shí)速度有較大提高。
本發(fā)明采用精簡(jiǎn)指令集結(jié)構(gòu),在縮短指令長度的同時(shí)又保證原有 的功能。本發(fā)明的指令集包括60條指令,每條指令長度為16位,按
照指令的功能分為邏輯運(yùn)算操作指令、算術(shù)運(yùn)算操作指令、數(shù)據(jù)傳送 操作指令、其他操作指令。所述其他操作指令包括條件轉(zhuǎn)移、位操作、 程序儲(chǔ)存器頁面選擇、數(shù)據(jù)存儲(chǔ)器頁面選擇、進(jìn)入睡眠模式、返回和 中斷返回指令,形成了一套完整的指令集。
所述指令集包括9條邏輯運(yùn)算操作指令。所述指令執(zhí)行時(shí),將指 令中的操作數(shù)按照指令譯碼的結(jié)果進(jìn)行相應(yīng)的邏輯運(yùn)算,將結(jié)果回寫 到目的寄存器中。
所述指令集包括27條算術(shù)運(yùn)算操作指令。所述指令執(zhí)行時(shí),將 指令中的操作數(shù)按照指令譯碼的結(jié)果進(jìn)行相應(yīng)的算術(shù)運(yùn)算,將結(jié)果回 寫到目的寄存器中。如所述指令為判斷轉(zhuǎn)移指令,則根據(jù)運(yùn)算結(jié)果判 斷是否滿足跳轉(zhuǎn)條件,如果滿足跳轉(zhuǎn)條件則修改程序計(jì)數(shù)器的數(shù)值, 如果不滿足跳轉(zhuǎn)條件則順序執(zhí)行下條指令。
所述指令集包括8條數(shù)據(jù)傳送操作指令。所述指令執(zhí)行時(shí),將源 操作數(shù)按照指令譯碼結(jié)果傳至目的寄存器或存儲(chǔ)器中。
所述指令集其他操作指令中包括1條進(jìn)入睡眠模式指令SLEP, 該指令用于停止主振蕩器的振蕩。電路的主時(shí)鐘不工作,微控制器指 令停止。
所述指令集其他操作指令中包括1條看門狗清除指令WDTC,該
指令用于將看門狗寄存器的數(shù)據(jù)清零。
所述其他操作指令中包括1條無條件跳轉(zhuǎn)指令JUMP,該指令用 于改變程序計(jì)數(shù)器的數(shù)值,將指令中的立即數(shù)賦值給程序計(jì)數(shù)器。
所述其他操作指令中包括1條查表指令MOVC #a。所述指令執(zhí)行時(shí),將指定頁面的地址a處的程序儲(chǔ)存器的16位數(shù)據(jù)讀出,然后送 入內(nèi)部寄存器。如果不指定頁面就默認(rèn)為當(dāng)前頁面,將內(nèi)部程序儲(chǔ)存 器的16位數(shù)據(jù)送入內(nèi)部寄存器。
所述其他操作指令中包括1條查表指令M0VC R。所述指令執(zhí)行 時(shí),先設(shè)定好地址,再執(zhí)行指令,將內(nèi)部程序儲(chǔ)存器16位數(shù)據(jù)送入 內(nèi)部寄存器。
所述其他操作指令中包括1條轉(zhuǎn)移指令CALL # a。所述指令執(zhí) 行時(shí),首先將a賦值給程序計(jì)數(shù)器,同時(shí)將當(dāng)前的程序計(jì)數(shù)器數(shù)值加 1后進(jìn)行入棧處理。
所述其他操作中包括返回指令RET和RETI。所述RET指令執(zhí)行 時(shí),進(jìn)行出棧操作,將堆棧里的16位數(shù)據(jù)賦值給程序計(jì)數(shù)器,程序 從子程序地址返回,同時(shí)堆棧指針減l;所述RETI指令執(zhí)行時(shí),進(jìn) 行出棧操作,將堆棧里的16位數(shù)據(jù)賦值給程序計(jì)數(shù)器,程序從中斷 子程序地址返回,同時(shí)堆棧指針減l。
所述其他操作中包括存儲(chǔ)器頁面選擇指令PAGE和BANK。所述 PAGE指令用于程序儲(chǔ)存器頁面選擇,所述BANK指令用于數(shù)據(jù)存儲(chǔ)器 頁面選4奪。
圖l是本發(fā)明的結(jié)構(gòu)框圖,本發(fā)明包括算術(shù)邏輯單元、指令譯碼 器、多路選擇器、累加器、程序計(jì)數(shù)器、程序儲(chǔ)存器、片外數(shù)據(jù)存儲(chǔ) 器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和時(shí)鐘發(fā)生器。算術(shù)邏輯單元,用于根據(jù)譯碼結(jié) 果對(duì)操作數(shù)進(jìn)行相應(yīng)的算術(shù)邏輯運(yùn)算;指令譯碼器,用于通過翻譯程
序儲(chǔ)存器中存儲(chǔ)的代碼,以決定執(zhí)行加、減、乘、除、移位、跳轉(zhuǎn)等操作,并給出操作數(shù)的地址或者直接給出立即數(shù);多路選擇器,用于 根據(jù)指令譯碼的結(jié)果選擇算術(shù)邏輯操作所需要的操作數(shù);累加器,用 于數(shù)據(jù)的傳輸或運(yùn)算的特殊功能寄存器;程序計(jì)數(shù)器,為程序存儲(chǔ)器 的地址;程序存儲(chǔ)器,用于數(shù)據(jù)的存儲(chǔ);片外數(shù)據(jù)存儲(chǔ)器,用于片外 數(shù)據(jù)的存儲(chǔ);片內(nèi)數(shù)據(jù)存儲(chǔ)器,用于片內(nèi)數(shù)據(jù)的存儲(chǔ);時(shí)鐘發(fā)生器, 時(shí)鐘發(fā)生器根據(jù)微控制器主時(shí)鐘產(chǎn)生4相時(shí)鐘。
如圖1所示,本發(fā)明的具體實(shí)現(xiàn)方式如下
取指令階段(ST—0):第一時(shí)鐘周期(ST—0)為高電平時(shí)進(jìn)行取 指令操作。根據(jù)程序計(jì)數(shù)器指向的程序儲(chǔ)存器地址,從程序儲(chǔ)存器里 取出即將執(zhí)行的指令。所述程序計(jì)數(shù)器由指令譯碼器譯碼后的結(jié)果決 定。如果有中斷操作,將中斷入口地址傳送給程序計(jì)數(shù)器。如果有雙 周期指令,則在第二個(gè)周期的時(shí)候程序計(jì)數(shù)器值保持不變。如果有跳 轉(zhuǎn)指令并且滿足跳轉(zhuǎn)條件的時(shí)候,將跳轉(zhuǎn)地址傳送給程序計(jì)數(shù)器,并 且如果需要保存當(dāng)前地址時(shí)將地址指針入棧。如果有返回指令或中斷 返回指令時(shí),將堆棧中的內(nèi)容程序計(jì)數(shù)器值作出棧處理;如果沒有,
則程序計(jì)數(shù)器值加1。
譯碼階段(ST-1):第二時(shí)鐘周期(ST—1)為高電平時(shí)進(jìn)行譯碼 和讀數(shù)據(jù)存儲(chǔ)器地址操作。本發(fā)明采用片內(nèi)外數(shù)據(jù)存儲(chǔ)器統(tǒng)一尋址的
方式。首先通過指令譯碼結(jié)果判斷操作數(shù)為立即數(shù)或數(shù)據(jù)存儲(chǔ)器中的 數(shù)值。如果是立即數(shù),則直接將指令中的后8位作為待處理的數(shù)據(jù); 如果操作數(shù)是數(shù)據(jù)存儲(chǔ)器中的數(shù)值,則指令的后9位即是所要尋址的 數(shù)據(jù)存儲(chǔ)器的地址。根據(jù)所述數(shù)據(jù)存儲(chǔ)器的地址判斷是片內(nèi)數(shù)據(jù)存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。然后將數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)取出作為待操作的操 作數(shù)。所述處理方法在尋址片外數(shù)據(jù)存儲(chǔ)器時(shí),相對(duì)于非統(tǒng)一尋址的 方式,速度有極大的提高。
運(yùn)算操作階段(ST_2):第三時(shí)鐘周期(ST—2)為高電平時(shí)進(jìn)行 算術(shù)邏輯運(yùn)算操作,根據(jù)譯碼器譯碼的結(jié)果對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯、 位及數(shù)據(jù)傳送等操作。算術(shù)邏輯運(yùn)算的操作數(shù)為多路選擇器輸出的內(nèi) 容和累加器的數(shù)值,做何種算術(shù)邏輯運(yùn)算操作由指令譯碼器譯碼的結(jié) 果決定。
寫數(shù)據(jù)存儲(chǔ)器、普通工作寄存器或累加器階段(ST-3):第四時(shí) 鐘周期(ST_3)為高電平時(shí)進(jìn)行回寫操作。根據(jù)對(duì)指令譯碼的結(jié)果判 斷將ALU (算術(shù)邏輯)操作的結(jié)果寫回?cái)?shù)據(jù)存儲(chǔ)器、普通工作寄存器 或累加器。
綜上所述,通過4相也就是4個(gè)時(shí)鐘周期就完成了一條普通指令 的執(zhí)行。特殊的條件轉(zhuǎn)移指令因?yàn)樾枰獥l件判斷或兩個(gè)字節(jié)的操作, 所以需要兩個(gè)機(jī)器周期也既是需要八個(gè)時(shí)鐘周期。
圖2是本發(fā)明的時(shí)序圖,如圖2所示,clk為時(shí)鐘信號(hào);pwrite 為讀寫控制信號(hào),低電平為對(duì)微控制器外設(shè)進(jìn)行寫操作,高電平為對(duì) 微控制器外設(shè)進(jìn)行讀操作;penable為讀寫使能信號(hào),即進(jìn)入微控制 器外設(shè)讀寫狀態(tài)控制信號(hào),低電平有效;ram.-en為數(shù)據(jù)存儲(chǔ)器使能 信號(hào),即進(jìn)入數(shù)據(jù)存儲(chǔ)器讀寫狀態(tài)控制信號(hào),低電平有效;ram—addr 為數(shù)據(jù)存儲(chǔ)器和微控制器外設(shè)寄存器的地址總線;dw為向微控制器 外設(shè)進(jìn)行寫操作的數(shù)據(jù)總線;dr_x為從微控制器外設(shè)讀出的數(shù)據(jù)總
線;addr ( rom )為程序儲(chǔ)存器的地址;Ins (rom)為程序儲(chǔ)存器所 存儲(chǔ)的內(nèi)容。
讀微控制器外設(shè)操作開始的時(shí)候,地址信號(hào)ram_ad(ir、讀寫控 制信號(hào)pwr i te和讀寫使能信號(hào)penable都在時(shí)鐘上升沿時(shí)發(fā)生跳變。 當(dāng)讀寫控制信號(hào)pWrite為高電平,讀寫使能信號(hào)penable為低電平 的時(shí)候,讀出微控制器外設(shè)中的數(shù)據(jù)。讀出的數(shù)據(jù)只維持ST_2 —個(gè) 相位,所以微控制器必須在第四時(shí)鐘周期(ST_3)的上升沿時(shí),將讀 出的數(shù)據(jù)寄存于寄存器。微控制器根據(jù)地址信號(hào)ram_addr決定所讀 對(duì)象是微控制器外設(shè)、數(shù)據(jù)存儲(chǔ)器還是內(nèi)部寄存器。
對(duì)微控制器外設(shè)進(jìn)行寫操作的時(shí)候,地址信號(hào)ram_addr、讀寫 控制信號(hào)pwrite和讀寫使能信號(hào)penable都在時(shí)鐘上升沿時(shí)發(fā)生跳 變。當(dāng)讀寫控制信號(hào)pwrite和讀寫使能信號(hào)penable皆為低電平的 時(shí)候,將數(shù)據(jù)寫入外設(shè)。需要寫入的數(shù)據(jù)必須在ST_0相位之前準(zhǔn)備 好,并且在ST_0相位之后保持一段時(shí)間。
對(duì)數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫操作和對(duì)微控制器外設(shè)進(jìn)行讀寫操作相 似。對(duì)數(shù)據(jù)存儲(chǔ)器進(jìn)行讀操作的時(shí)候,地址信號(hào)ram_addr、讀寫控 制信號(hào)pwrite和數(shù)據(jù)存儲(chǔ)器使能信號(hào)ram_en都在時(shí)鐘上升沿時(shí)發(fā)生 跳變。當(dāng)讀寫控制信號(hào)pwrite為高電平,數(shù)據(jù)存儲(chǔ)器使能信號(hào)ram_en 為低電平的時(shí)候,讀出數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。讀出的數(shù)據(jù)只維持ST-2 一個(gè)相位,MCU必須在第四時(shí)鐘周期(ST_3)的上升沿時(shí),將讀出 的數(shù)據(jù)寄存于寄存器。
對(duì)數(shù)據(jù)存儲(chǔ)器進(jìn)行寫操作的時(shí)候,地址信號(hào)ram_addr、讀寫控制信號(hào)pwrite和數(shù)據(jù)存儲(chǔ)器使能信號(hào)ram—en都在時(shí)鐘上升沿時(shí)發(fā)生 變化。當(dāng)讀寫控制信號(hào)pwrite為低電平,同時(shí)數(shù)據(jù)存儲(chǔ)器使能信號(hào) ram_en也為低電平的時(shí)候,將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)器。需要寫入的數(shù) 據(jù)必須在ST—0相位之前準(zhǔn)備好,并且在ST-O相位之后保持一段時(shí)間。
本發(fā)明采用高速4相時(shí)鐘。
圖3是本發(fā)明的指令執(zhí)行圖。如圖3所示,時(shí)鐘發(fā)生器9提供第 一時(shí)鐘周期(ST-O)、第二時(shí)鐘周期(ST-l)、第三時(shí)鐘周期(ST_2)、 第四時(shí)鐘周期(ST_3) 4相時(shí)鐘信號(hào),系統(tǒng)在對(duì)應(yīng)的時(shí)鐘里完成相應(yīng) 的操作,如下所示
取指操作在第一時(shí)鐘周期(ST-O)為高電平期間完成從程序儲(chǔ) 存器6取指令的操作。
譯碼操作在第二時(shí)鐘周期(ST_1)為高電平期間將取出的指令 進(jìn)行譯碼,并從數(shù)據(jù)存儲(chǔ)器讀出操作數(shù)。
ALU操作在第三時(shí)鐘周期(ST—2 )為高電平期間進(jìn)行運(yùn)算操作。
回寫操作在第四時(shí)鐘周期(ST_3 )為高電平期間進(jìn)行回寫操作, 將算術(shù)邏輯單元計(jì)算的結(jié)果回寫入數(shù)據(jù)存儲(chǔ)器或內(nèi)部寄存器。
綜上所述, 一條單周期指令只需要4個(gè)時(shí)鐘周期即可以完成,機(jī) 器周期的縮短大大提高了指令執(zhí)行的效率。
以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā) 明。任何對(duì)本發(fā)明作本技術(shù)領(lǐng)域內(nèi)熟知的步驟的替換、組合、分立均 應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種8位微控制器,其結(jié)構(gòu)包括算術(shù)邏輯單元,用于根據(jù)譯碼結(jié)果對(duì)操作數(shù)進(jìn)行相應(yīng)的算術(shù)邏輯運(yùn)算;指令譯碼器,用于通過翻譯程序儲(chǔ)存器中存儲(chǔ)的代碼,以決定執(zhí)行加、減、乘、除、移位、跳轉(zhuǎn)等操作,并給出操作數(shù)的地址或者直接給出立即數(shù);多路選擇器,用于根據(jù)指令譯碼的結(jié)果選擇算術(shù)邏輯操作所需要的操作數(shù);累加器,用于數(shù)據(jù)的傳輸或運(yùn)算的特殊功能寄存器;程序計(jì)數(shù)器,為程序存儲(chǔ)器的地址;程序存儲(chǔ)器,用于數(shù)據(jù)的存儲(chǔ);片外數(shù)據(jù)存儲(chǔ)器,用于片外數(shù)據(jù)的存儲(chǔ);片內(nèi)數(shù)據(jù)存儲(chǔ)器,用于片內(nèi)數(shù)據(jù)的存儲(chǔ);時(shí)鐘發(fā)生器,時(shí)鐘發(fā)生器根據(jù)微控制器主時(shí)鐘產(chǎn)生4相時(shí)鐘;其特征是算術(shù)邏輯單元通過數(shù)據(jù)總線分別與累加器、片外數(shù)據(jù)存儲(chǔ)器和片內(nèi)數(shù)據(jù)存儲(chǔ)器相連;多路選擇器通過數(shù)據(jù)總線和算術(shù)邏輯單元相連;指令譯碼器通過Ram地址總線與片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器相連,對(duì)算術(shù)邏輯單元進(jìn)行邏輯運(yùn)算控制,對(duì)程序計(jì)數(shù)器進(jìn)行指針計(jì)數(shù)器控制;程序計(jì)數(shù)器指針通過Rom地址總線與程序存儲(chǔ)器相連;片外數(shù)據(jù)存儲(chǔ)器和片內(nèi)數(shù)據(jù)存儲(chǔ)器通過數(shù)據(jù)總線與多路選擇器相連;時(shí)鐘發(fā)生器在第一時(shí)鐘周期(ST_0)作用于程序存儲(chǔ)器,在第二時(shí)鐘周期(ST_1)作用于片外數(shù)據(jù)存儲(chǔ)器和片內(nèi)數(shù)據(jù)存儲(chǔ)器,在第三時(shí)鐘周期(ST_2)作用于算術(shù)邏輯單元,在第四時(shí)鐘周期(ST_3)作用于累加器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。
2. 如權(quán)利要求1所述的8位微控制器,其特征是采用片內(nèi)外數(shù) 據(jù)存儲(chǔ)器統(tǒng)一尋址的方式。
3. 如權(quán)利要求1所述的8位微控制器,其特征是采用高速4相 時(shí)鐘,每4個(gè)時(shí)鐘周期為1個(gè)機(jī)器周期。
4. 如權(quán)利要求1所述的8位微控制器,其特征是所述8位微 控制器的精簡(jiǎn)指令集結(jié)構(gòu)包含60條指令,指令長度為16位,按照指 令的功能分為邏輯運(yùn)算操作指令、算術(shù)運(yùn)算操作指令、數(shù)據(jù)傳送操作 指令和其他操作指令,所述其他操作指令包括查表指令、條件轉(zhuǎn)移、 位操作、程序儲(chǔ)存器頁面選擇、數(shù)據(jù)存儲(chǔ)器頁面選擇、進(jìn)入睡眠模式、 返回和中斷返回指令。
5. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集包括將指令中的操作數(shù)按照指令譯碼的結(jié)果進(jìn)行相應(yīng)邏輯運(yùn) 算的邏輯運(yùn)算操作指令。
6. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn)指令集包括將指令中的操作數(shù)按照指令譯碼結(jié)果進(jìn)行相應(yīng)算術(shù)運(yùn)算 的算術(shù)運(yùn)算操作指令。
7. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集包括將源操作數(shù)按照指令譯碼結(jié)果傳至目寄存器或存儲(chǔ)器中 的數(shù)據(jù)傳送操作指令。
8. 如權(quán)利要求4所述的精筒指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括停止主振蕩器振蕩的進(jìn)入睡眠模式指令。
9. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括將看門狗寄存器數(shù)據(jù)清零的門狗清除指令。
10. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括改變程序計(jì)數(shù)器的數(shù)值,將指令中的立即 數(shù)賦值給程序計(jì)數(shù)器的無條件跳轉(zhuǎn)指令。
11. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他;^喿作指令中包括將程序儲(chǔ)存器的16位數(shù)據(jù)讀出或?qū)?nèi)部 程序儲(chǔ)存器16位數(shù)據(jù)送入內(nèi)部寄存器的查表指令。
12. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括將隨機(jī)數(shù)賦值給程序計(jì)數(shù)器,同時(shí)將當(dāng)前的程序計(jì)數(shù)器指數(shù)值加1后進(jìn)行入棧處理的轉(zhuǎn)移指令。
13. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括將程序從子程序地址返回或?qū)⒊绦驈闹袛嘧映绦虻刂贩祷氐姆祷刂噶睢?br>
14. 如權(quán)利要求4所述的精簡(jiǎn)指令集結(jié)構(gòu),其特征是所述精簡(jiǎn) 指令集其他操作指令中包括將程序儲(chǔ)存器頁面選擇或數(shù)據(jù)存儲(chǔ)器頁面選擇的存儲(chǔ)器頁面選擇指令。
15. 如權(quán)利要求1所述的8位微控制器,其特征是8位微控制器 的最高頻率達(dá)到5謹(jǐn)HZ。
16. 如權(quán)利要求1所述的8位微控制器,其特征是8位微控制的工作電壓為2. 6V—5. 5V。
全文摘要
一種8位微控制器,其結(jié)構(gòu)包括數(shù)據(jù)存儲(chǔ)器、程序儲(chǔ)存器、數(shù)據(jù)總線、地址總線、指令譯碼器、多路選擇器、寄存器堆、算術(shù)邏輯單元。本發(fā)明采用高速4相時(shí)鐘,一條單周期指令只需要4個(gè)時(shí)鐘周期,機(jī)器周期的縮短大大提高了指令執(zhí)行的效率;采用精簡(jiǎn)指令集結(jié)構(gòu),在改變指令長度的同時(shí)又保證原有的功能;對(duì)片內(nèi)外數(shù)據(jù)隨機(jī)存儲(chǔ)器編址時(shí)采用統(tǒng)一尋址的方式,在讀取外部數(shù)據(jù)隨機(jī)存儲(chǔ)器時(shí)速度有較大提高。
文檔編號(hào)G06F9/30GK101196808SQ20061011935
公開日2008年6月11日 申請(qǐng)日期2006年12月8日 優(yōu)先權(quán)日2006年12月8日
發(fā)明者吳瑞祥, 尹圣寶, 居水榮, 勇 王, 俊 郁, 陳遠(yuǎn)明 申請(qǐng)人:無錫華潤矽科微電子有限公司