arm處理內(nèi)器核介紹_第1頁
arm處理內(nèi)器核介紹_第2頁
arm處理內(nèi)器核介紹_第3頁
arm處理內(nèi)器核介紹_第4頁
arm處理內(nèi)器核介紹_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

T

H

EA

R

C

H

I

T

E

C

T

U

R

EF

O

RTT

M

HED

I

G

I

T

A

LW

O

R

L

DARM處理器內(nèi)核簡要定義…固化宏單元(硬核)ARM920TARM7TDMIARM720TARM1022E可綜合內(nèi)核(軟核)ARM926EJ-SARM7TDMI-SARM1026EJ-S測試芯片ARM10200EARM普通處理器內(nèi)T核M2議程ARM普通處理器內(nèi)T核M3ARM7TDMI處理器內(nèi)核系列ARM9TDMI處理器內(nèi)核系列ARM10E處理器內(nèi)核系列

其他處理器什么是ARM7TDMI?ARM普通處理器內(nèi)T核M4ARM7TDMI是基于

ARM7內(nèi)核3級(jí)流水線---0.9MIPS/MHz馮.諾依曼架構(gòu)CPI(Cycle

Per

Instruction)約為1.9T-Thumb架構(gòu)擴(kuò)展,提供兩個(gè)獨(dú)立的指令集:■■■ARM指令,均為32位Thumb指令,均為16位兩種運(yùn)行狀態(tài),用來選擇哪個(gè)指令集被執(zhí)行D-內(nèi)核具有Debug擴(kuò)展結(jié)構(gòu)M-增強(qiáng)乘法器(32x8)支持64位結(jié)果.I

-EmbeddedICE-RT邏輯---提供片上斷點(diǎn)和調(diào)試點(diǎn)支持ARM7TDMI內(nèi)核信號(hào)ARM7TDMI內(nèi)核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE協(xié)處理器接口存儲(chǔ)器管理存儲(chǔ)器接口nOPCnCPICPACPBnTRANSABORTMAS[1:0]nENOUTnRWnM[4:0]nMREQSEQ

LOCKA[31:0]DIN[31:0]DOUT[31:0]D[31:0]電源總線控制時(shí)鐘配置中斷ARM普通處理器內(nèi)T核M5ARM內(nèi)核信號(hào)解釋ARM普通處理器內(nèi)T核M6時(shí)鐘和時(shí)鐘控制信號(hào):MCLK:主時(shí)鐘信號(hào),可以被倍頻(如44B0,外頻8M,可倍頻為40M)ECLK:向外部輸出的時(shí)鐘信號(hào)nWAIT:總線等待請求信號(hào)nRESET:內(nèi)核復(fù)位信號(hào)ARM內(nèi)核信號(hào)解釋ARM普通處理器內(nèi)T核M7地址類信號(hào):A[31:0]:地址總線,單向傳輸nRW:“1”寫周期,“0”讀周期,突發(fā)傳送期間不能改變方向MAS[1:0]:對(duì)傳送數(shù)據(jù)的寬度進(jìn)行編碼:MAS[1:0]寬度有效地址位00字節(jié)A[31:0]01半字A[31:1]10字A[31:2]11保留—ARM內(nèi)核信號(hào)解釋ARM普通處理器內(nèi)T核M8地址類信號(hào):nOPC:用于判斷取操作碼還是操作數(shù)“1”-操作碼,“0”-操作數(shù)nTRANS:用于判斷訪問來自特權(quán)模式還是用戶模式“1”-特權(quán)模式,“0”-用戶模式LOCK:用于指示總線上正在進(jìn)行原子操作TBIT:用于指明工作狀態(tài)是ARM還是T狀態(tài)“1”-T狀態(tài),“0”-ARM狀態(tài)9nMREQSEQ總線周期類型說明00N周期非順序周期01S周期順序周期10ARMI周期普通處理器內(nèi)T核M內(nèi)部周期ARM內(nèi)核信號(hào)解釋存儲(chǔ)器請求信號(hào):nMREQ:存儲(chǔ)器請求信號(hào)SEQ:用于與nMREQ一起產(chǎn)生總線周期信號(hào)編碼ARM內(nèi)核信號(hào)解釋ARM普通處理器內(nèi)T核M10數(shù)據(jù)時(shí)序信號(hào):D[31:0]:雙向數(shù)據(jù)總線DIN[31:0]:單向數(shù)據(jù)總線DOUT[31:0]:單向數(shù)據(jù)總線ABOUT:用于指明存儲(chǔ)器事務(wù)完成情況BL[3:0]:用于內(nèi)核和不同字寬的存儲(chǔ)系統(tǒng)連接ARM內(nèi)核信號(hào)解釋ARM普通處理器內(nèi)T核M11其它信號(hào):BUSEN:”1”-單向數(shù)據(jù)總線,”0”-雙向數(shù)據(jù)總線nENIN:允許外部系統(tǒng)操縱總線三態(tài)nENOUT:表明處理器正在驅(qū)動(dòng)雙向數(shù)據(jù)總線作為輸出TBE:“0”強(qiáng)制所有三態(tài)輸出為高阻,測試時(shí)使用,不用時(shí)接“1”DBE:與ABE組合控制處理器總線變?yōu)楦咦钁B(tài)APE:和ALE:用于控制地址產(chǎn)生時(shí)序,以便SRAM,DRAM與處理器的連接.APE—”1”

用于DRAM,

APE—”0”

SRAMARM7TDMI方框圖ARM7TDM內(nèi)核

TAP控制器JTAG接口數(shù)據(jù)總線控制信號(hào)D[31:0]地址總線A[31:0]DIN[31:0]DOUT[31:0]BUSSplitterEmbeddedICE邏輯ARM普通處理器內(nèi)T核M12乘法器ARM7TDMI內(nèi)核指令解碼地址自增器nRWMAS[1:0]nOPCnCPICPACPBBIGENDMCLKnWAITISYNCnIRQnFIQnRESETABORTnTRANSnMREQSEQ

LOCKnM[4:0]D[31

:0

]桶形移位器32位ALUDBE寫數(shù)據(jù)寄存器讀數(shù)據(jù)寄存器地址寄存器寄存器ABE A[31

:0

]及控制邏輯PC

Update解碼站指令解碼IncrementerP

CARM普通處理器內(nèi)T核M13ABusBBusALUBus外部地址產(chǎn)生PC[31:2]

ARM

StatePC[31:1]

Thumb

StateALU[31:0]INC自增器A[31:0]0x1C向量0x00地址寄存器ARM普通處理器內(nèi)T核M14指令流水線為增加處理器指令流的速度,ARM7系列使用3級(jí)流水線.允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快。ARM

ThumbPC指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecutePC

PC

從存儲(chǔ)器中讀取指令A(yù)RM普通處理器內(nèi)T核M15解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank

)PC

-

4

PC-2PC

-

8PC

-

4最佳流水線該例中用6個(gè)時(shí)鐘周期執(zhí)行了6條指令所有的操作都在寄存器中(單周期執(zhí)行)指令周期數(shù)(CPI)=1操作ADD

SUB

MOV

AND

ORR

EOR

CMP

RSB周期1

2

3

4

56FetchDecodeFetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchARM普通處理器內(nèi)T核M16LDR流水線舉例該例中,用6周期執(zhí)行了4條指令指令周期數(shù)(CPI)=1.5周期操作1

2

3

4

5

6ADD

SUB

LDR

MOV

AND

ORRFetchDecodeFetchExecuteDecodeFetchDataWritebackExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchARM普通處理器內(nèi)T核M17分支流水線舉例流水線被阻斷注意:內(nèi)核運(yùn)行在ARM狀態(tài)周期123450x8008XX0x8FEC

ADD0x8FF0

SUB0x8FF4

MOV地址操作FetchDecodeFetchExecuteDecodeFetchExecuteDecodeFetch0x8000BLFetchDecodeExecuteLinkretAdjust0x8004XFetchDecodeFetchARM普通處理器內(nèi)T核M18中斷流水線舉例周12345678IRQIRQ中斷的反應(yīng)時(shí)間最小=7周期地期地期址操作FDFEDecode

ExecuteIRQ

IRQFLinkretAdjustFDFEDFFDFEDFF0x8000

ADDARM普通處理器內(nèi)T核M19B

(to

0xAF00)

0x8004

SUB0x8008

MOV0x800C

X0x00180x001C

XX0x0020

XXX0xAF00

STMFD0xAF04

MOV0xAF08

LDR對(duì)齊存儲(chǔ)器訪問必須始終適當(dāng)?shù)乇3值刂穼?duì)齊非對(duì)齊地址將產(chǎn)生不可預(yù)測的/未定義的結(jié)果用‘Data

Abort’異常來檢測無效的非對(duì)齊數(shù)據(jù)存取擴(kuò)展邏輯要求,或使用MMU在720T,920T,926E-S,1020E謹(jǐn)防指令讀取時(shí)出現(xiàn)非對(duì)齊非對(duì)齊數(shù)據(jù)存取能夠完成,但不是用

LDR使用LDRB,STRB傳遞字節(jié)字節(jié)訪問

(字節(jié)對(duì)齊)半字訪問

(半字對(duì)齊)字訪問

(字對(duì)齊)32102007654644ba98a88fedceccARM普通處理器內(nèi)T核M20ARM存儲(chǔ)器接口ARM普通處理器內(nèi)T核M21順序周期

(S

cycle)(nMREQ,SEQ存儲(chǔ)器請求信號(hào))nMREQ

=

0,

SEQ

=

1ARM內(nèi)核要求如下地址轉(zhuǎn)換:地址可以相同,也可以比前一地址大一字或半字非順序周期(N

cycle)(nMREQ,SEQ存儲(chǔ)器請求信號(hào))nMREQ

=

0,

SEQ

=

0ARM內(nèi)核要求如下地址轉(zhuǎn)換:與前一周期的地址不相關(guān).內(nèi)部周期(I

cycle)(nMREQ,SEQ存儲(chǔ)器請求信號(hào))nMREQ

=1,

SEQ

=

0ARM內(nèi)核不要求地址轉(zhuǎn)換,因?yàn)樗谕瓿梢粋€(gè)內(nèi)部功能,不需要取指協(xié)處理寄存器轉(zhuǎn)換周期(C

cycle)(nMREQ,SEQ存儲(chǔ)器請求信號(hào))nMREQ

=

1,

SEQ

=

1ARM內(nèi)核希望用總線協(xié)處理器通信,但不要求存儲(chǔ)器系統(tǒng)的任何動(dòng)作T標(biāo)志位的作用161632-bit

data16A[1]MuxThumb指令解碼MuxT標(biāo)志ARM指令解碼階段1階段2D[31:0]ARM普通處理器內(nèi)T核M22Mux0110FetchDecodeExecute帶/view15/M03/08/0D/wKh2D2ANBjKAJC3E■8K統(tǒng)一的/view15/M03/08/0D/wKh2D2ANBjKAJC3EAAVOKvqdnT87ARM7TDMI內(nèi)核地址地址AMBA接口寫緩沖MMU數(shù)據(jù)寫數(shù)據(jù)控制邏輯ARM普通處理器內(nèi)T核M23/view15/M0/0D/wKh2D2ANB數(shù)jK據(jù)AJ讀C3EAAVOKvqdnT871_0A1R|0M_7_xfx2x28T7ARM7TDMI-SARM普通處理器內(nèi)T核M24ARM7TDMI-S是ARM7TDMI的完全可綜合版本指令集和周期與ARM7TDMI固化版本兼容完全可綜合的RTL■使用了綱要設(shè)計(jì)構(gòu)件的組件ALU寄存器組■■單時(shí)鐘設(shè)計(jì)(上升沿)單一總線接口SecurCore

SC100ARM普通處理器內(nèi)T核M25第一個(gè)適合安全應(yīng)用的32位RISC處理器可用于smart卡和其他有安全性要求的嵌入式領(lǐng)域基于ARM7內(nèi)核的專為安全解決方案設(shè)計(jì)完全可綜合的,全靜態(tài)設(shè)計(jì)提供安全的存儲(chǔ)器保護(hù)單元Thumb指令支持,提高代碼密度和系統(tǒng)性能特殊的、獨(dú)一無二的防偽造設(shè)計(jì)小尺寸

(1mm2

典型的

0.25

工藝)低功耗(<0.7mW/MHz

at

2.5V)小測驗(yàn)ARM普通處理器內(nèi)T核M261)一條簡單的算術(shù)操作(如:ADD)要占用幾個(gè)周期?2)ARM7TDMI指令流水線有幾個(gè)階段?3)ARM7TDMI是否使用ALU計(jì)算地址?4)ARM在存儲(chǔ)器里,可尋址幾種類型的數(shù)據(jù)?5)試舉一非順序周期的例子?6)數(shù)據(jù)總線的哪一半可被內(nèi)核用作Thumb指令?議程ARM普通處理器內(nèi)T核M27ARM7TDMI處理器內(nèi)核系列

ARM9TDMI處理器內(nèi)核系列

ARM10E處理器內(nèi)核系列其他處理器ARM9TDMIARM普通處理器內(nèi)T核M28Harvard架構(gòu)增加了可用的存儲(chǔ)器寬度■■指令存儲(chǔ)器接口數(shù)據(jù)存儲(chǔ)器接口可以實(shí)現(xiàn)對(duì)指令和數(shù)據(jù)存儲(chǔ)器的同時(shí)訪問5級(jí)流水線實(shí)現(xiàn)了以下改進(jìn):改進(jìn)CPI到~1.5提高了最大時(shí)鐘頻率ARM9TDMI流水線的變化InstructionFetchShift

+

ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM

or

ThumbInst

DecodeReg

SelectRegReadShift

ALURegWriteThumb?ARMdecompressARM

decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMIARM普通處理器內(nèi)T核M29ARM9TDMI數(shù)據(jù)通道(1)寄存器

BankALUCBADINFWD結(jié)果DD數(shù)據(jù)遞增向量指令遞增IAMU

邏輯雙向緩沖器字節(jié)/半字復(fù)制ARM普通處理器內(nèi)T核M30MU邏輯單元包含有:多路復(fù)用器,乘法器和桶形移位器數(shù)據(jù)總線DA地址總線字節(jié)旋轉(zhuǎn)/符號(hào)擴(kuò)展.字節(jié)/半字指令地址總線ARM9TDMI數(shù)據(jù)通道(2)寄存器

BankPSR乘法器移位器ALUBARM普通處理器內(nèi)T核M31AImmBDATAADATA鎖存鎖存DINFWDMU邏輯(至IA生成邏輯)結(jié)果周期123456789操作ADDR1,

R1,

R2FDEWSUBR3,

R4,

R1FDEWLDRR4,

[R7]FDEMWORRR8,

R3,

R4FDIEWANDR6,

R3,

R1FIDEWEORR3,

R1,

R2FDEWF

取指(Fetch)D

解碼(Decode) E

執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory

)W–寫回(

Writeback)本例中,用了7個(gè)時(shí)鐘周期執(zhí)行6條指令,CPI=1.2。

LDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會(huì)導(dǎo)致互鎖。ARM普通處理器內(nèi)T核M32LDR互鎖最佳流水線F

取指(Fetch)D

解碼(Decode) E

執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory

)W–寫回(

Writeback)本例中,用了6個(gè)時(shí)鐘周期執(zhí)行6條指令,CPI=1。LDR指令沒有引起流水線互鎖周期123456789操作ADDR1,

R1,

R2FDEWSUBR3,

R4,

R1FDEWLDRR4,

[R7]FDEMWANDR6,

R3,

R1FDEWORRR8,

R3,

R4FDEWEORR3,

R1,

R2FDEWARM普通處理器內(nèi)T核M33LDM互鎖(1)F

取指(Fetch)D

解碼(Decode) E

執(zhí)行(Execute)MW-存儲(chǔ)器和回寫同時(shí)執(zhí)行

I

互鎖(Interlock)M

存儲(chǔ)器(Memory

)W

–寫回(

Writeback)

本例中,用了8個(gè)時(shí)鐘周期執(zhí)行5條指令,CPI=1.6在LDM期間,有并行的存儲(chǔ)器訪問和回寫周期周期123456789操作LDMIAR13!,

{R0-R3}FDEMMWMWMWWSUBR9,

R7,

R8FDIIIEWSTRR4,

[R9]FIIIDEMWORRR8,

R4,

R3FDEWANDR6,

R3,

R1FDEARM普通處理器內(nèi)T核M34LDM互鎖(2)F

取指(Fetch)D

解碼(Decode) E

執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory

)W–寫回(

Writeback)本例中,用了9個(gè)時(shí)鐘周期執(zhí)行5條指令,CPI=1.8此處SUB使用了R3,增加了一個(gè)額外的互鎖周期來完成該寄存器數(shù)據(jù)的獲取這種情況對(duì)任何LDM指令,像帶IA,DB,FD,等,都會(huì)發(fā)生。W周期123456789操作LDMIAR13!,

{R0-R3}FDEMMWMWMWWSUBR9,

R7,

R3FDIIIIEWSTRR4,

[R9]FIIIIDEMWORRR8,

R4,

R3FDEANDR6,

R3,

R1FDEARM普通處理器內(nèi)T核M35ARM9TDMI系統(tǒng)舉例ARM9TDMI數(shù)據(jù)存儲(chǔ)器指令存儲(chǔ)器CTRLDA[..]DD[..]CTRLIA[..]GLUEGLUEID[..]注意:數(shù)據(jù)接口必須能夠讀取指令存儲(chǔ)器中的數(shù)據(jù)。為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫指令存儲(chǔ)器。ARM普通處理器內(nèi)T核M36帶/view15/M03/08/0D/wKh2D2ANBjKAJC3EARM9TDMID

/view15/M03ARM普通處理器內(nèi)T核M37ARM9E-S系列概述ARM普通處理器內(nèi)T核M38ARM9E基于

ARM9TDMI內(nèi)核,有以下擴(kuò)展和增強(qiáng):單周期32x16乘法器EmbeddedICE邏輯RT改進(jìn)的ARM/Thumb交互操作新的32x16和16x16乘法指令新的計(jì)數(shù)到零指令新的飽和算術(shù)指令A(yù)RM946E-SARM9E-S內(nèi)核指令和數(shù)據(jù)/view15/M03/08/0D/wKh2D2ANBjKAJC3EAAVOKvqdnT871

2929ARM926EJ-S概述ARM普通處理器內(nèi)T核M39Jazelle狀態(tài)允許直接執(zhí)行Java

8位碼ARM926EJ-SARM9E-S內(nèi)核可配置的cacheTCMTCM(Terminal-to-ComputerMultiplexer終端設(shè)備至計(jì)算機(jī)多路轉(zhuǎn)接器)內(nèi)存管理單元雙重32位AHB總線接口(多層)小測驗(yàn)ARM普通處理器內(nèi)T核M40Harvard結(jié)構(gòu)帶來了哪些優(yōu)勢?ARM9TDMI流水線有幾級(jí)?在流水線的哪一個(gè)階段讀寄存器?寄存器bank由幾個(gè)讀或?qū)懚丝?什么條件下會(huì)出現(xiàn)互鎖?議程ARM普通處理器內(nèi)T核M41ARM7TDMI處理器內(nèi)核系列ARM9TDMI處理器內(nèi)核系列

ARM10E處理器內(nèi)核系列其他處理器ARM10E系列概述ARM普通處理器內(nèi)T核M42ARM1020ECPI

1.3v5TE架構(gòu)■■■■6級(jí)流水線

靜態(tài)分支預(yù)測32kB指令cache和32kB數(shù)據(jù)cache■■支持“Hit

undermiss”非阻塞的執(zhí)行單元每周期64位的LDM/STM操作EmbeddedICE邏輯-RT-II支持新的VFPv1結(jié)構(gòu)ARM1022E同上,除了cache大小為16kB對(duì)SUDL(single

user

design

license)有效ARM10與ARM9的流水線對(duì)比指令取指移位+ALU寄存器寫寄存器

寄存器譯碼

讀FETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM或Thumb指令解碼ARM10指令地址生成移位+ALU數(shù)據(jù)/view15/M0ARM普通處理器內(nèi)T核M43ARM10整數(shù)單元數(shù)據(jù)通道寄存器

Bank移位器ALUBImmB結(jié)果AAPSRCLZ乘法器寫端口PC數(shù)據(jù)裝載ARM普通處理器內(nèi)T核M44周期F

-

Fetch

I

-

IssueWb

-

WritebackD

-

Decode E

-

Execute

M

Memory

Wl

-

Write

to

register

using

load

port順序代碼的執(zhí)行開始于64位的對(duì)齊地址0x073340x0732C0x073300x073280x07324Address0x07320Operation

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論