專利名稱:一種適用于移動存儲控制器的cpu的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)和集成電路領(lǐng)域。
背景技術(shù):
ARM公司的32位CPU總線結(jié)構(gòu)復(fù)雜,且訪問數(shù)據(jù)存儲器最少要花費(fèi)2個 時鐘周期(一個請求周期和一個應(yīng)答周期),還需要仲裁電路,不適用控制象移 動存儲這樣的小設(shè)備。
發(fā)明內(nèi)容
本發(fā)明的目的在于發(fā)明一種結(jié)構(gòu)簡單,在允許情況下可以直接訪問數(shù)據(jù)存 儲器的適用于移動存儲控制器的CPU。
本發(fā)明所發(fā)明的CPU由運(yùn)算器和控制器等組成,其要點(diǎn)是它的字長是32 位,指令定長,指令的操作碼不定長,能同時訪問數(shù)據(jù)存儲器和程序存儲器。 它的指令長度可是24位,寄存器可不超過32個,其中某些寄存器可直接控制 外部電路或反映外部電路狀態(tài),它訪問的數(shù)據(jù)存儲器深度可不超過4096,程序 存儲器深度可不超過16384。它可有如下多類指令及其編碼,或其中的幾類指令 及其編碼。
A、 空操作NOP 000000000000000000000000
B、 (寄存器+立即數(shù))類
U)ADL reg, rninn 010, reg, nnnn
LOADH reg, nrirm 011, reg, nrmn
C、 (寄存器+ RAM絕對地址)類ADDreg,Gmn)10000,reg,OO瞧
ADDCreg,(nrm)10000,reg,10nrm
SUBreg,(nnn)10001,reg,OOnnn
扁reg,(rmrO匪0,reg,OOnrm
ORreg,(rmn)10011,reg,OOnrm
XORreg,(rmn)10100,reg,OO醒
MOV(rmrO,r6g10101,reg,lOnrm
MOVreg,10101,reg,OOnrm
SWAPreg,(rmn)10110,reg,OOnnri
COPMreg,(nrm)10111,reg,OOnrm
(寄存器+寄存器)類
ADDregl,reg211000000-001111, regl,reg2
ADDCregl,reg211000000-101111, regl,reg2
SUBregl,reg211000001-00U11, regl,reg2
ANDregl,reg211000010-001111, regl,reg2
ORregl,reg211000011-001111, regl'reg2
XORregl,reg211000100-001111, regl,reg2
MOVregl,reg211000101-001111, regl,reg2
SWAPregl,reg211000110-001111, regl,reg2
COMPregl,reg211000111-001111, regl,reg2
E、 (前8個寄存器+ ROM絕對地址)類 MOVP reg,(畫n) 110001111, reg,薩n
F、 (寄存器+寄存器間接)類ADDregl,(reg2)11001000-001111,regl,reg2
ADDCregl,(reg2)11001000-101111,regl,reg2
SUBregl,(reg2)11001001-001111,regl,reg2
ANDregl,(reg2)11001010-001111,regl,reg2
ORregl,(reg2)11001011-001111,regl,reg2
XORregl,(reg2)11001100-001111,regl,reg2
MOV(reg2),regli醒ioi-iomi,regl,reg2
MOVregl,(reg2)uooiioi-ooim,regl,reg2
SWAPregl,(reg2)11001110-001111,regl,reg2
COMPregl,(reg2)i匪iii-ooim,regl,reg2
G、 (寄存器+ ROM寄存器間接)類
MOVPregl,(reg2)i畫mi-oim,regl,reg2
H、 (RAM絕對地址+位地址)類
BSET(匪),咖l皿跳mni,畫
BCLR(畫),mm BTEST (nnn) , mm I、 RAM絕對地址類
INC
DEC
CLR
COM
SL
SR
(nnrO (rmn) (nun) (nnn)
1101000, mm,畫 1101010,,,畫
11110-000-1111,議 11110-010-1111, mm
imo-ioo-im,扁
llllO-llO-mi, nnn 11110-111-00, m,腳 llllO-l 11—01, m,薩ROM (轉(zhuǎn)移)地址類
JMP11111111100000,im
JMPZ11111111100001,im
JMPE11111111100001,nil
JMPNZ11111111100010,im
JMPNE11111111100010,mi
JMPC11111111100011,mi
JMPL1111llll匪OO,mi
JMPLE11111111100101,mi
JMPG1111llll匪lO,im
JMPGE1111mi匪n,im
調(diào)用指令類
CALLimiimoiooo,im
CALLZim1111101001,mi
CALLE11111111101001,im
CALLNZimim皿oio,im
CALLNEmiimioioio,mi
CALLCmi1111101011,im
CALLLimimiouoo,im
CALLLEmi1111101101,mi
CALLGim1111101110,mi
CALLGEimim皿iii,im
L、 (寄存器+位地址)類BSETreg, mm111111100010-00, mm, reg
BCLRreg, mm111111100000-00, mm, reg
BTESTreg, mm111111100001-00, ram, reg
M、(寄存器間接+位地址)類
BSET(reg), ram111111100110-00,咖,reg
BCLR(reg) , ram111111100100-00, mm, reg
BTEST(reg) , mm111111100101-00, ram, reg
N、寄存器類
INCreg1111111010-000-001111, reg
DECreg1111111010-010-001111, reg
CLRreg1111111010-100-001111, reg
COMreg1111111010-110-001111, reg
DJNZreg1111111010-101-001111, reg
PUSHreg1111111010-001-001111, reg
POPreg1111111010-011-001111, reg
0、(寄存器+移位數(shù))類
reg111111101011100, ra, reg
SRreg111111101011101, m, reg
P、寄存器間接類
INC(reg)1111111011-000-001111, reg
DEC(reg)1111111011-010-001U1, i'eg
CLR(reg)1111111011-100-001111, reg
COM(reg)11111U011-110-001111, reg
11Q、 (寄存器間接+移位數(shù))類
SL (reg) 1111111011-111-00, m, reg
SR (reg) 1111111011—111-01, m, reg
它可有一數(shù)據(jù)存儲器訪問允許控制信號,該信號是輸入信號,只有該信號有效 時,它才能訪問數(shù)據(jù)存儲器。它可與要訪問的數(shù)據(jù)和程序存儲器及其它訪問數(shù) 據(jù)存儲器的電路做在同 一塊集成電路中。
(指令說明前面是助記符,后面是操作碼及尋址方式。reg、 regi和reg2 表示寄存器或5位寄存器地址;nnnn表示16位立即數(shù)或14位ROM地址;nnn 表示12位RAM地址;ram表示位地址,5位;1111表示14位ROM地址;m表示
位移,4位;二進(jìn)制數(shù)為操作碼。)
本發(fā)明結(jié)構(gòu)簡單,CPU在允許情況下可以直接訪問數(shù)據(jù)存儲器,無需請求
和應(yīng)答,效率高,可以和程序存儲器、數(shù)據(jù)存儲器及其它訪問數(shù)據(jù)存儲器的電 路等做在同一塊集成電路中,用作移動存儲設(shè)備的控制芯片。
權(quán)利要求
1、一種適用于移動存儲控制器的CPU,由運(yùn)算器和控制器等組成,其特征在于它的字長是32位,指令定長,指令的操作碼不定長,能同時訪問數(shù)據(jù)存儲器和程序存儲器。
2、 如權(quán)利要求1所說的CPU,其特征在于它的指令長度是24位,寄存器 不超過32個,其中某些寄存器可以直接控制外部電路或反映外部電路狀態(tài), 它訪問的數(shù)據(jù)存儲器深度不超過4096,程序存儲器深度不超過16384。
3、 如權(quán)利要求1或2所說的CPU,其特征在于它有如下多類指令及其編 碼,或其中的幾類指令及其編碼。A、 空操作NOP 000000000000000000000000B、 (寄存器+立即數(shù))類U)ADL reg, nnrm 010, reg, rmrmli)ADH reg, nrmn 011, reg, nnnnC、 (寄存器+ RAM絕對地址)類ADDreg,(nrm)10000,reg,OO誦ADDCreg,(min)10000,reg,10mmSUBreg,(rmrO10001,reg,OO腿細(xì)reg,(rmn)10010,reg,OOnnnORreg,10011,reg,OO纖XORreg,10100,reg,OOnnnMOV(nmi), reg10101,reg,lOnnriMOVreg,(nrm)10101,reg,OOnnnSWAPreg,(rmn)10110,reg,OOnnnCOPMreg,(mm)iom,reg,00,D、 (寄存器+寄存器)類ADDregl,reg211000000-001111,regl,reg2ADDCregl,reg211000000-101111,regl,reg2SUBregl,reg211000001-001111,regl,reg2扁regl,reg211000010-001111,regl,reg2ORregl,reg211000011-001111,regl,reg2XORregl,reg211000100-001111,regl,reg2MOVregl,reg211000101-001111,regl,reg2SWAPregl,reg211000110-001111,regl,reg2COMPregl,reg211000111-001111,regl,reg2(前8個寄存器+ROM絕對地址)類MOVP(rmrm)110001111, reg,nrmn(寄存器+寄存器間接)類ADDregl,(reg2)11001000-001111,regl,reg2ADDCregl,(reg2)11001000-101111,regl,reg2SUBregl,(reg2)11001001-001111,regl,reg2ANDregl,(reg2)11001010-001111,regl,reg2ORregl,(reg2)i匪oii-oomi,regl,reg2XORregl,(reg2)1匪100-001111,regl,reg2MOV(reg2), regl11001101-101111,regl,reg2MOVregl,(reg2)11001101-001111,regl,reg2SWAPregl,(reg2)11001110-001111,regl,reg2COMPregl,(reg2)11001111-001111,regl,reg23G、 (寄存器+ R0M寄存器間接)類MOVP regl, (reg2)110011111-01111, regl, reg2H、 (RAM絕對地址+位地址)類BSET (畫),mm 1101100, mm,匪 B(XR (畫),mm 1101000,腿,薩 BTEST (畫),mm 1101010,鵬,畫I、 RAM絕對地址類INCmio-ooo-llll,mmDEC(nrm)11110-010-llll,rmnCLR(rmrO11110-100-1111,rmnCOM(rmrOimo-iio-1111,nnnSL(mm)11110-111-00, ra,nrmSR(rmn)11110-111-01, ra,rmnROM(轉(zhuǎn)移)地址類JMP1111 1111100000,1111JMPZ1111 1111100001,imJMPE1111 1111100001,miJMPNZ1111 11moooio,miJMPNE1111 1111100010,miJMPC1111 11ll誦ll,miJMPLim i]11100100,miJMPLE1111 1]Lll匪Ol,imJMPG1111 1]LlllOOllO,mi<formula>formula see original document page 5</formula>CLRreg 1111111010-100-001111, regCOMreg 1111111010-110-001111, regDJNZreg 1111111010-101-001111, regPUSHreg 1111111010-001-001111, regPOPreg 1111111010-011-001111, regO、(寄存器+移位數(shù))類reg 111111101011100, ra, regSRreg 111111101011101, m, regp、寄存器間接類INC(reg) 1111111011-000-001111, regDEC(reg) 1111111011-010-001111, regCLR(reg) 1111111011-100-001111, regCOM(reg) 1111111011-110-001111, regQ、(寄存器間接+移'位數(shù))類(reg) 1111111011-111-00, m, regSR(reg) 1111111011—111—01, ra, reg
4、 如權(quán)利要求1、 2或3所說的CPU,其特征在于它有一數(shù)據(jù)存儲器訪問允許控制信號,該信號是輸入信號,只有該信號有效時,它才能訪問數(shù)據(jù)存 儲器。
5. 如權(quán)利要求l、 2、 3或4所說的CPU,其特征在于它與要訪問的數(shù)據(jù) 和程序存儲器及其它訪問數(shù)據(jù)存儲器的電路做在同 一塊集成電路中。
全文摘要
一種適用于移動存儲等設(shè)備控制器用的32位CPU,由運(yùn)算器和控制器等組成,指令定長(24位),操作碼不定長,能同時訪問的數(shù)據(jù)和程序存儲器。它的指令及其編碼有利于硬件設(shè)計,結(jié)構(gòu)簡單,在允許的情況下可以直接訪問數(shù)據(jù)存儲器,無需請求和應(yīng)答,效率高。它的某些寄存器可直接控制外部電路或反映外部電路的狀態(tài),可以和程序存儲器、數(shù)據(jù)存儲器及其它訪問數(shù)據(jù)存儲器的電路等做在同一塊集成電路中,用作移動存儲設(shè)備的控制芯片。
文檔編號G06F15/78GK101470690SQ200710186148
公開日2009年7月1日 申請日期2007年12月27日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者來智勇, 來躍深 申請人:來智勇;來躍深