TWI541658B - 資料處理裝置及半導體積體電路裝置 - Google Patents

資料處理裝置及半導體積體電路裝置 Download PDF

Info

Publication number
TWI541658B
TWI541658B TW103145485A TW103145485A TWI541658B TW I541658 B TWI541658 B TW I541658B TW 103145485 A TW103145485 A TW 103145485A TW 103145485 A TW103145485 A TW 103145485A TW I541658 B TWI541658 B TW I541658B
Authority
TW
Taiwan
Prior art keywords
data
endian
address
memory
cpu
Prior art date
Application number
TW103145485A
Other languages
English (en)
Other versions
TW201530320A (zh
Inventor
石川直
豬狩誠司
永山廣美
Original Assignee
瑞薩電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞薩電子股份有限公司 filed Critical 瑞薩電子股份有限公司
Publication of TW201530320A publication Critical patent/TW201530320A/zh
Application granted granted Critical
Publication of TWI541658B publication Critical patent/TWI541658B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion

Description

資料處理裝置及半導體積體電路裝置
本發明關於具有處理器之資料處理裝置。
具有CPU(中央處理裝置)或DSP(數位信號處理器)等處理器的資料處理裝置,例如所謂微電腦(亦稱微處理器、微控制器、微電腦)之半導體積體電路裝置中,關於二進位資訊之資料排列有稱為Little Endian(小端格式)之資料排列與稱為Big Endian(大端格式)之資料排列者。
微電腦所處理之二進位資訊有:作為微電腦之動作控制指令而被處理的二進位資訊;與藉由該指令之執行而被處理之資料的二進位資訊;於某一特定微電腦中指令與資料同時採用Little Endian與Big Endian之其中一方,而進行資料處理乃通常者。
另外有:如專利文獻1之揭示之,針對微電腦之指令與資料之雙方之Endian(端格式),可以對應於Little Endian/Big Endian雙方之Endian的微電腦,或者如專利 文獻2之揭示之,針對微電腦處理之資料,可變更Little Endian/Big Endian的微電腦。
專利文獻2揭示之微電腦構成,係對應於儲存之資料為Little Endian或Big Endian,而可變更位元組單位之資料排列,不論任一Endian均可予以處理。
又,於微電腦,亦被要求削減儲存指令或資料必要之記憶體容量,而提升適當之消費電力之指令之執行/資料之處理效率。
專利文獻1:特開2000-820009號公報
專利文獻2:特開2005-174296號公報
現在,具有CPU(為區別功能之揭示與形成於半導體上之物理區域之揭示時,上述標記為CPU、後者標記為CPU核心,無須區別時則標記為CPU)或DSP(數位信號處理器)等處理器的資料處理裝置(以下單稱為微電腦)之開發中,將CPU本身之功能、CPU核心與各種周邊功能方塊(稱為周邊功能IP或周邊功能IP核心),構成於半導體基板上,於CPU控制下使各種周邊功能方塊動作,全體構成為可進行對應於1個目的之處理者。此情況下,由稱為所謂IP核心推銷商的專門從事特定之周邊功能方塊的設計開發之企業,購入必要之周邊功能方塊,使用公司本身過去設計或以其他製品設計之周邊功能方 塊,而構成於半導體基板上,針對以此為目的之微電腦進行設計開發。
於此種微電腦之設計開發體制會產生:購入或公司本身設計之周邊功能方塊之資料之Endian和CPU本身之Endian之差異,或者應從動之周邊功能方塊彼此之Endian亦有可能產生差異。
習知技術上,產生此種Endian之差異時,係選擇和CPU之Endian一致的周邊功能方塊,或者再度進行設計以使和CPU之Endian成為一致。
本發明人有鑑於此種微電腦之開發體制,而發現特別是如專利文獻2揭示之Endian轉換時,有損及CPU及微電腦全體之處理性能。
本發明之一目的在於提供進行較適合之Endian轉換的微電腦。
本發明之另一目的在於提供,不受Endian種類之影響,CPU可使用共通之程式及共通之向量位址之Endian方式的資料處理裝置。
CPU所處理之資料,被設為可以選擇Little Endian或Big Endian之其中一方。在CPU與記憶體間進行資料傳送時,不論Endian為其中任一方,在CPU之向量位址之大小中之資料傳送排列均可以設定成為一致。
藉由將指令碼之Endian予以固定,而可以使用同一 程式之同時,資料之Endian被設為可變,向量表格之各向量位址為N位元時,針對被對齊(align)成為N位元的N位元大小之資料進行存取時,不論資料之Endian為Big Endian/Little Endian之其中任一之情況下均可不受Endian之影響,而可以被控制成為以同一位址/同一對齊(alignment)進行存取。另外,設置機構,用以在CPU對記憶體進行和N位元不同單位之資料存取時,以適合CPU內之資料暫存器之位元組單位之各編號所儲存之資料之編號及對齊的方式,針對由記憶體取得之資料之編號及對齊予以變更。
1‧‧‧CPU
2‧‧‧位址匯流排
3‧‧‧資料匯流排
4‧‧‧記憶體
5‧‧‧指令匯流排
9‧‧‧暫存器
11、13‧‧‧對齊器
14‧‧‧Big Endian用周邊資料匯流排
17‧‧‧Little Endian用周邊資料匯流排
BSC‧‧‧匯流排控制器
INTC‧‧‧中斷控制器
PC‧‧‧程式計數器
IR‧‧‧指令暫存器
iDec‧‧‧指令解碼器
圖1為第1實施形態之微電腦之一部分之構成方塊圖。
圖2為被儲存於記憶體區域的向量表格之模式圖。
圖3為By-Endian(大小端格式)中,CPU進行資料之讀出或寫入動作時信號配線關係之模式方塊圖。
圖4為32位元資料存取時,CPU內之暫存器之各編號與記憶體內之儲存區域之各編號間之連接關係之模式方塊圖。
圖5為讀出記憶體區域內儲存之資料,將其儲存於暫存器時之記憶體及暫存器中之位元組順序(byte order)之圖。
圖6為第2實施形態之CPU與CPU周邊I/O裝置 間之連接關係之模式方塊圖。
圖7為記憶體構成之模式圖。
圖8為微電腦之概略構成圖。
圖9為CPU之概略構成圖。
圖10為CPU與記憶體間之概略連接關係之圖。
圖11為CPU所分配之記憶體之位址空間之圖。
圖12為記憶體與暫存器間之資料傳送時之存取關係之圖。
圖13為對齊器之一例之圖。
圖14為中斷向量位址單位之資料傳送時之對齊器連接狀況之一例之圖。
圖15為具有不同Endian之周邊功能方塊的微電腦之概略構成圖。
圖16為對齊器之一例之圖。
圖17為微電腦執行之程式之開發工具之流程概略圖。
圖18為微電腦之處理性能之評估項目例之圖。
圖19為指令之管線(pipeline)處理之概略圖。
圖20為哈佛架構(Harvard Architecture)之匯流排構成之概略圖。
圖21為哈佛結構之管線處理之概略圖。
圖22為使用積項之和運算器的運算例之圖。
圖23為使用浮點運算器的運算例之圖。
圖24為使用積和運算器和浮點運算器的另一運算例 之圖。
圖25為出現於程式的指令之出現頻率之圖。
圖26為出現頻率高的指令之中,縮小指令大小(instruction size)後的指令之一例之圖。
圖27為Register Indirect with Index(附加指標的暫存器間接)定址(addressing)之位址運算(address operation)之圖。
圖28為附加Post increment/Pre-decrement功能的暫存器間接定址之位址運算之圖。
圖29為3操作元(operand)指定之運算圖。
圖30為微電腦之暫存器構成之一例。
圖31為中斷處理之高速化之一例之圖。
圖32為高速中斷處理之暫存器使用例之圖。
圖33為高速中斷處理之處理執行開始為止之時間例之圖。
圖34為記憶體保護功能之概略圖。
圖35為Endian轉換指令之一例之圖。
圖36為時脈閘控(Clock Gating)設計之概略圖。
圖37為關鍵路徑(critical path)之時序衝突(timing violation)解決設計之概略圖。
圖38為電源組(power domain)分割之概略圖。
圖39為於微電腦使用快閃記憶體時之處理性能之概略圖。
(第1實施形態)
圖1為本實施形態之微電腦之一部分之構成方塊圖。又,於圖1省略後述之對齊器11之記載。
於圖1,記憶體4,為可讀/寫的記憶媒體,由例如SRAM等之揮發性記憶體或快閃記憶體(EEPROM之一例)等之非揮發性記憶體構成,和CPU1被搭載於同一半導體晶片上。或者,記憶體4,亦可和CPU1被搭載於不同之半導體晶片上。或者,於實用上記憶體4,可如例如USB記憶體存在於本微電腦之外部,而且介由USB端子之連接端子被連接於後述之本微電腦之系統匯流排。
記憶體4具有:儲存區域4R1,用於儲存指令碼(以下單稱為「指令」);儲存區域4R2,用於儲存程式之執行時利用的資料;及儲存區域4R3,用於儲存彼等以外之資料等信號。
本實施形態中,其特徵點之一為,指令之Endian經常僅被固定於Little Endian或Big Endian之其中一方。因此,僅於CPU1取出指令時始可以使用的指令匯流排5之Endian,亦僅被固定於Little Endian或Big Endian之其中一方。另外,本例中構成為:指令之Endian經常被固定於Little Endian者。
相對於此,被儲存於儲存區域4R2之指令執行時使用之資料之Endian,因為CPU1執行讀出動作或寫入動作時使用的資料匯流排3之Endian為可變,因而可以被設為 Little Endian或Big Endian之其中任一方。本實施形態中,位址匯流排2、資料匯流排3、及指令匯流排5之可傳送信號之位元量均為32位元。因此,在多重位元組(multi-byte)之二進位數值之資料的傳送用之By-Endian(大小端格式)之中,資料匯流排3係由個別傳送8位元(1位元組)之資料的4組信號線構成(相當於後述之圖3之信號線30~33)。另外,位址匯流排2、資料匯流排3、及指令匯流排5,不僅為實體上不同匯流排之構成,即使是實體上作為1個匯流排而構成、時間上作為不同匯流排功能(所謂分割處理匯流排(split transaction bus)等)者,亦應被理解為表示該匯流排之功能時間者。
圖2為被儲存於記憶體4之儲存區域4R3的向量表格6之構成模式圖。向量表格6,係各具有N位元之大小的複數個向量位址7被彙整配置之區域。亦即,各向量位址7係一位址,用於和本微電腦起動時之重置信號之輸入,及例如除錯處理程式執行等之特定共通使用中斷程式之處理要求的中斷信號之輸入(稱兩者為「中斷主要原因」)對應地,供給和各中斷主要原因對應於而是先被決定的儲存區域4R1內之該中斷處理程式之儲存位置。首先,起動時,由外部被輸入重置信號時,N位元之重置向量位址8介由資料匯流排3被讀出,重置向量位址8被輸出至CPU1。另外,於CPU1之動作時,在中斷信號被輸入至CPU1時,和輸入之中斷信號對應之向量位址7,會介由資料匯流排3被讀出,被輸出至CPU1。本實施形態之一 例中,包含重置向量位址8之各向量位址7的位元單位之大小N被設為32(N=32)。另外,該重置時係藉由CPU1所供給之Endian信號之位準,使資料匯流排3之Endian被切換。亦即,電源投入重置(power on reset)時,使專用之模態端子之狀態及泛用I/O埠(外部端子)與兼用之模態端子之狀態被取入微電腦,閂鎖於例如暫存器,在CPU1存取向量位址之前可以確定資料為Little Endian或Big Endian之其中一方。
其中,向量表格6,亦可儲存於和儲存指令及資料的記憶體(第1記憶體)4不同的可讀/寫的ROM(第2記憶體)之記憶區域內。本實施形態之一例之中定義為,記憶體4的記憶區域內儲存指令及資料的區域4R1、4R2係相當於第1記憶體,儲存向量表格6的區域4R3係相當於第2記憶體。
另外,圖1之記憶體4以RAM(第1記憶體)構成時,和記憶體4獨立設置,被搭載於本微電腦內之半導體晶片上之作為第2記憶體的,或作為外部之第2記憶體(USB記憶體)的儲存向量表格6之用的可讀/寫之ROM。
圖7為記憶體構成之模式圖。複數個記憶格以陣列形狀被配置,各個記憶格被連接於對應之字元線與位元線。通常,記憶體係依據CPU等供給之存取位址,X解碼器將特定字元線設為活化,Y解碼器介由位元線讀出該字元線所連接之記憶格儲存之資料。例如被供給存取位址之位 址0時,0字元線被設為活化之記憶體,則由第0字元線之第0位元線起應被存取之位元組數之資料會被供給至CPU。亦即,被供給存取位址X時,第Y字元線(Y=X’/I,X’為X×8之X之位元表現,I為字元線單位之記憶格數)被設為活化,由第Z位元線(Z=X’ mod I,mod為餘數運算)被讀出資料。
圖3為By-Endian(大小端格式)中,CPU進行資料之讀出或寫入動作時之信號配線關係之模式方塊圖。配置於CPU1內的暫存器(資表暫存器,主要使用泛用暫存器9,係依據位元組單位,具有被付予4個編號0、1、2、3的記憶區域90、91、92、93。另外,記憶體4之儲存區域4R2之記憶格陣列,係依據位元組單位,以分別被付予編號0、1、2、3的4個儲存區域10A、10B、10C、10D為一組的儲存區域10被對齊於行方向及列方向而成。對齊器11係由:對應於CPU1輸出之控制信號CNT1來切換ON/OFF動作的各開關形成之開關群(未圖示)構成。對齊器11之功能,係使在儲存區域10之各編號10A、10B、10C、10D,經由對應之位元線被連接的各信號線(資料匯流排3之各線),與暫存器9之各編號90~93所連接之信號線,對應於資料乃至資料匯流排3之Endian之種類予以連結。圖4為32位元資料存取時,CPU1內之暫存器之各編號與記憶體內之儲存區域之各編號間之連接關係之模式方塊圖。設定暫存器9之0編號90側為LSB、3編號93側為MSB,記憶體4之0編號 10A側為LSB、3編號10D側為MSB,則對齊器11表示資料為Little Endian時之連接關係。
其中,CPU1,將32位元之資料記憶於記憶體4之儲存區域10(存取位址X)時,係事先如下使32位元之資料被記憶於各編號10A~10D,而將記憶體4之區域4R2之位址予以規定。亦即,如圖5所示,(1)資料以Little Endian被記憶時,將儲存於暫存器的資料之LSB側設為+0之位元組順序(byte order),將MSB側設為+3之位元組順序(byte order),如此而決定資料之位元組順序。另外,於記憶體之儲存對象位址亦同樣決定+0~+3之位元組順序,使儲存於暫存器的資料之位元組順序,與針對記憶體之儲存對象位址所決定之位元組順序,成為一致而予以儲存資料。另外,(2)資料以Big Endian被記憶時,將儲存於暫存器的資料之MSB側設為+0之位元組順序,將LSB側設為+3之位元組順序,如此而決定資料之位元組順序,於記憶體之儲存對象位址亦決定位元組順序,將資料儲存於記憶體。針對記憶體之儲存對象位址所決定之+0~+3之個別之位元組順序,係對應於各編號10A~10D。
起動時,由外部輸入重置信號,CPU1藉由操作元之存取,取得如圖2所示32位元之重置向量位址8。該32位元之重置向量位址8,用於提供被儲存於記憶體4之區域4R1之指令之位址。另外,中斷信號被輸入致CPU1時,CPU1會自動執行操作元之存取,取得32位元之向量 位址7。此狀態下,依據重置向量位址8或對應於中斷主要原因的向量位址7,來執行指令取出動作,對取出之指令執行解碼之後,移至指令執行之動作。此時,由記憶體取得重置向量位址8及和向量位址7同一資料大小的32位元之資料,以及由記憶體取得和向量位址7不同資料大小的16位元之資料之情況分別如下之記載。
圖5表示在資料傳送時,資料對齊(data alignment)之變更如何被進行。位址0之箭頭所示位置係對應於記憶體之4位元組境界(第32n位元線),在32位元分(第32(n+1)-1位元線為止)之記憶格被儲存於32位元之資料。針對該資料之儲存狀態,對齊器會對應於該資料之Endian來分配位元組順序,而傳送至暫存器。於個別之Endian,係使儲存於記憶體之位元組順序,與儲存於暫存器時之位元組順序成為一致而予以儲存,因此4位元組傳送時不受Endian影響,而使儲存於暫存器之資料順序成為一致。
進行16位元之資料傳送時,資料對齊之變更如下。由記憶體之4位元組境界針對32位元分之資料,對齊器係對應於該資料之Endian來分配位元組順序。使和各個Endian之+0/+1之位元組順序相當的資料,由暫存器之LSB起依序儲存。如圖所示,於Little Endian,對齊器所分配之位元組順序之+0相當於暫存器之LSB,因此被儲存於記憶體之2位元組之資料與被儲存於暫存器2位元組之資料成為一致。另外,於Big Endian,對齊器所分配 之位元組順序之+0相當於暫存器之MSB,因此,4位元組傳送時,暫存器之MSB側被儲存之2位元組之資料,係被儲存於暫存器之LSB側。另外,被儲存於暫存器之MSB側2位元組的“**”,係表示“0”或“1”或資料之符號位元被擴大儲存之意。
以上之記述,對於CPU1進行8位元資料存取時亦適用。
另外,於上述一例之動作記載中係以資料之讀出動作為中心予以記載,但是上述本實施形態之特徵點對於資料之寫入動作中,亦可適用於使儲存於暫存器之資料之位元組順序和儲存於記憶體時對齊器所分配之位元組順序同樣對應者。
如上述說明,採用本實施形態之構成作為資料處理裝置之構成時,在向量位址及和向量位址同一大小之資料傳送中,可以不受資料之Endian種類影響,在同一位址與同一資料Endian可使資料對於記憶體進行讀/寫,此時可執行共通之程式之同時,可使向量表格共通化。
(第2實施形態)
本實施形態之特徵點,係於第1實施形態之By-Endian的微電腦中,使CPU周邊之各I/O裝置與CPU間之資料匯流排,分離設為Little Endian專用之資料匯流排與Big Endian專用之資料匯流排。
圖6為本實施形態之特徵點之模式方塊圖。如圖6所 示,在CPU1,和CPU1之周邊I/O裝置間進行資料傳送的資料匯流排,係設有Big Endian專用之資料匯流排14,及Little Endian專用之資料匯流排17。各Big Endian專用之周邊I/O裝置15、16,係介由各個信號線被連接於Big Endian專用之資料匯流排14,另外,各Little Endian專用之周邊I/O裝置18、19,係介由各個信號線被連接於Little Endian專用之資料匯流排17。各周邊I/O裝置有例如中斷控制電路(INTC)或直接記憶體存取控制器(DMAC)或序列通信介面(SCI)等。
CPU1,係將在CPU1與CPU1之周邊I/O裝置15~19間互相傳送之資料,儲存於I/O暫存器12。被儲存於I/O暫存器12之資料之Endian,係Little Endian或Big Endian之其中一方。對齊器13,係於CPU1輸出之控制信號CNT2之控制下,對應於I/O暫存器12所儲存之資料之Endian種類,使I/O暫存器12內之該資料之位元組順序,和Big Endian專用之資料匯流排14及Little Endian專用之資料匯流排17內之該資料匯流排被分配之位元組順序成為一致而予以連接。被設為依據周邊I/O裝置內之暫存器及記憶體等處於哪一位址範圍,而可以判別Little Endian或Big Endian。亦即,藉由解碼CPU1存取之位址,而可以決定控制信號CNT2之狀態。
藉由採用上述構成,使在周邊I/O裝置與CPU間被傳送之資料之Endian被固定化,於對周邊I/O裝置之存取處理中,可以不受Endian種類之影響,可以使用共通 之程式。亦即,藉由對齊器13使資料之位元組順序被設為適合各個周邊I/O裝置,因此即使使用Big Endian用周邊I/O裝置與Little Endian用周邊I/O裝置兩方進行資料處理之情況下,在CPU執行之程式中可以不必要考慮進行資料之Endian轉換等的周邊I/O裝置之資料之Endian處理。另外,1個半導體基板上具有複數個資料處理模組(稱為所謂功能IP,相當於圖6之周邊I/O裝置)的資料處理裝置中,構成為對應於資料處理模組本身之資料之Endian來分離匯流排,介由對齊器而連接於CPU,如此則,於資料處理裝置構成中,可以減輕使資料之Endian成為一致而選擇資料處理模組,或者資料處理裝置之CPU執行的程式中依據每一資料處理模組來轉換資料之Endian等,構成資料處理裝置時之硬體/軟體之負擔可以被減輕。
(第3實施形態)
圖8為微電腦MCU之一例之概略構成圖。
中央處理裝置(以下稱CPU)1,係取出被儲存於非揮發性記憶體ROM或揮發性記憶體RAM的指令予以執行,而進行微電腦MCU全體之處理控制。直接記憶體存取控制器DMAC,係於外部記憶體EMEM等與記憶體4(由非揮發性記憶體ROM或揮發性記憶體RAM等構成)之間,或於記憶體4與周邊電路群(IP1、IP2)之間進行資料傳送控制。匯流排控制器BSC,係在CPU1其他 之功能方塊介由匯流排進行資料傳送等時,進行匯流排權之賦與等之控制。中斷控制器INTC,係接受微電腦MCU內部或外部產生之中斷,進行對CPU1通知等之控制。周邊電路群(IP1、IP2)為,在和微電腦MCU外部所連接之其他半導體積體電路裝置間進行通信的通信IF(介面)系列(序列IO(輸入/輸出)、並列IO等)、專用資料處理系列列(影像處理方塊、加密處理方塊等)。外部匯流排介面BIF,係介由連接於微電腦MCU外部的匯流排,而被連接於外部記憶體EMEM。
圖9為CPU1內之概略方塊圖。圖10為CPU1之記憶體存取關係圖。圖11為CPU1所分配之記憶體4之位址空間圖。於圖11,位址之右側之「H」表示位址以16進位標記,另外,於圖11僅表示各區域之先頭位址之位址。
圖8之CPU1和其他之功能方塊連接之匯流排,係由如圖10所示32位元長之位址匯流排2、32位元長之資料匯流排3、及32位元長之指令匯流排5構成。其他之匯流排構成可為,位址、資料及指令於匯流排信號線上,以分時進行資訊之處理的分割處理匯流排之構成。另外,資料及指令不被並列存取之架構時,資料匯流排3與指令匯流排5不被分離,而以同一匯流排構成亦可。另外,資料匯流排3與指令匯流排5為64位元長亦可。
CPU1進行指令取出時,將32位元長之程式計數器PC所儲存之應被取出之指令位址輸出至位址匯流排2,介 由位址匯流排2而受信該位址的記憶體4,則將該位址對應之二進位資訊輸出至指令匯流排5。CPU1,係將由指令匯流排5受信之應執行二進位資訊的指令儲存於指令暫存器IR,於指令解碼器iDEC進行指令之解碼,和解碼結果對應之控制信號會被輸出至算術邏輯單元ALU、乘法器MLT、除法器DIV、移位運算器SHFT、浮點運算器等之運算器,於運算器對被儲存於暫存器群REG(泛用暫存器或專用暫存器)或記憶體4等之資料執行該運算處理。
另外,CPU1由中斷控制電路INTC受信中斷通知時,CPU1為進行和受信之中斷通知對應之中斷處理,而將記憶體4之中斷向量表格區域(圖11之位址FFFFFD00H~FFFFFDFFH)之位址之中和受信之中斷通知對應之位址輸出至位址匯流排2,記憶體4則將該位址對應之二進位資訊輸出至資料匯流排3。CPU1係以由資料匯流排3受信之二進位資訊作為中斷處理子程式(interrupt process routine)被儲存之位址(稱為向量位址)而設定於程式計數器PC,為執行中斷處理子程式之指令而進行分歧。其中,向量位址為32位元(4位元組)長。另外,來自中斷控制器INTC之中斷通知以外的例外處理(例如特權指令例外處理、未定義指令例外處理等)之向量位址,亦被儲存於中斷向量表格區域。
又,重置向量區域(圖11之位址FFFFFE00H)係用於儲存位址(例如起動(boot)指令區域之先頭位址0000H),於該位址則儲存有:微電腦MCU被電源投入 或由外部被輸入重置信號時,在重置期間終了之後應立刻執行之程式。中斷處理與重置處理係在發生之原因為中斷或重置有所差異,但於分歧位址之取得大致相同。
起動指令區域、第1程式區域、第2程式區域及中斷處理子程式區域等之程式區域所儲存之指令之Endian,係被固定於Little Endian或Big Endian之其中一方。另外,重置向量區域及中斷向量表格等之向量區域之資料之Endian,亦被固定於Little Endian或Big Endian之其中一方。彼等之Endian之固定,可於微電腦製造時被固定,或至遲在存取電源投入重置後向量區域之前被固定。後者情況下,係在電源投入重置時,將專用之模態端子或兼作為泛用I/O埠(外部端子)的模態端子之狀態,取入微電腦,閂鎖於例如暫存器,使CPU1在存取向量位址之前可以確定資料為Little Endian或Big Endian之其中一方。
第1程式被儲存於記憶體4之位址1000H~1FFFH之範圍之區域。第2程式被儲存於記憶體4之位址3000H~3FFFH之範圍之區域。第1程式及第2程式分別具有第1資料區域(位址2000H~2FFFH)及第2資料區域(位址4000H~4FFFH)。第1程式係將第1資料區域之資料之Endian設為Little Endian而施予資料處理,第2程式係將第2資料區域之資料之Endian設為Big Endian而施予資料處理。例如第1程式為,針對以Little Endian執行資料處理的周邊電路所產生之資料進行處理者,第2程式則為,針對以Big Endian執行資料處理的周邊電路所產生之 資料進行處理者。
依據CPU1之位址空間的位址範圍,來事先決定處理Little Endian或Big Endian之其中一方之資料。又,亦可構成為依據位址範圍,藉由CPU而可以將處理Little Endian或Big Endian之其中一方之資料等設定於暫存器。另外,重置解除後,使內藏之非揮發性記憶體事先儲存之資料自動被傳送至暫存器,如此而設為可處理Little Endian或Big Endian之其中一方資料亦可。
CPU1執行第1程式期間由中斷控制器INTC產生中斷通知時,對中斷向量表格區域(位址FFFFFD00H~FFFFFDFFH)之存取,係以事先被固定之Endian進行存取。
另外,CPU1執行第2程式期間由中斷控制器INTC產生中斷通知時,對中斷向量表格區域之存取,係以事先被固定之Endian進行存取。
圖12為記憶體4與CPU1之暫存器9間之資料傳送時之存取關係之圖。圖13為對齊器11之一例之圖。
由記憶體4對暫存器9(暫存器群REG之中之1個暫存器)進行資料傳送時,應傳送之資料被儲存於記憶體4之10A~10D之區域時,相對之位址位移0編號之資料(10A),係被輸出至資料匯流排3之中之標記30所示8位元之部分之匯流排。以下同樣,位址位移1編號~3編號之資料(10B~10D),係被輸出至標記31、32、33所示8位元之部分之匯流排。被輸出至標記30~33所示各 個之部分匯流排的資料,係對應於控制信號CNT1之狀態由對齊器11來決定,被儲存於暫存器之相對之位址位移0編號~3編號之哪一8位元之部分區域。控制信號CNT1,係依據Little Endian或Big Endian、對記憶體4之存取大小、存取位元組位址等資訊,而被產生之信號。
首先,針對由記憶體4對暫存器之資料傳送,以重置向量位址或中斷向量位址等之向量位址(以下稱中斷向量位址)之大小、亦即4位元組予以存取加以說明。此情況下,對齊器11被設為如圖14所示連接狀態。圖14為4位元組之存取時,CPU內之暫存器之各編號與記憶體4內之儲存區域之各編號間之連接關係之模式方塊圖。設定暫存器9之0編號90側為LSB、3編號93側為MSB,記憶體4之0編號10A側為LSB、3編號10D側為MSB時,對齊器11表示記憶體4內之資料與CPU1內之資料之Endian為同一時之連接關係。亦即,表示CPU1內之資料之Endian為Little Endian時,記憶體4內之資料之Endian為Little Endian。以下說明CPU1內之資料之Endian為Little Endian之一例。
於圖13,對第1資料區域之資料(Little Endian之資料)執行4位元組存取時,部分匯流排〔0:7〕(資料匯流排30)、〔8:15〕(資料匯流排31)、〔16:23〕(資料匯流排32)、〔24:31〕(資料匯流排33)所連接之4位元組之資料被輸出,使輸出至部分匯流排〔24:31〕的資料成為暫存器之MSB側,而予以儲存於暫存器 9之位址位移0編號(90)、1編號(91)、2編號(92)、3編號(93)。另外,對第2資料區域之資料(Big Endian之資料)執行存取時,使輸出至部分匯流排〔24:31〕的資料成為暫存器之MSB側,而將部分匯流排〔0:7〕、〔8:15〕、〔16:23〕、〔24:31〕所連接之個別之資料,儲存於暫存器9之位址位移0編號、1編號、2編號、3編號。亦即,不論存取第1資料區域或第2資料區域之任一資料時,在中斷向量位址大小之存取時,對齊器11之選擇器1~4係被設定為,使CPU1內之暫存器9所儲存之順序一致。選擇器1~4係分別由4個雙向性開關構成,雙向性開關係由CMOS傳送閘極構成。直接藉由控制信號CNT1或進行解碼來控制雙向性開關。
同樣,在第1程式或第2程式之任一之執行中產生中斷通知時,在對中斷向量位址之存取中,儲存有中斷向量位址的位址之部分匯流排〔0:7〕、〔8:15〕、〔16:23〕、〔24:31〕所連接之4位元組之資料會被輸出,使被輸出至部分匯流排〔24:31〕的資料成為暫存器之MSB側的方式,而予以儲存於暫存器之位址位移0編號、1編號、2編號、3編號。
又,程式計數器PC係中斷向量位址之儲存用的暫存器,藉由被儲存於程式計數器PC之位址之更新,進行中斷處理子程式之分歧。
該分歧動作不僅在中斷通知發生時之中斷處理子程式之分歧,在位址修飾分歧指令等之位址修飾被進行之指令 執行中亦同樣。
位址修飾分歧指令,其之指令例如係以jmp @#adr (1)
jmp @Rn (2)的方式被記述。指令之記述內包含的“@”係表示被進行位址修飾,“#”係表示接續之二進位資訊被作為數值資訊予以辨識,Rn表示指定暫存器編號。
於指令(1),係於adr所示記憶體4之位址將分歧對象位址予以儲存,於該指令之執行中,對位址adr進行存取,而以和中斷向量位址相同之大小取得分歧對象位址,傳送至程式計數器PC。藉由將儲存於程式計數器PC的位址更新為分歧對象位址,可以執行指令之執行分歧。於指令(2),因為指令(1)之位址adr被儲存於暫存器,因而對暫存器Rn進行存取,取得位址adr。之後之動作係和指令(1)相同。
以下,說明針對由記憶體4對暫存器之資料傳送,以中斷向量位址大小之一半、亦即2位元組進行,以及以1位元組進行之情況。由記憶體4之資料傳送,以2位元組或1位元組進行時,係由記憶體4以4位元組進行資料讀出之後,將設為讀出對象之2位元組或1位元組傳送至暫存器。
指定由第1資料區域之位址2000H起進行2位元組之資料傳送時,針對以位址2000H為先頭被讀出之4位元組資料之中之部分匯流排〔24:31〕、〔16:23〕所連接之 資料,選擇器3係將部分匯流排〔24:31〕連接於暫存器9之暫存器內位移1編號,選擇器4係將部分匯流排〔16:23〕連接於暫存器內位移0編號。此情況下,選擇器1及2被控制成為,使部分匯流排〔0:7〕、〔8:15〕所連接之資料不被儲存於暫存器。
指定由位址2002H起進行2位元組之資料傳送時,針對以位址2000H為先頭被讀出之4位元組資料之中之部分匯流排〔8:15〕、〔0:7〕所連接之資料,選擇器3係將部分匯流排〔24:31〕連接於暫存器內位移1編號,選擇器4係將部分匯流排〔16:23〕連接於暫存器內位移0編號。此情況下,選擇器1及2被控制成為,使部分匯流排〔0:7〕、〔8:15〕所連接之資料不被儲存於暫存器。
另外,指定由第2資料區域之位址4000H起進行2位元組之資料傳送時,針對以位址4000H為先頭被讀出之4位元組資料之中之部分匯流排〔0:7〕、〔8:15〕所連接之資料,選擇器3係將部分匯流排〔0:7〕連接於暫存器9之暫存器內位移1編號,選擇器4係將部分匯流排〔8:15〕連接於暫存器9之暫存器內位移0編號。此情況下,選擇器1及2被控制成為,使部分匯流排〔0:7〕、〔8:15〕所連接之資料不被儲存於暫存器。
另外,指定由位址4002H起進行2位元組之資料傳送時,針對以位址4000H為先頭被讀出之4位元組資料之中之部分匯流排〔16:23〕、〔24:31〕所連接之資料,選 擇器3係將部分匯流排〔16:23〕連接於暫存器內位移1編號,選擇器4係將部分匯流排〔24:31〕連接於暫存器內位移0編號。此情況下,選擇器1及2被控制成為,使部分匯流排〔0:7〕、〔8:15〕所連接之資料不被儲存於暫存器。
以下,說明針對由記憶體4對暫存器9之資料傳送,以中斷向量位址大小之1/4、亦即1位元組進行之情況。
指定由第1資料區域之位址2000H起進行1位元組之資料傳送時,部分匯流排〔0:7〕所連接之資料被輸出,選擇器4係將部分匯流排〔0:7〕連接於暫存器內位移0編號。另外,指定由位址2001H起進行1位元組之資料傳送時,部分匯流排〔8:15〕所連接之資料被輸出,選擇器4係將部分匯流排〔8:15〕連接於暫存器內位移0編號。另外,指定由位址2002H起進行1位元組之資料傳送時,部分匯流排〔16:23〕所連接之資料被輸出,選擇器4係將部分匯流排〔16:23〕連接於暫存器內位移0編號。另外,指定由位址2003H起進行1位元組之資料傳送時,部分匯流排〔24:31〕所連接之資料被輸出,選擇器4係將部分匯流排〔24:31〕連接於暫存器內位移0編號。
指定由第2資料區域之位址4000H起進行1位元組之資料傳送時,部分匯流排〔24:31〕所連接之資料被輸出,選擇器4係將部分匯流排〔24:31〕連接於暫存器內 位移0編號。另外,指定由位址4001H起進行1位元組之資料傳送時,部分匯流排〔16:23〕所連接之資料被輸出,選擇器4係將部分匯流排〔16:23〕連接於暫存器內位移0編號90。另外,指定由位址4002H起進行1位元組之資料傳送時,部分匯流排〔8:15〕所連接之資料被輸出,選擇器4係將部分匯流排〔8:15〕連接於暫存器內位移0編號90。另外,指定由位址4003H起進行1位元組之資料傳送時,部分匯流排〔0:7〕所連接之資料被輸出,選擇器4係將部分匯流排〔0:7〕連接於暫存器內位移0編號。
另外,對齊器11可設於CPU1之暫存器9與資料匯流排3之間,例如亦可設於CPU1內。另外,亦可於外部匯流排介面BIF設置外部記憶體EMEM。此情況下,亦可構成為,依據外部記憶體EMEM等外部裝置之每一個位址空間,藉由CPU而於暫存器可以設定Little Endian與Big Endian之切換。
以上說明由記憶體4對暫存器9之各種大小之資料傳送,但是由暫存器9對記憶體4之資料傳送亦同樣。另外,記憶體4對暫存器9之資料傳送時,資料大小為2位元組與1位元組時,未被傳送之部分之資料,係被符號擴大(0擴大或1擴大均可)。另外,由暫存器9對記憶體4之資料傳送時,資料大小為2位元組與1位元組時,未被傳送之部分則不受影響。
於上述第3實施形態中,不受記憶體4之資料為 Little Endian或Big Endian之任一Endian之影響,以中斷向量位址之大小為單位而對記憶體4進行存取時,藉由設定成為以同一資料順序被儲存於暫存器,如此則,不受中斷通知接受時點所執行之程式之資料之Endian之影響,可使中斷向量位址及中斷處理程式等之程式共通化。
於第3實施形態中構成為,可藉由記憶體之位址空間,來設定Big Endian及Little Endian之區域,但和第1實施形態同樣,針對內藏於微電腦之記憶體4之全體,設定成為Little Endian或Big Endian之其中一方亦可。此情況下,和第3實施形態同樣,亦可以在電源投入重置時,使專用之模態端子之狀態及泛用I/O埠(外部端子)與兼用之模態端子之狀態被取入微電腦,閂鎖於例如暫存器,在CPU1存取向量位址之前可以確定資料為Little Endian或Big Endian之其中一方。
(第4實施形態)
圖15為具有不同Endian之周邊功能方塊的微電腦之概略構成圖,其他構成和第3實施形態之微電腦MCU(圖8)同樣。於圖15記載著:CPU1;匯流排控制器BSC;連接於匯流排控制器BSC之以Little Endian進行資料處理的Little Endian用周邊功能方塊(Little Endian用周邊I/O裝置18、19);及連接於匯流排控制器BSC之以Big Endian進行資料處理的Big Endian用周邊功能方塊(Big Endian用周邊I/O裝置15、16)。Little Endian用周邊功能方塊,係介由Little Endian用周邊資料匯流排17連接於匯流排控制器BSC內之對齊器13,Little Endian用周邊功能方塊,係介由Little Endian用周邊資料匯流排14連接於匯流排控制器BSC內之對齊器13。本構成中,Little Endian用周邊I/O裝置19內之傳送緩衝器TBL等、Big Endian用周邊I/O裝置15內之傳送緩衝器TBB等、與CPU1之I/O暫存器12(暫存器群REG之中之1個暫存器,可以和暫存器9為同一者),係和周邊I/O裝置內之傳送緩衝器或暫存器之大小無關,以LSB被共通連接的方式使匯流排被連接。Little Endian用周邊I/O裝置18、19或Big Endian用周邊I/O裝置15、16,係可以藉由被分配於各個傳送緩和上述風力發電所之電力變動或暫存器的位址來辨識。
Little Endian專用之周邊I/O裝置18、19,係由外部或Little Endian專用之資料匯流排17受信Little Endian之排列之資料,另外,處理資料而產生Little Endian之排列之資料,輸出至Little Endian專用之資料匯流排17。
Big Endian用周邊I/O裝置15、16,係由外部或Big Endian專用之資料匯流排14受信Big Endian之排列之資料,另外,處理資料而產生Big Endian之排列之資料,輸出至Big Endian專用之資料匯流排14。
CPU1,係藉由執行第1程式而進行Little Endian專用之周邊I/O裝置18、19之動作控制,控制對Little Endian專用之周邊I/O裝置18、19之資料輸出入。例如進行對Little Endian專用之周邊I/O裝置18、19之資料傳送,將處理後之資料傳送至記憶體4時,係配合傳送資料之大小將對齊器13之傳送設定資訊設定於控制信號CNT2。在Big Endian用周邊I/O裝置15、16之資料傳送時,控制信號CNT2之設定亦同樣。
對齊器13,在周邊I/O裝置內之傳送緩衝器或暫存器之大小,與彼等之傳送緩衝器或暫存器之存取大小相同時,係和Endian無關,而以成為同一資料排列的方式被構成。例如CPU1將Little Endian用周邊I/O裝置19之傳送緩衝器TBL所儲存之資料,傳送至記憶體4之第2資料區域(Big Endian)時,係以傳送緩衝器之指定之位址為先頭而使中斷向量位址大小分之資料,以第2資料區域之指定之位址為先頭而加以儲存。此情況下,被儲存於傳送緩衝器TBL之資料,係被取入CPU1內之暫存器之後,被傳送至記憶體4之第2資料區域。
另外,由Little Endian用周邊I/O裝置19對Big Endian用周邊I/O裝置15、16或第2資料區域(Big Endian)傳送資料時,係使:Little Endian用周邊I/O裝置19將資料儲存於傳送緩衝器時之LSB側所儲存之資料,與處理該資料的CPU1之I/O暫存器12或Big Endian用周邊I/O裝置16之傳送緩衝器TBB或Big Endian用周邊I/O裝置15之暫存器BIREG之LSB側所儲存之資料設為同一,如此則,周邊I/O裝置內之傳送 緩衝器或暫存器之大小與對彼等傳送緩衝器或暫存器之存取大小相同時,可以不必變更齊器13之資料之排列。
另外,相較於周邊I/O裝置內之傳送緩衝器或暫存器之大小,對彼等傳送緩衝器或暫存器之存取大小變為較小時,對齊器13需要變更資料之排列。
CPU1用於設定對齊器13之傳送設定資訊的控制信號CNT2,係包含上述傳送之資料之大小之資訊,以及和傳送之資料之處理單位相關的資訊及傳送方向相關的資訊。
圖16為對齊器13之構成例。於選擇器1A~4A及1B~4B分別被輸入控制信號CNT2,用於決定輸出入方向及部分匯流排彼此之連接。周邊I/O裝置內之傳送緩衝器或暫存器之大小與對彼等傳送緩衝器或暫存器之存取大小相同時,將同一位元位置之資料匯流排(Little Endian專用之資料匯流排17與Big Endian專用之資料匯流排14與CPU1/記憶體4用資料匯流排3之部分匯流排〔0:8〕)彼此予以連接。
另外,周邊I/O裝置內之傳送緩衝器或暫存器之大小為2位元組或4位元組時,由Little Endian專用之資料匯流排17對Big Endian專用之資料匯流排14以位元組單位傳送處理之資料時,係使資料之排列成為相反(例如4位元組時,一方之部分匯流排〔0:7〕與另一方之部分匯流排〔24:31〕,一方之部分匯流排〔8:15〕與另一方之部分匯流排〔16:23〕Z)而將部分匯流排予以連接。
另外,選擇器1A~4A及1B~4B,係由和第3實施 形態之選擇器1~4同樣之雙向開關構成。
藉由情況下,構成之對齊器13,可以對應於處理之Endian將周邊功能方塊連接於不同之匯流排,可以介由對齊器13在連接於個別之匯流排的周邊功能方塊間進行資料傳送。
上述第4實施形態中,係和成為周邊功能IP間之傳送對象的資料之Endian,及控制周邊功能IP的程式之處理對象的資料之Endian無關,而設定成為可以同一資料順序進行資料傳送,因此可使控制周邊功能IP的程式共通化。
另外,不受周邊功能方塊之資料處理之Endian與CPU1之資料處理之Endian之異同之影響,可以提升在微電腦MCU被設為必要之周邊功能方塊之採用之自由度。
(第5實施形態)
圖17為在第1、第2、第3、第4實施形態及後述之第6實施形態之微電腦所執行之程式之開發工具之流程概略圖。針對以C語言等高級語言記述之原始程式(source program),藉由編譯器(compiler)進行構文解析及最佳化,而輸出以組合語言記述之組合語言程式。組譯器(assembler)係由編譯器輸出之組合語言產生機械語言、輸出機械語言程式。藉由連結編輯器(linkage editor)將1個或複數個機械語言程式予以結合(連結處理),而產生可於微電腦執行之程式。
編譯器所輸出之組合語言程式大略具有:微電腦之CPU等所執行之指令碼之集合部、亦即碼區段(code section或code segment);及高級語言程式中記述的常數或編譯器所輸出之常數等之集合部、亦即資料區段(data section或data segment)。碼區段中之指令碼,如上述說明,係被固定於Little Endian或Big Endian之其中一方。另外,資料區段中之常數等,係可以選擇Little Endian或Big Endian之任一方,但於高級語言程式中具有針對使用任一Endian加以指定的指令,依據該指定指令來進行Endian之解決。
若為包含於高級語言或組合語言程式中之常數,則可藉由編譯器或組譯器進行Endian之解決,但是分歧指令之分歧目的位址等之位址參照值,係於連結編輯器之連結處理時被決定,因而編譯器或組譯器之Endian解決無法達成。該位址之Endian解決,係藉由連結編輯器來進行。
連結編輯器係將1或複數個積機械語言程式予以結合,針對結合前之機械語言程式作為變數名被參照之位址參照值,藉由連結後之配置來決定位址值,進行Endian解決,作為位址常數儲存於執行程式之資料區段中。
經由上述流程產生之可執行之程式,係被儲存於微電腦之半導體基板上構成之遮罩ROM或快閃記憶體等,可於微電腦被執行。
在和上述第3實施形態之對應上,由資料區段對暫存 器之資料傳送時,係將對應於資料傳送大小而進行對齊器11之設定的控制信號CNT1予以輸出,使儲存於資料區段之資料之排列被決定。
另外,關於包含中斷向量位址之位址參照值或位址常數,係以成為同一資料大小而被設定。如此則,於其他分歧指令或位址參照指令之執行中,在以中斷向量位址大小之位址資訊取得上,可以和被儲存之資料區段之Endian無關,而適當地取得位址資訊。
在和上述第4實施形態之對應上,在周邊功能方塊間或周邊功能方塊與記憶體4或暫存器間之資料傳送時,係將對應於資料傳送大小、而且對應於該資料之處理單位進行對齊器13之設定的控制信號CNT2予以輸出,使資料傳送時之資料之排列被決定。
(第6實施形態)
以下說明微電腦MCU之處理性能之提升、碼效率之提升、及消費電力之提升。又,碼效率之提升,係指指令之儲存時必要之記憶體容量之削減。
圖18說明微電腦MCU之處理性能之評估項目。微電腦MCU,係依據使用之用途而存在必要之處理性能之範圍。圖18表示被組裝於所謂數位家電等進行較高度處理機器之微電腦MCU被要求之處理性能之一例。
欲實現該處理性能時,係如圖19所示,採用5段管線處理(pipeline process)。管線處理,係如周知將 CPU1之指令執行分割為複數個處理步驟(process stage),使各處理步驟於時脈之1週期被執行。
於記憶體擷取步驟(memory fetch stage),係由記憶體4擷取指令至指令暫存器IR。於解碼步驟,係進行擷取至指令暫存器IR之指令之解碼,於接續執行步驟中進行指令執行之運算器之排程(scheduling)。另外,於解碼步驟,針對無須執行NOP指令等的指令,亦進行終了管線之管線處理,或暫存器擷取處理用以擷取運算所使用之暫存器內容。
於執行步驟,係由在解碼步驟被排程之運算器與擷取之暫存器內容,進行運算處理或位址之計算。於記憶體存取步驟,在指令對於記憶體存取需要操作元使進行記憶體存取。
在回寫步驟,係將執行步驟之運算結果儲存於暫存器等,進行該指令之管線之終了處理。
圖20為微電腦MCU之CPU1與記憶體4之間之匯流排構成。如圖21所示,藉由進行管線處理,使CPU1之指令執行之各處理步驟,以複數個指令執行不同之處理步驟,據此來提升1指令單位之有效處理性能。此情況下,記憶體存取為必要之具有操作元的指令之記憶體存取步驟,和指令擷取係成為同一時序,而產生記憶體存取之衝突。因此,採用將進行指令擷取之指令匯流排5與操作元用的記憶體存取匯流排(資料匯流排3)予以分離的哈佛架構,而減少記憶體存取衝突發生之機率。
圖20所示Instruction Interface係和圖9之指令暫存器IR及指令解碼器iDEC相當。Data Interface係和記憶體存取匯流排間之介面,進行操作元用的記憶體存取之控制。
於CPU1藉由採用哈佛架構與管線處理,可以迴避CPU1進行之記憶體存取之衝突(指令擷取與操作元擷取),可以提升CPU1之指令執行性能。
所謂數位家電係指存在著不少DVD(包含高記錄密度規格)或數位電視等之進行動畫處理之機器,於動畫處理中依據每一畫素重複執行積項之和(sum of product)運算等之DSP(數位信號處理器)運算。
如圖22所示,於DSP運算,針對儲存於記憶體4之每一畫素之資料,依據每一運算而讀出至暫存器重複進行運算時,將資料讀出至暫存器的處理對於實際之運算會成為過度負擔。因此,由記憶體4直接讀出運算使用之2個資料來進行乘法運算,進行和運算結果之加法處理,而可以執行體間之積和運算指令。
另外,對已儲存於暫存器的資料亦同樣進行積和運算,而可以執行暫存器間之積和運算指令。
藉由記憶體間積和運算指令,使用儲存於記憶體4之複數個資料進行積和運算時,可以削減由記憶體4對暫存器之資料傳送時間,可提升運算器之處理效率,由記憶體4對暫存器之資料傳送用的傳送指令變為不需要,可以提升碼效率。另外,藉由暫存器間積和運算指令,使用已儲 存於暫存器之資料可以高速進行積和運算,可以提升運算器之處理效率。
另外,於座標運算中亦需要重複執行浮點運算。如圖23所示,於浮點運算器具有和泛用暫存器不同之專用資料暫存器,使用專用資料暫存器進行運算。於該運算,將儲存於泛用暫存器之資料傳送至專用暫存器的處理會成為負擔。因此,構成為可由浮點運算器直接存取儲存於泛用暫存器之資料予以運算。藉由該構成,可削減由泛用暫存器對專用暫存器之資料傳送,可提升運算器之處理效率,另外,無須由泛用暫存器對專用暫存器之資料傳送的傳送指令,可提升碼效率。
圖24為使用積和運算器和浮點運算器的另一運算例。
藉由A/D轉換器對外部感側器等類比信號進行數位轉換儲存於記憶體4之後,使用被儲存於記憶體4之已進行數位轉換的感側器資訊和儲存於記憶體4之濾波器運算係數,進行記憶體間積和運算指令之濾波器運算,可對已進行數位轉換後之感側器資訊包含之雜訊之除去。
在對馬達供給PWM(Pulse Wave Modulation)波形進行旋轉控制的馬達控制中,藉由A/D轉換器對馬達之各相位(U/V/W相)所輸出之馬達電流進行數位轉換儲存於暫存器之後,進行暫存器間積和運算指令之座標轉換。藉由浮點運算器對儲存於泛用暫存器的積和運算結果進行PID(比例/積分/微分)控制運算之後,藉由暫存 器間積和運算指令針對泛用暫存器之控制運算結果,再度進行座標轉換。將PWM波形供給至馬達作為馬達控制信號。藉由該運算,可以重複進行使用泛用暫存器之運算,和使用專用暫存器之運算比較,可達成短時間間隔之馬達控制。
圖25為對使用者之應用中出現頻率高之指令之分析。針對出現頻率高之指令縮小指令之大小,可以縮小使用者應用之執行程式之大小,可以提升碼效率。另外,將出現頻率高之指令設為使用者容易使用之指令,則有助於使用者便利性之提升。
圖26為出現頻率高而縮小指令大小後的指令之一例。程式中之迴路(loop)處理或對應於變數之持有之值的多方向分歧之中,對應於迴路條件之成立/非成立或變數之值進行分歧時被使用之分歧指令,有例如以相對位址來指定分歧對象位址的BEQ(條件成立分歧)、BNE(條件非成立分歧)、BRA(無條件成立分歧)。
於彼等指令之動作中,分歧之記憶體4內之位址距離亦有較短者,配合分歧距離為8位元組以內、256位元組以內、65434位元組以內之各個,可以採用1位元組、2位元組、3位元組之指令作為分歧指令之碼大小。如此則,可以對應於分歧距離提升使用者之選擇自由度,可實現碼效率之提升。
在以儲存於暫存器之位址值為基準而指定相對移位值的暫存器間接定址之傳送指令,在立即值(immediate) 與暫存器間進行運算的比較指令或加法指令中,以暫存器儲存值為基準而配合作為相對移位值及立即值而可以指定的值之範圍,可以選擇指令之碼大小為2位元組~8位元組。
或者,在可以指定暫存器儲存值之中使用於運算的資料寬度的運算指令中,配合可以作為該資料寬度予以指定之值之範圍,而於乘法指令之中可以選擇碼大小為3位元組~7位元組。
另外,於副程式分歧指令中,設為由程式計數器儲存值+暫存器儲存值運算求出分歧對象位址,則可以選擇指令之碼大小為2~4位元組。
圖27為Register Indirect with Index(附加指標的暫存器間接)定址(addressing)之例。
於附加指標的暫存器間接定址之中,針對儲存有基準位址(bass address)的暫存器與儲存有偏移位址(offset address)的暫存器進行加算,對算出之位址進行資料傳送等。此情況下,有指定位元組大小時,偏移位址係直接進行和基準位址之加算,有指定長字元大小(long word saize)時,進行偏移位址之4倍之值和基準位址之加算。藉由採用該定址之指定,則在位元組大小之指定中係進行偏移位址和基準位址之加算,在長字元大小之指定中係進行偏移位址之4倍化運算(2位元朝左移位運算)指令和偏移位址和基準位址之加算,可達成指令之削減,可提升碼效率。
圖28為附加Post increment/Pre-decrement功能的暫存器間接定址之例。
Post increment/Pre-decrement主要用於,針對具有特定數之進入點(entry)的表格所儲存之值進行運算。使用Post increment與Pre-decrement之其中那一方,在由表格之低位側位址起進行運算時係使用Post increment,由表格之高位側位址起進行運算時係使用Pre-decrement。由表格之低位側位址起進行運算時,係對被儲存於最初之表格進入點的值進行運算之後,需要對參照次一表格進入點之值的位址進行加算。藉由Post increment/Pre-decrement之功能,可使參照表格進入點的位址之加算/減算,藉由對被儲存於該表格進入點的值執行運算的運算指令予以進行,可以實現進行參照位址之加算/減算的指令之削減,可提升碼效率。
圖29為3操作元(operand)指定可能之運算例。
作為操作元而指定2個暫存器等而執行加算指令時,係將加算值與被加算值儲存於個別之暫存器,將加算結果,儲存於儲存有被加算值之暫存器。於該運算動作中,被加算值亦利用於其他之運算時,需要將其儲存於其他暫存器或記憶體4,於每一次運算將被加算值傳送至被加算值儲存暫存器。
藉由以暫存器等可以指定3操作元,則可以指定將運算結果儲存於和被加算值儲存暫存器不同的暫存器,因此可以削減對被加算值儲存暫存器之每一次運算時傳送被加 算值之指令。
圖23為微電腦MCU之暫存器構成之一例。微電腦MCU具有:運算時被主要利用的泛用暫存器;及用於微電腦MCU之動作控制的控制暫存器。
泛用暫存器係對於基本大小(32位元),被分割為使用於8位元資料或16位元資料之運算的8位元暫存器或16位元暫存器。但是,本實施形態之微電腦MCU,不進行此種暫存器之分割,而構成為全部暫存器僅作為基本之32位元使用。
分割暫存器時,需要對成為運算對象之部分暫存器與非成為運算對象之部分暫存器進行存取控制,暫存器控制電路變為複雜,會導致暫存器存取之時間負擔與消費電力之增大。泛用暫存器大多於指令執行時被存取,暫存器存取之時間負擔與消費電力之增大,就1次而言雖微小,但是在程式執行全體中之時間負擔與消費電力會變為大者。
藉由不採用暫存器分割,可實現暫存器存取之時間負擔與消費電力之減少。另外,泛用暫存器之大小被統一,於編譯器由高級語言至組合語言之編譯處理中可以使用之暫存器之自由度變高,泛用暫存器之使用效率可以提升,可減少對記憶體4之存取頻度。就此點而言,亦可實現指令執行中之記憶體存取負擔與消費電力之低減化。
控制暫存器係具有:中斷處理或副程式處理之堆疊指標器(stack pointer)ISP、USP;中斷表格之配置位址之表示用的中斷表格暫存器INTB;執行中之指令位址之表 示用的程式計數器PC與指令執行之狀態之表示用的處理器狀態子字元PSW;浮點運算器及其他協同處理器(coprocessor)之執行狀態之表示用的浮點狀態子字元FPSW、CPEN。另外,作為進行高速中斷處理的專用暫存器,係具有將PSW及PC予以備份的備份PSW(BPSW)與備份PC(BPC),高速中斷處理中之高速中斷向量位址(FINTV)。
圖31、32、33表示中斷處理之高速化之情況。
圖31表示高速中斷處理之時序。於通常之中斷處理,係對應於來自中斷控制器INTC之中斷通知,使PSW與PC分別退避於堆疊區域,取得中斷處理副程式之位址而進行和中斷原因對應於向量表格之讀出,分歧至該中斷處理副程式。另外,中斷通知被通知複數個或者在已經進行中斷處理的狀態下之另一中斷通知產生時,判斷中斷處理之處理優先順位,對應於優先處理之中斷處理而進行中斷遮罩等之旗標設定處理。彼等處理之中,堆疊區域與中斷向量表格係被分配給記憶體4,因此PSW與PC之退避至堆疊區域,以及向量表格之讀出,需要花費記憶體存取之時間。
於高速中斷處理中,並非使PSW與PC退避至堆疊區域進行對中斷向量表格之存取,而是分別退避至作為控制暫存器被準備的備份PSW與備份PC,分歧至被儲存於高速中斷向量位址的中斷處理副程式。藉由該處理,可於高速中斷處理削減記憶體存取,可達成中斷處理分歧之高速 化。
圖32為中斷處理中之泛用暫存器之分配。於通常之中斷處理,在分歧至中斷處理之前,應用程式使用之儲存於泛用暫存器之資料在中斷處理中會被改寫,由中斷處理回復之後之應用程式繼續執行中會產生不適合情況,為避免此一情況下,而將儲存於泛用暫存器之資料退避至堆疊區域或切換為和分歧至中斷處理時使用之暫存器區塊不同的區塊(bank)。該退避至堆疊區域會產生記憶體存取,另外,暫存器區塊之切換實際上亦藉由使儲存於暫存器之資料退避至記憶體4之區域來實現。
為實現中斷處理分歧之高速化,對泛用暫存器分別分配予以應用程式用暫存器與中斷用暫存器,在應用程式執行中係使用被分配至應用程式的暫存器,在中斷處理之執行中係使用被分配至中斷處理的暫存器。如此則,應用程式用暫存器與中斷處理用暫存器可於程式被分配設定,可提升暫存器分配之自由度。另外,無須泛用暫存器之退避時,可使中斷處理之執行開始成為高速化。
如圖33所示,藉由PSW與PC之退避及中斷向量位址取得之記憶體存取之削減(高速中斷處理),以及由應用程式用暫存器至中斷用暫存器之泛用暫存器之切換(泛用暫存器分配),可以縮短中斷通知產生之後,至對應於該中斷通知之中斷處理之開始為止的時間,可提升微電腦MCU之程式執行效率。
圖34表示記憶體保護。應用程式A與應用程式B分 別被分配給應用程式A用記憶體區域與應用程式B用記憶體區域時,應用程式A錯誤存取應用程式B用記憶體區域而對應用程式B使用之資料施予改寫,或者由應用程式A錯誤分歧至應用程式B等產生時,應用程式B之執行變為不穩定,微電腦MCU全體之動作亦不穩定。
為防止該事態之產生,具有記憶體保護單元,用以防止應用程式A對應用程式B用記憶體區域之存取,或由應用程式A分歧至應用程式B等。如此則,應用程式B之執行不穩定可被防止,微電腦MCU全體之動作亦可以穩定。
圖35為Endian轉換指令之例。
第3實施形態及第4實施形態係說明資料之By-Endian處理,但是,將以Little Endian進行資料處理的記憶體區域所儲存之資料,讀出至泛用暫存器進行特定運算之後,對以Big Endian進行資料處理的記憶體區域或Big Endian用周邊I/O裝置進行資料傳送之情況亦會產生。此情況下,藉由設定對對齊器11之控制信號CNT1或對對齊器13之控制信號CNT2,而可於對齊器11或對齊器13變更資料之排列。在某一程度連續進行資料之變換時,藉由對齊器11或對齊器13來變更資料之排列乃有效者。
另外,將資料以Little Endian或Big Endian交互變換儲存於記憶體區域時,需要設定使對齊器11或對齊器13交互進行Endian變換。此情況下,藉由Endian轉換指令 於暫存器內轉換資料之Endian,而不變更對齊器11及對齊器13之設定,如此則,有可能減少對齊器11或對齊器13之設定變更相關之消費電力。
圖36、37、38為微電腦MCU之低消費電力化之設計方法之例。
正反器等進行時脈同步動作的邏輯元件或配置於時脈供給路徑的時脈驅動器只要被供給時脈即會流入電流,因此對不使用之電路需要停止時脈之供給。因此,如圖36所示,在進行微電腦MCU之邏輯合成之時點插入時脈閘控電路,可以設為停止時脈之供給。
於時脈同步設計設計中,以被進行時脈同步動作的正反器挾持的方式將進行時脈同步動作的邏輯元件予以配置時,會產生在正反器間引起時序衝突之路徑(關鍵路徑),有必要解消該時序衝突。如圖37所示,最初使用低速高臨限值電壓/低漏電流之邏輯元件進行時脈同步設計,僅對關鍵路徑使用低臨限值電壓/高漏電流之高速邏輯元件,而達成時序衝突之解消。藉由進行該時脈同步設計,使構成微電腦MCU之複數個邏輯元件成為低消費電力之邏輯元件,於低消費電力之邏輯元件,產生時序衝突之路徑係使用更高消費電力、更高速邏輯元件,而使全體成為低消費電力之微電腦MCU之時脈同步設計成為可能。
另外,如圖38所示,將微電腦MCU之內部分割為複數個電源組(power domain),以對不動作之電源組停止 電源供給的方式,而具有複數個低消費電力模態。此情況下,微電腦MCU之內部之內藏調整器係對電源組分別供給電源,由內藏調整器至電源組之間配置對該電源組之電源供給或停止供給的開關電路。
圖39為使用快閃記憶體作為儲存程式之ROM時,快閃記憶體之存取速度對微電腦MCU之處理性能之影響之圖。將可以30MHz進行讀出動作的快閃記憶體使用於微電腦MCU時,即使以100MHz之時脈使微電腦MCU動作時在每一指令之擷取需要複數個時脈週期之等待動作,程式之有效執行性能會較100MHz大幅降低。
為迴避該執行性能之降低,可考慮於快閃記憶體與CPU1之間配置指令快取記憶體(cache memory)。藉由指令快取記憶體之配置,CPU1擷取被儲存於指令快取記憶體的指令時(cache hit(快取擊中))1時脈週期之指令擷取為可能,但是指令未被儲存於指令快取記憶體時(cache hitmiss(快取未擊中)),需要複數個時脈週期之等待動作。另外,指令快取記憶體之佔有面積成為必要。
藉由快閃記憶體之記憶體陣列構成、位址解碼器等之周邊邏輯電路之高速化,使快閃記憶體可以100MHz動作,則CPU1不具有指令快取記憶體而可使每一時脈週期動作成為可能。另外,即使微電腦MCU之動作時脈設為更高速化時,亦可削減產生cache hitmiss時之等待之時脈週期數。
第6實施形態說明之微電腦MCU或CPU1之構成、功能、動作等,亦可適用於第1~第4實施形態之微電腦MCU或CPU1。
以上具體說明本發明之實施形態,但上述說明僅為本發明適用之局面之一例,本發明並不限定於此。亦即,在不脫離本發明要旨範圍內可對上述局面實施各種修正或變形例。
(發明效果)
在以向量大小之資料傳送中,不受資料之Endian之影響,可以同一資料順序進行資料傳送,如此而使向量位址之共通化成為可能。
在採用將指令之Endian予以固定的Bi-Endian方式之資料處理裝置中,可使程式共通化予以使用之同時,可使向量表格共通化。
以下參照圖面說明本發明之各種具體化及其效果、優點。
1‧‧‧CPU
2‧‧‧位址匯流排
3‧‧‧資料匯流排
4‧‧‧記憶體
4R1、4R2、4R3‧‧‧儲存區域
5‧‧‧指令匯流排

Claims (2)

  1. 一種半導體積體電路裝置,其特徵為:具備:CPU;對齊器,連接於上述CPU,連接於第1匯流排及第2匯流排;第1處理部,連接於上述第1匯流排,以Little Endian進行資料存取;及第2處理部,連接於上述第2匯流排,以Big Endian進行資料存取;上述CPU具備暫存器用於儲存在上述第1處理部與上述第2處理部之間送受信的傳送資料;上述CPU對應於存取的處理部產生控制信號並輸出;上述對齊器,係依據上述控制信號,以使和分配給上述存取的處理部所連接匯流排的位元組順序一致的方式,來變更儲存於上述暫存器的上述傳送資料之位元組順序。
  2. 如申請專利範圍第1項之半導體積體電路裝置,其中來自上述第1處理部之Little Endian之資料與來自上述第2處理部之Big Endian之資料,在以向量位址資訊表示之N位元(N=8×k:k為2以上之正整數)長度中係成為同一位元組順序。
TW103145485A 2008-09-12 2009-08-13 資料處理裝置及半導體積體電路裝置 TWI541658B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008234768 2008-09-12
PCT/JP2009/059738 WO2010029794A1 (ja) 2008-09-12 2009-05-28 データ処理装置及び半導体集積回路装置

Publications (2)

Publication Number Publication Date
TW201530320A TW201530320A (zh) 2015-08-01
TWI541658B true TWI541658B (zh) 2016-07-11

Family

ID=42005057

Family Applications (2)

Application Number Title Priority Date Filing Date
TW098127267A TWI476597B (zh) 2008-09-12 2009-08-13 資料處理裝置及半導體積體電路裝置
TW103145485A TWI541658B (zh) 2008-09-12 2009-08-13 資料處理裝置及半導體積體電路裝置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW098127267A TWI476597B (zh) 2008-09-12 2009-08-13 資料處理裝置及半導體積體電路裝置

Country Status (5)

Country Link
US (1) US9524237B2 (zh)
JP (3) JP5292406B2 (zh)
CN (2) CN102150139A (zh)
TW (2) TWI476597B (zh)
WO (1) WO2010029794A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4437464B2 (ja) 2005-06-01 2010-03-24 株式会社ルネサステクノロジ 半導体装置及びデータ処理システム
JP5622429B2 (ja) * 2010-04-20 2014-11-12 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US8578340B1 (en) 2010-09-24 2013-11-05 Ca, Inc. Recording and replaying computer program execution with recorded execution event breakpoints
US9762246B2 (en) * 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
FR2977371B1 (fr) * 2011-06-30 2013-08-02 Trixell Matrice de pixels a groupements programmables
CN103576739A (zh) * 2012-08-02 2014-02-12 中兴通讯股份有限公司 数字芯片、具有数字芯片的设备和大小端模式配置方法
CN102968330B (zh) * 2012-11-27 2015-08-19 武汉大学 一种固件代码反汇编中端模式差异的处理方法
US10120682B2 (en) * 2014-02-28 2018-11-06 International Business Machines Corporation Virtualization in a bi-endian-mode processor architecture
US9507595B2 (en) * 2014-02-28 2016-11-29 International Business Machines Corporation Execution of multi-byte memory access instruction specifying endian mode that overrides current global endian mode
US9619214B2 (en) 2014-08-13 2017-04-11 International Business Machines Corporation Compiler optimizations for vector instructions
JP6372250B2 (ja) * 2014-08-25 2018-08-15 サンケン電気株式会社 演算処理装置
US9588746B2 (en) 2014-12-19 2017-03-07 International Business Machines Corporation Compiler method for generating instructions for vector operations on a multi-endian processor
US10169014B2 (en) 2014-12-19 2019-01-01 International Business Machines Corporation Compiler method for generating instructions for vector operations in a multi-endian instruction set
US9880821B2 (en) 2015-08-17 2018-01-30 International Business Machines Corporation Compiler optimizations for vector operations that are reformatting-resistant
US9594668B1 (en) 2015-09-04 2017-03-14 International Business Machines Corporation Debugger display of vector register contents after compiler optimizations for vector instructions
CN105404496B (zh) * 2015-11-06 2018-11-16 深圳国微技术有限公司 数据传输的控制方法和控制装置及具有其的微处理器
US10079067B1 (en) * 2017-09-07 2018-09-18 Winbond Electronics Corp. Data read method and a non-volatile memory apparatus using the same
CN109977061B (zh) * 2017-12-28 2023-04-11 中兴通讯股份有限公司 一种中断处理方法及中断处理装置
CN110647355B (zh) * 2018-06-27 2021-11-26 上海寒武纪信息科技有限公司 数据处理器和数据处理方法
TWI749724B (zh) * 2020-08-21 2021-12-11 和碩聯合科技股份有限公司 電子電路系統
JP2023044909A (ja) * 2021-09-21 2023-04-03 株式会社日立製作所 プロセッサおよびエンディアン変換方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2585569B2 (ja) 1987-02-27 1997-02-26 株式会社日立製作所 直接メモリアクセス制御装置
JPH0336643A (ja) * 1989-07-03 1991-02-18 Nec Corp データ処理方法
DE69124437T2 (de) * 1990-08-09 1997-07-03 Silicon Graphics Inc Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner
US5627975A (en) * 1994-08-02 1997-05-06 Motorola, Inc. Interbus buffer for use between a pseudo little endian bus and a true little endian bus
US5687337A (en) * 1995-02-24 1997-11-11 International Business Machines Corporation Mixed-endian computer system
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
JPH0997211A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd バス制御装置、及びバス制御装置を含む情報処理装置
US5734910A (en) * 1995-12-22 1998-03-31 International Business Machines Corporation Integrating multi-modal synchronous interrupt handlers for computer system
US5961640A (en) * 1997-04-22 1999-10-05 Vlsi Technology, Inc. Virtual contiguous FIFO having the provision of packet-driven automatic endian conversion
JP2000003304A (ja) * 1998-06-12 2000-01-07 Nec Corp データ処理装置とデータアライン装置
JP2000082009A (ja) * 1998-09-04 2000-03-21 Hitachi Ltd データ処理装置
JP3659048B2 (ja) * 1999-02-16 2005-06-15 株式会社日立製作所 オペレーティングシステム及び計算機
US7404019B2 (en) * 2003-03-07 2008-07-22 Freescale Semiconductor, Inc. Method and apparatus for endianness control in a data processing system
JP4446373B2 (ja) * 2003-03-19 2010-04-07 パナソニック株式会社 プロセッサ、データ共有装置
US6993619B2 (en) * 2003-03-28 2006-01-31 International Business Machines Corporation Single request data transfer regardless of size and alignment
GB2409067B (en) * 2003-12-09 2006-12-13 Advanced Risc Mach Ltd Endianess compensation within a SIMD data processing system
JP2008033722A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd エンディアン変換回路を備えたデータ転送制御装置
US20080040576A1 (en) * 2006-08-09 2008-02-14 Brian Michael Stempel Associate Cached Branch Information with the Last Granularity of Branch instruction in Variable Length instruction Set
US7624251B2 (en) * 2006-11-01 2009-11-24 Apple Inc. Instructions for efficiently accessing unaligned partial vectors

Also Published As

Publication number Publication date
US9524237B2 (en) 2016-12-20
JP5521092B2 (ja) 2014-06-11
CN105893270A (zh) 2016-08-24
JP2014179107A (ja) 2014-09-25
TW201530320A (zh) 2015-08-01
TW201020795A (en) 2010-06-01
JP5802791B2 (ja) 2015-11-04
JPWO2010029794A1 (ja) 2012-02-02
JP5292406B2 (ja) 2013-09-18
TWI476597B (zh) 2015-03-11
WO2010029794A1 (ja) 2010-03-18
CN102150139A (zh) 2011-08-10
US20110191569A1 (en) 2011-08-04
JP2013229039A (ja) 2013-11-07

Similar Documents

Publication Publication Date Title
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
US5481734A (en) Data processor having 2n bits width data bus for context switching function
KR100462951B1 (ko) Risc 구조를 갖는 8 비트 마이크로콘트롤러
US5812809A (en) Data processing system capable of execution of plural instructions in parallel
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
JPH0766324B2 (ja) データ処理装置
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JPH0810428B2 (ja) データ処理装置
JPH07120278B2 (ja) データ処理装置
JP4004915B2 (ja) データ処理装置
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
JPH07120284B2 (ja) データ処理装置
JP4073721B2 (ja) データ処理装置
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JP2504235B2 (ja) デ―タ処理装置
JP3740321B2 (ja) データ処理装置
JP4545777B2 (ja) データ処理装置
JP3147884B2 (ja) 記憶装置及び情報処理装置
JP4498338B2 (ja) データ処理装置
JP2020140290A (ja) 中央演算処理装置
JP4382076B2 (ja) データ処理装置
JP2696578B2 (ja) データ処理装置
JP2004288203A (ja) プロセッサコア及びこれを用いたプロセッサ
JPH0769805B2 (ja) データ処理装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees