两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于復(fù)雜指令集計(jì)算機(jī)結(jié)構(gòu)的微處理器架構(gòu)的制作方法

文檔序號(hào):6561219閱讀:410來源:國知局

專利名稱::一種基于復(fù)雜指令集計(jì)算機(jī)結(jié)構(gòu)的微處理器架構(gòu)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及微處理器領(lǐng)域,特別是涉及一種基于CISC(ComplexInstructionSetComputer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)的微處理器架構(gòu)。
背景技術(shù)
:20世紀(jì)80年代以來,隨著計(jì)算機(jī)嵌入式系統(tǒng)的廣泛應(yīng)用,微處理器得到了飛速的發(fā)展。早期的單片機(jī)是按照嵌入式應(yīng)用技術(shù)要求設(shè)計(jì)的計(jì)算機(jī)的單芯片化集成電路器件,也就是電子計(jì)算機(jī)的全部特性器件都集成到一片芯片上,故被形象的稱為單片機(jī)。微處理器最大的特點(diǎn)是單片化,體積小,從而使功耗和成本下降。目前的微處理器是以某一種微處理器內(nèi)核為核心,芯片內(nèi)部集成程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)和地址總線、定時(shí)計(jì)數(shù)器、看門狗、輸入/輸出端口、同步串行傳輸口、模/數(shù)、數(shù)/模、液晶顯示器驅(qū)動(dòng)、通用異步串行傳輸口等各種必要的外設(shè)。針對(duì)不同的應(yīng)用領(lǐng)域,微處理器可以有各種不同的外設(shè)資源和封裝形式。所以微處理器有很強(qiáng)的適應(yīng)性和廣泛的應(yīng)用性,是目前嵌入式系統(tǒng)應(yīng)用市場的主流。以CPU架構(gòu)而言,樣t處理器可分為RISC(ReducedinstructionSetComputer,精筒指令集計(jì)算機(jī))和CISC(ComplexInstructionSetComputer,復(fù)雜指令集計(jì)算機(jī))兩大主流。RSIC指令集的指令相對(duì)較少,執(zhí)行速度快,但通常需要多個(gè)指令組合才能完成功能的實(shí)現(xiàn),這樣就需要較多的編譯時(shí)間來執(zhí)行。CISC指令集的指令豐富,功能較為強(qiáng)大。CISC體系豐富的指令集便于實(shí)現(xiàn)復(fù)雜的功能任務(wù)。傳統(tǒng)的基于CISC體系的微處理器的主要缺點(diǎn)有多數(shù)指令的利用率不高;指令的運(yùn)行效率低,難以滿足快速處理的應(yīng)用需求。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種基于復(fù)雜指令集計(jì)算機(jī)結(jié)構(gòu)的微處理器架構(gòu),使得指令更為豐富,可擴(kuò)展性更強(qiáng),同時(shí)使指令處理速度加快,在一定程度上彌補(bǔ)了CISC微處理器指令集利用率不高、執(zhí)行效率低的缺點(diǎn)。為達(dá)到上述目的,本發(fā)明的技術(shù)方案如下該微處理器包括程序存儲(chǔ)器,隨機(jī)數(shù)據(jù)存儲(chǔ)器,特殊功能寄存器,數(shù)據(jù)緩沖寄存器,通用寄存器,數(shù)據(jù)總線和地址總線,存儲(chǔ)器接口,運(yùn)算和控制模塊,指令讀取及譯碼器,指令隊(duì)列控制模塊,所述的數(shù)據(jù)總線分為各自分離的8位程序數(shù)據(jù)總線和8位內(nèi)部隨機(jī)數(shù)據(jù)總線。進(jìn)一步地,所述的運(yùn)算控制單元包括算術(shù)邏輯單元,移位控制單元和十進(jìn)制調(diào)整單元。進(jìn)一步地,所述的存儲(chǔ)器接口控制單元包括程序計(jì)數(shù)器,地址寄存器,存儲(chǔ)器地址的產(chǎn)生電路,和數(shù)據(jù)的讀寫功能的電路。進(jìn)一步地,所述的指令讀取及譯碼器包括對(duì)指令的譯碼和CPU核中其他單元的控制。進(jìn)一步地,所述的程序存儲(chǔ)器,隨機(jī)數(shù)據(jù)存儲(chǔ)器,特殊功能寄存器和數(shù)據(jù)緩沖寄存器區(qū)域是空間獨(dú)立的,利用地址映射電路將他們的地址映射在連續(xù)的空間上,并具有可擴(kuò)展性進(jìn)一步地,所述的微處理器的指令集共有220條基本指令,支持各類常見的微處理器指令,包括數(shù)據(jù)傳送交換、算術(shù)邏輯運(yùn)算、乘除法運(yùn)算、比較、移位循環(huán)、半字節(jié)操作、位操作、跳轉(zhuǎn)、調(diào)用返回、進(jìn)棧出棧、空操作和軟中斷等指令,指令執(zhí)行的周期為18個(gè)機(jī)器周期,指令集具有相應(yīng)的可擴(kuò)展性。進(jìn)一步地,所述的指令集包括42條數(shù)據(jù)傳送指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)傳送到目的地址中,由于源地址和目的地址可以是多種尋址方式,使得每條指令包含l4個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址提取數(shù)據(jù)d.控制數(shù)據(jù)寫入目的地址。進(jìn)一步地,所述的指令集包括70條算術(shù)邏輯運(yùn)算指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)與目的地址的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算,每條指令包含14個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將地址數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址和目的地址提取數(shù)據(jù)傳送至通用算術(shù)邏輯單元d.控制通用算術(shù)邏輯單元執(zhí)行指令要求的算術(shù)邏輯操作e.控制將運(yùn)算的結(jié)果寫入目的寄存器。進(jìn)一步地,所述的指令集包括2條乘除法指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)寄存器y與累加器a中的無符號(hào)數(shù)相乘并回寫結(jié)果,指令實(shí)現(xiàn)寄存器對(duì)y、a與寄存器b中的無符號(hào)數(shù)相除并回寫。進(jìn)一步地,所述的指令集包括12條比較指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)與目的地址的數(shù)據(jù)進(jìn)行比較,每條指令包含1~4個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將地址數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址和目的地址提取數(shù)據(jù)傳送至通用算術(shù)邏輯單元d.控10制通用算術(shù)邏輯單元執(zhí)行減法操作e.控制將減法的結(jié)果設(shè)置標(biāo)志寄存器。進(jìn)一步地,所述的指令集包括16條循環(huán)移位和半字節(jié)操作指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)寄存器或者寄存器與內(nèi)存的數(shù)據(jù)的移位或者半字節(jié)移位。進(jìn)一步地,所述的指令集包括48條位操作指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)對(duì)寄存器或者內(nèi)存單元數(shù)據(jù)的位進(jìn)行設(shè)置和運(yùn)算。進(jìn)一步地,所述的指令集包括4條跳轉(zhuǎn)指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令根據(jù)偏移量實(shí)現(xiàn)程序的跳轉(zhuǎn)。進(jìn)一步地,所述的指令集包括IO條調(diào)用、返回指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),根據(jù)不同的尋址方式,指令實(shí)現(xiàn)子程序的調(diào)用和返回。進(jìn)一步地,所述的指令集包括4條進(jìn)棧退棧指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)對(duì)程序狀態(tài)字和寄存器內(nèi)容的壓棧和出棧。進(jìn)一步地,所述的指令集包括1條軟中斷指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)軟件中斷。進(jìn)一步地,所述的指令集包括1條空操作指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)空操作。進(jìn)一步i也,所述的讀入的指令通過所述的指令讀取及譯碼器分解,4安分解后的微指令碼進(jìn)行譯碼,并執(zhí)行相應(yīng)的操作,根據(jù)尋址方式不同,譯碼后將操作數(shù)或者操作碼分別存儲(chǔ)于不同的操作數(shù)寄存器、微指令碼寄存器、內(nèi)存或者特殊的寄存器。進(jìn)一步地,所述不同的尋址方式按尋址類型分別為立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋址、相對(duì)尋址、絕對(duì)尋址、向量尋址、直接位尋址和存儲(chǔ)器位尋址共9種類型。進(jìn)一步地,所述指令執(zhí)行的順序是在時(shí)鐘的第一相讀入指令碼并譯碼,同時(shí)處理中斷等,第二相讀內(nèi)存單元或者寄存器的數(shù)據(jù)并存儲(chǔ),第三相執(zhí)行通用算術(shù)邏輯單元操作,完成指令要求的各種運(yùn)算或者偏移量的計(jì)算,第四相將指令運(yùn)算得的結(jié)果寫入內(nèi)存及相關(guān)寄存器,同時(shí)在每一相時(shí)鐘內(nèi)進(jìn)行相關(guān)標(biāo)志位的設(shè)置和指令周期計(jì)算的操作。進(jìn)一步地,所述中斷處理的方式為當(dāng)中斷請(qǐng)求發(fā)生時(shí),置位中斷鎖存器,在前一條指令執(zhí)行的第三相時(shí)鐘時(shí)檢測中斷鎖存器,響應(yīng)中斷,并清零中斷使能標(biāo)志和中斷鎖存器,程序計(jì)數(shù)器在中斷程序執(zhí)行前后自動(dòng)壓棧和出棧;所述的中斷的種類包括軟件中斷、外部中斷、定時(shí)器中斷、看門狗中斷、串行接口中斷、異步傳送接口中斷、地址陷阱中斷,中斷可嵌套。除了軟件中斷,看門狗中斷和地址陷阱中斷外,可對(duì)中斷請(qǐng)求進(jìn)行屏蔽。本發(fā)明在復(fù)雜指令集的基礎(chǔ)上,實(shí)現(xiàn)方式做了較大改進(jìn),使得指令更為豐富,具備更佳的可擴(kuò)展性。同時(shí),數(shù)據(jù)線和指令線的分離,使指令處理速度加快,在一定程度上彌補(bǔ)了CISC微處理器指令集過于龐大、執(zhí)行效率低的缺點(diǎn)。本發(fā)明的微處理器支持220條指令,可配置合適的外圍資源,適用于各類實(shí)時(shí)控制嵌入式、SOC系統(tǒng),可廣泛應(yīng)用于家電、民用通信、汽車電子等電子產(chǎn)品中。圖1是本發(fā)明微處理器的內(nèi)部結(jié)構(gòu)示意圖2是本發(fā)明微處理器的指令執(zhí)行硬件結(jié)構(gòu)示意圖3是本發(fā)明微處理器的指令執(zhí)行節(jié)拍流程示意圖4是本發(fā)明微處理器的中斷處理過程示意圖5是本發(fā)明微處理器和外圍資源的整體結(jié)構(gòu)示意圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做具體細(xì)節(jié)說明。如圖1為本發(fā)明微處理器的內(nèi)部結(jié)構(gòu)。外部時(shí)鐘發(fā)生器提供基本時(shí)鐘,分頻產(chǎn)生內(nèi)核需要的時(shí)鐘信號(hào)。程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器有各自的數(shù)據(jù)總線。指令讀取及譯碼器具有指令譯碼和控制微處理器內(nèi)核其他模塊的功能。運(yùn)算控制模塊包括算術(shù)邏輯單元,移位控制單元和十進(jìn)制調(diào)整單元。PSW為程序狀態(tài)字,存儲(chǔ)的是程序的一些標(biāo)志位,包括JF,ZF,CF,HF,SF,VF。JF為跳轉(zhuǎn)標(biāo)志位,ZF為零標(biāo)志位,CF位進(jìn)位標(biāo)志位,HF為半進(jìn)位標(biāo)志位,SF為符號(hào)標(biāo)志位,VF為溢出標(biāo)志位。所述的流水線指令結(jié)構(gòu)為單級(jí)四段流水線指令結(jié)構(gòu),程序執(zhí)行首先讀取指令碼,然后譯碼。譯碼是根據(jù)微碼的定義,以及尋址方式的不同,將操作數(shù)或者操作碼分別存儲(chǔ)于操作數(shù)寄存器、微指令碼寄存器、內(nèi)存或者特殊功能寄存器。根據(jù)譯碼后得到的指令的類型,將操作數(shù)或者需要計(jì)算的地址送入運(yùn)算控制單元進(jìn)行運(yùn)算。然后存儲(chǔ)運(yùn)算的結(jié)果,寫入寄存器或者內(nèi)存單元。然后再讀入下一字節(jié)的指令,進(jìn)行譯碼、ALU運(yùn)算、回寫存儲(chǔ)數(shù)據(jù),以此類推,直到指令結(jié)束。由于本微處理器的指令集為變長的CISC指令,每條指令長度不同,指令周期從1個(gè)機(jī)器周期到8個(gè)機(jī)器周期不等。在指令執(zhí)行的過程中,要對(duì)每條指令所執(zhí)行的機(jī)器周期和程序計(jì)數(shù)器進(jìn)行計(jì)數(shù),以控制指令的運(yùn)行。如圖2為本發(fā)明微處理器的指令執(zhí)行硬件結(jié)構(gòu)。首先根據(jù)復(fù)位向量找到程序的入口地址,程序計(jì)數(shù)器指向程序存儲(chǔ)器的程序入口單元,從程序存儲(chǔ)器讀入指令,送到兩級(jí)指令隊(duì)列控制器中的指令存儲(chǔ)寄存器,然后在兩級(jí)指令隊(duì)列控制器中的指令譯碼器中進(jìn)行譯碼。如果是操作碼,存入操作碼寄存器;如果是操作數(shù),根據(jù)對(duì)操作碼的判斷確定是寫入數(shù)據(jù)存儲(chǔ)器還是要作為立即數(shù)送入ALU進(jìn)行運(yùn)算。數(shù)據(jù)準(zhǔn)備好后,即可進(jìn)行ALU運(yùn)算操作。運(yùn)算的結(jié)果存入寄存器或者數(shù)據(jù)存儲(chǔ)器單元。當(dāng)執(zhí)行調(diào)用、返回等指令時(shí),會(huì)對(duì)程序指針進(jìn)行壓棧和出棧操作;執(zhí)行跳轉(zhuǎn)等指令時(shí),有指針偏移操作;同時(shí)在每讀下一字節(jié)指令時(shí),會(huì)對(duì)程序計(jì)數(shù)器有加1的操作。這些構(gòu)成程序計(jì)數(shù)器的來源,也是確保程序正常執(zhí)行的重要因素之一。如圖3為本發(fā)明微處理器的指令執(zhí)行節(jié)拍流程。由主時(shí)鐘分頻后獲得的四相時(shí)鐘(CLK0、CLK1、CLK2和C.LK3)來控制。每個(gè)機(jī)器周期根據(jù)4相時(shí)鐘分為4個(gè)節(jié)拍,每一節(jié)拍對(duì)應(yīng)一相時(shí)鐘。對(duì)讀入的每個(gè)微碼在4相時(shí)鐘分別執(zhí)行以下操作CLK0取指譯碼、CLK1讀所需要的寄存器中的數(shù)據(jù)、CLK2進(jìn)行ALU運(yùn)算、CLK3存儲(chǔ)運(yùn)算結(jié)果(包括調(diào)整程序計(jì)數(shù)器指針)。同時(shí),根據(jù)微碼判斷并記錄當(dāng)前指令總的周期數(shù),并在讀入指令下一個(gè)字節(jié)的時(shí)候遞加,調(diào)整程序計(jì)數(shù)器,直至當(dāng)前指令的最后一個(gè)周期,指向下一條指令,標(biāo)志位清零,開放中斷,開始執(zhí)行下一條指令。如此循環(huán)操作,直到程序結(jié)束。本發(fā)明的微處理器包括軟件中斷,地址陷阱中斷,看門狗中斷,定時(shí)器中斷和外部中斷等基本中斷。其中軟件中斷,地址陷阱中斷和看門狗中斷為不可屏蔽中斷。當(dāng)有中斷請(qǐng)求時(shí),設(shè)置中斷請(qǐng)求標(biāo)志并鎖存在中斷鎖存器中,同時(shí)自動(dòng)程序計(jì)數(shù)器壓棧。執(zhí)行完當(dāng)前指令后,響應(yīng)中斷,設(shè)置中斷使能標(biāo)志,使響應(yīng)當(dāng)前中斷過程中禁止可屏蔽中斷。中斷執(zhí)行完或復(fù)位后,開放鎖存。如圖4為本發(fā)明微處理器的中斷處理過程。本發(fā)明微處理器可擴(kuò)展各類通用的外設(shè)和通訊接口,包括同步/異步串行接口、A/D轉(zhuǎn)換器、定時(shí)計(jì)數(shù)器、LCD驅(qū)動(dòng)器等,同時(shí)也可根據(jù)微碼定義對(duì)220條指令進(jìn)行擴(kuò)展。一種典型的微處理器外設(shè)資源的應(yīng)用實(shí)現(xiàn)方式如圖5所示。圖5是本發(fā)明微處理器和外圍資源的整體結(jié)構(gòu)示意圖,在這個(gè)實(shí)施例中,整體結(jié)構(gòu)大致包括總線以及前面提到的各種外設(shè)和通信接口,以及控制模塊和時(shí)鐘、定時(shí)器模塊。時(shí)鐘發(fā)生器產(chǎn)生基本時(shí)鐘,通過時(shí)序發(fā)生器分頻產(chǎn)生主系統(tǒng)時(shí)鐘和外圍設(shè)備的工作時(shí)鐘??奢敵鏊枰姆诸l脈沖到外部端口上,并產(chǎn)生基本定時(shí)、串口、控制電路等系統(tǒng)所需要的各種時(shí)鐘??臻e狀態(tài)控制器轉(zhuǎn)換微處理器的工作狀態(tài),進(jìn)入各種空閑和睡眠模式。CPU為本發(fā)明的核心部分,如圖1所示,包括運(yùn)算和控制單元,指令讀取及譯碼器,指令隊(duì)列控制模塊,存儲(chǔ)器接口控制模塊,特殊功能寄存器,數(shù)據(jù)緩沖寄存器,通用寄存器等。系統(tǒng)上電復(fù)位后,根據(jù)復(fù)位指針從程序存儲(chǔ)器中找到程序的入口地址,以字節(jié)為單位讀入要執(zhí)行的指令并存儲(chǔ)。然后對(duì)指令進(jìn)行譯碼。譯碼時(shí)根據(jù)微碼的定義,執(zhí)行相應(yīng)的操作。表1是對(duì)每個(gè)微碼含義的解釋。<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>表l本發(fā)明的微處理器的指令長度為1~4個(gè)字節(jié),執(zhí)行周期為1~8個(gè)機(jī)器周期。沖艮據(jù)譯碼結(jié)果,將尋址方式分為立即^lt尋址、直接尋址、寄存器尋址、寄存器間接尋址、相對(duì)尋址、絕對(duì)尋址、向量尋址、直接位尋址和存儲(chǔ)器位尋址共9種類型。如圖2所示,譯碼后提取出立即數(shù)或者寄存器信息或者內(nèi)存的直接地址,通過多路選擇器進(jìn)入ALU進(jìn)行運(yùn)算,結(jié)果輸出到RAM或者相應(yīng)的寄存器單元。除程序計(jì)數(shù)器加1以外,根據(jù)不同的指令對(duì)程序計(jì)數(shù)器指針進(jìn)行調(diào)整,包括偏移量尋址、內(nèi)部堆棧的地址、跳轉(zhuǎn)指令的地址等。在指令讀取及譯碼器中對(duì)讀入的微碼進(jìn)行辨識(shí)以后,除了對(duì)當(dāng)前操作碼或者立即數(shù)進(jìn)行相應(yīng)的操作以外,還要判斷指令總的執(zhí)行周期數(shù)并記錄,以此作為標(biāo)志判斷指令是否執(zhí)行完畢,是否需要清除或者設(shè)置相應(yīng)的標(biāo)志寄存器,以保證系統(tǒng)執(zhí)行時(shí)序的正確性。UART為異步傳送模塊,本系統(tǒng)采用了兩個(gè)這樣的模塊進(jìn)行數(shù)據(jù)的接受和發(fā)送。為監(jiān)視定時(shí)器,當(dāng)CPU處于死機(jī)時(shí),會(huì)產(chǎn)生復(fù)位,跳出死循環(huán)。ADC為模擬數(shù)字轉(zhuǎn)換器,本系統(tǒng)為10位8通道的逐次逼近ADC。中斷控制器為處理中斷相應(yīng)模塊。當(dāng)中斷請(qǐng)求發(fā)生并向CPU申請(qǐng)中斷響應(yīng)時(shí),置位中斷鎖存器,在上一條指令執(zhí)行的第四相時(shí)鐘時(shí)檢測中斷鎖存器,發(fā)現(xiàn)有中斷,響應(yīng)中斷,清中斷使能標(biāo)志和中斷鎖存器,程序計(jì)數(shù)器自動(dòng)壓棧,根據(jù)向量地址表讀中斷服務(wù)程序的入口地址,寫入程序計(jì)數(shù)器,然后執(zhí)行中斷服務(wù)程序。返回后,原來的程序計(jì)數(shù)器指針自動(dòng)出棧,繼續(xù)執(zhí)行主程序。其時(shí)序圖見圖4所示。具體的應(yīng)用如圖5所示,TC1為16位定時(shí)計(jì)數(shù)器,TC3、TC4為兩個(gè)8位定時(shí)計(jì)數(shù)器,也可一起作為16位定時(shí)器使用。串口為時(shí)鐘同步串行接口,用于器件之間的通信。本系統(tǒng)的程序存儲(chǔ)器使用的是FLASHROM,大小為32K字節(jié)。隨機(jī)數(shù)據(jù)存儲(chǔ)器RAM為1536個(gè)字節(jié)的SRAM。程序存儲(chǔ)器、隨機(jī)數(shù)據(jù)存儲(chǔ)器、特殊功能寄存器和數(shù)據(jù)緩沖寄存器可連續(xù)尋址,便于訪問。通過地址映射電路可以連續(xù)的尋址64K地址空間。本微處理器為CISC結(jié)構(gòu),支持各類常見的微處理器指令。本發(fā)明的微處理器的指令集共有220條基本指令,支持各類常見的微處理器指令,包括數(shù)據(jù)傳送交換、算術(shù)邏輯運(yùn)算、乘除法運(yùn)算、比較、移位循環(huán)、半字節(jié)操作、位操作、跳轉(zhuǎn)、調(diào)用返回、進(jìn)棧出棧、空操作和軟中斷等指令,指令執(zhí)行的周期為l-8個(gè)機(jī)器周期。根據(jù)微碼的定義,指令集具有相應(yīng)的可擴(kuò)展性。指令的微碼為二進(jìn)制8位代碼和1位的前綴碼,1位前綴碼將指令微碼分為四類0表示無特定前綴操作微碼(none);1表示寄存器操作微碼(regop);2表示源操作微碼(src);3表示目標(biāo)操作微碼(dstop);4表示reset指令。例如0—00001010:MV(x),n前綴=0(none),指令微碼=00001010(0x0A)1—01101101:XORgg,mn前綴=1(regop),指令微碼=01101101(0x6D)表2為標(biāo)識(shí)位一欄為對(duì)標(biāo)志位影響的操作結(jié)果。標(biāo)識(shí)位欄中的各項(xiàng)含義^口表2所示。<table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table>表2其中"-"表示保持原來的值,"~c"表示標(biāo)志位的值取為CF的相反值。"z"表示標(biāo)志位的值取為ZF的值。"&aluz"表示標(biāo)志位的值取為與ZF相與結(jié)果的值。"A~aluz"表示標(biāo)志位的值取為與ZF相異或非結(jié)果的值。以上是對(duì)本發(fā)明的詳細(xì)介紹,任何對(duì)本發(fā)明的裝置做本
技術(shù)領(lǐng)域
內(nèi)熟知的部件的替換、組合、分立均不超出本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種基于復(fù)雜指令集計(jì)算機(jī)結(jié)構(gòu)的微處理器架構(gòu),其特征在于該微處理器包括程序存儲(chǔ)器,隨機(jī)數(shù)據(jù)存儲(chǔ)器,特殊功能寄存器,數(shù)據(jù)緩沖寄存器,通用寄存器,數(shù)據(jù)總線和地址總線,存儲(chǔ)器接口,運(yùn)算和控制模塊,指令讀取及譯碼器,指令隊(duì)列控制模塊,所述的數(shù)據(jù)總線分為各自分離的8位程序數(shù)據(jù)總線和8位內(nèi)部隨機(jī)數(shù)據(jù)總線。2、如權(quán)利要求1所述的微處理器架構(gòu),其特征在于所述的運(yùn)算控制模塊包括算術(shù)邏輯單元,移位控制單元和十進(jìn)制調(diào)整單元。3、如權(quán)利要求1所述的微處理器架構(gòu),其特征在于所述的存儲(chǔ)器接口控制單元包括程序計(jì)數(shù)器,地址寄存器,存儲(chǔ)器地址的產(chǎn)生電路,和數(shù)據(jù)的讀寫功能的電路。4、如權(quán)利要求1所述的微處理器架構(gòu),其特征在于所述的指令讀取及譯碼器包括對(duì)指令的譯碼和CPU核中其他單元的控制。5、如權(quán)利要求1所述的微處理器架構(gòu),其特征在于所述的程序存儲(chǔ)器,隨機(jī)數(shù)據(jù)存儲(chǔ)器,特殊功能寄存器和數(shù)據(jù)緩沖寄存器區(qū)域是空間獨(dú)立的,利用地址映射電路將他們的地址映射在連續(xù)的空間上,并具有可擴(kuò)展性。6、如權(quán)利要求1所述的微處理器架構(gòu),其特征在于該微處理器的指令集共有220條基本指令,支持各類常見的微處理器指令,包括數(shù)據(jù)傳送交換、算術(shù)邏輯運(yùn)算、乘除法運(yùn)算、比較、移位循環(huán)、半字節(jié)操作、位操作、跳轉(zhuǎn)、調(diào)用返回、進(jìn)棧出棧、空操作和軟中斷等指令,指令執(zhí)行的周期為1~8個(gè)機(jī)器周期,指令集具有相應(yīng)的可擴(kuò)展性。7、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括42條數(shù)據(jù)傳送指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)傳送到目的地址中,由于源地址和目的地址可以是多種尋址方式,使得每條指令包含14個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址提取數(shù)據(jù)d.控制數(shù)據(jù)寫入目的地址。8、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括70條算術(shù)邏輯運(yùn)算指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)與目的地址的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算,每條指令包含1~4個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將地址數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址和目的地址提取數(shù)據(jù)傳送至通用算術(shù)邏輯單元d.控制通用算術(shù)邏輯單元執(zhí)行指令要求的算術(shù)邏輯操作e.控制將運(yùn)算的結(jié)果寫入目的寄存器。9、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括2條乘除法指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)寄存器y與累加器a中的無符號(hào)數(shù)相乘并回寫結(jié)果,指令實(shí)現(xiàn)寄存器對(duì)y、a與寄存器b中的無符號(hào)數(shù)相除并回寫。10、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括12條比較指令,每條指令有其唯一的操作碼識(shí)別,指令實(shí)現(xiàn)將源地址的數(shù)據(jù)與目的地址的數(shù)據(jù)進(jìn)行比較,每條指令包含14個(gè)字節(jié)不等的指令編碼,產(chǎn)生一類控制信號(hào)控制完成a.控制有關(guān)寄存器將地址數(shù)據(jù)傳送至通用算術(shù)邏輯單元b.控制通用算術(shù)邏輯單元完成地址的計(jì)算c.控制從源地址和目的地址提取數(shù)據(jù)傳送至通用算術(shù)邏輯單元d.控制通用算術(shù)邏輯單元執(zhí)行減法操作e.控制將減法的結(jié)果設(shè)置標(biāo)志寄存器。11、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括16條循環(huán)移位和半字節(jié)操作指令,每條指令有其唯一的搡作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)寄存器或者寄存器與內(nèi)存的數(shù)據(jù)的移位或者半字節(jié)移位。12、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括48條位操作指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)對(duì)寄存器或者內(nèi)存單元數(shù)據(jù)的位進(jìn)行設(shè)置和運(yùn)算。13、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括14條跳轉(zhuǎn)指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),指令根據(jù)偏移量實(shí)現(xiàn)程序的跳轉(zhuǎn)。14、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括10條調(diào)用、返回指令,每條指令有其唯一的操作碼識(shí)別,根據(jù)不同的尋址方式,產(chǎn)生控制信號(hào),根據(jù)不同的尋址方式,指令實(shí)現(xiàn)子程序的調(diào)用和返回。15、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括4條進(jìn)棧退棧指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)對(duì)程序狀態(tài)字和寄存器內(nèi)容的壓棧和出棧。16、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括l條軟中斷指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)軟件中斷。17、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的指令集包括l條空操作指令,產(chǎn)生控制信號(hào),指令實(shí)現(xiàn)空操作。18、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述的讀入的指令通過所述的指令讀取及譯碼器分解,按分解后的微指令碼進(jìn)行譯碼,并執(zhí)行相應(yīng)的操作,根據(jù)尋址方式不同,譯碼后將操作數(shù)或者操作碼分別存儲(chǔ)于不同的操作數(shù)寄存器、微指令碼寄存器、內(nèi)存或者特殊的寄存器。19、如權(quán)利要求6所述的微處理器的指令集,其特征在于所述不同的尋址方式按尋址類型分別為立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋址、相對(duì)尋址、絕對(duì)尋址、向量尋址、直接位尋址和存儲(chǔ)器位尋址共9種類型。20、如權(quán)利要求6所述的微處理器的指令集,其特征在于指令執(zhí)行的順序是在時(shí)鐘的第一相讀入指令碼并譯碼,同時(shí)處理中斷等,第二相讀內(nèi)存單元或者寄存器的數(shù)據(jù)并存儲(chǔ),第三相執(zhí)行通用算術(shù)邏輯單元操作,完成指令要求的各種運(yùn)算或者偏移量的計(jì)算,第四相將指令運(yùn)算得的結(jié)杲寫入內(nèi)存及相關(guān)寄存器,同時(shí)在每一相時(shí)鐘內(nèi)進(jìn)行相關(guān)標(biāo)志位的設(shè)置和指令周期計(jì)算的操作。21、如權(quán)利要求6所述的微處理器的指令集,其特征在于中斷處理的方式為當(dāng)中斷請(qǐng)求發(fā)生時(shí),置位中斷鎖存器,在前一條指令執(zhí)行的第三相時(shí)鐘時(shí)檢測中斷鎖存器,響應(yīng)中斷,并清零中斷使能標(biāo)志和中斷鎖存器,程序計(jì)數(shù)器在中斷程序執(zhí)行前后自動(dòng)壓棧和出棧;所述的中斷的種類包括軟件中斷、外部中斷、定時(shí)器中斷、看門狗中斷、串行接口中斷、異步傳送接口中斷、地址陷阱中斷,中斷可嵌套。除了軟件中斷,看門狗中斷和地址陷阱中斷外,可對(duì)中斷請(qǐng)求進(jìn)行屏蔽。全文摘要一種基于復(fù)雜指令集計(jì)算機(jī)結(jié)構(gòu)的微處理器架構(gòu),包括程序存儲(chǔ)器,隨機(jī)數(shù)據(jù)存儲(chǔ)器,特殊功能寄存器,數(shù)據(jù)緩沖寄存器,通用寄存器,數(shù)據(jù)總線和地址總線,存儲(chǔ)器接口,運(yùn)算和控制模塊,指令讀取及譯碼器,指令隊(duì)列控制模塊,所述的數(shù)據(jù)總線分為各自分離的8位程序數(shù)據(jù)總線和8位內(nèi)部隨機(jī)數(shù)據(jù)總線。本發(fā)明適用于實(shí)時(shí)控制各類嵌入式、SOC系統(tǒng),可廣泛應(yīng)用于家電、民用通信、汽車電子等電子產(chǎn)品中。文檔編號(hào)G06F9/318GK101178644SQ20061011827公開日2008年5月14日申請(qǐng)日期2006年11月10日優(yōu)先權(quán)日2006年11月10日發(fā)明者史衛(wèi)東,谷志坤,趙啟山申請(qǐng)人:上海海爾集成電路有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
承德县| 建阳市| 盘锦市| 周至县| 镶黄旗| 马龙县| 红桥区| 响水县| 兴隆县| 大新县| 宝丰县| 南靖县| 呼和浩特市| 太仓市| 福州市| 灵石县| 墨玉县| 廉江市| 闽侯县| 台南县| 德江县| 阿克苏市| 柞水县| 大安市| 博野县| 抚顺市| 屯昌县| 汾西县| 三穗县| 黔西县| 额济纳旗| SHOW| 远安县| 米林县| 应城市| 巴楚县| 兰溪市| 许昌市| 柘荣县| 元氏县| 建平县|