1、ARM体系结构与编程 ARM处理器,指令集,CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式,指令长度可变 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 只包含最有用的指令,指令长度固定 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单,CISC的背景和特点,背景:存储资源紧缺, 强调编译优化。 增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)
2、指令系统来实现。 为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少。 寻址方式复杂多样,操作数可来自寄存器,也可来自存储器。 采用微程序控制,执行每条指令均需完成一个微指令序列。 CPI ,指令越复杂,CPI越大。,CISC的主要缺点,指令使用频度不均衡。 高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。 大量复杂指令的控制逻辑不规整,不适于VLSI工艺 VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速度比CPU慢5-10倍)。 软硬功能分配 复杂指令增加硬件的复
3、杂度,使指令执行周期大大加长,直接访存次数增多,数据重复利用率低。 不利于先进指令级并行技术的采用 流水线技术。,RISC基本设计思想,减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle。 精简指令集:保留最基本的,去掉复杂、使用频度不高的指令。 采用Load/Store结构,有助于减少指令格式,统一存储器访问方式。 采用硬接线控制代替微程序控制。,RISC:减少指令平均执行周期数,CPUtime= Instr_Count *CPI * Clock_cycle ICRISC IC CISC, 30%-40% CCRISC CCCISC CPIRISC
4、CPICISC , 20% 超标量、超流水线、VLIW等系统结构, 目标在于减小CPI, 可使CPI1,RISC的提出与发展,Load/Store结构提出: CDC6600(1963)-CRAY1(1976) RISC思想最早在IBM公司提出,但不叫RISC, IBM801处理器是公认体现RISC思想的机器。 1980年,Berkeley的Patterson和Dizel提出RISC名词,并研制了RISC-,实验样机。 1981年Stenford的Hennessy研制MIPS芯片。 85年后推出商品化RISC:MIPS1(1986)和SPARC V1(1987),典型的高性能RISC处理器,SU
5、N公司的SPARC(1987) MIPS公司的SGI:MIPS(1986) HP公司的PA-RISC, IBM, Motorola公司的PowerPC DEC、Compac公司的Alpha AXP IBM的RS6000(1990)第一台Superscalar RISC机,CISC与RISC的对比,ARM 发展,ARM处理器工作模式,ARM 有7个基本工作模式: User:非特权模式,大部分任务执行在这种模式 正常程序执行的模式 FIQ:当一个高优先级(fast)中断产生时将会进入这种模式 高速数据传输和通道处理 IRQ:当一个低优先级(normal)中断产生时将会进入这种模式 通常的中断处理
6、Supervisor:当复位或软中断指令执行时将会进入这种模式 供操作系统使用的一种保护模式 Abort: 当存取异常时将会进入这种模式 虚拟存储及存储保护 Undef: 当执行未定义指令时会进入这种模式 软件仿真硬件协处理器 System: 使用和User模式相同寄存器集的特权模式 特权级的操作系统任务,About 工作模式,除用户模式外其它6种处理器模式称为特权模式(Privieged Modes)。这些模式下程序可以访问所有的系统资源,也可以任意的进行处理器模式切换。其中的5种又称之为特权模式,分别为: FIQ(Fast Interrupt reQuest) IRQ(Interrupt
7、request) 管理(Supervisor) 中止(Abort) 未定义(Undefined),ARM寄存器组织,ARM处理器有37个32位长的寄存器 1个用作PC(program Counter) 1个用作CPSR(Current Program Status Register) 5个用作SPSR(Saved Program status Registers) 30个用作通用寄存器。 注:其中1个CPSR和5个SPSR通称为状态寄存器,虽然这些寄存器是32位的,但目前只使用了其中的12位。,寄存器组织,寄存器组织,注: 当前处理器的模式决定着哪组寄存器可操作 用户模式和系统模式使用相同的寄
8、存器,通用寄存器,通用寄存器根据其分组与否和使用目的可分为以下3类。 未分组寄存器(The unbanked registers),包括R0R7。 分组寄存器(The banked register),包括R8R14。 程序计数器(Program Counter),即R15。,分组寄存器,R8R14是分组寄存器,它们每个访问的物理寄存器取决于当前的处理器模式。 对于R8R12,一组用于FIQ模式,一组用于FIQ以外的模式。 不同模式下寄存器的使用,要使用寄存器名后缀加以区分。 如:FIQ: r8_fiq,r9_fiqUSER: r8_user,r9_user,分组寄存器,对于分组寄存器R13和
9、R14来说,每个寄存器对应于6个不同的物理寄存器。用户模式和系统模式公用,另外5个对应于5种异常模式。访问时需指定它们的模式。 r13_ r14_ 其中可以是以下之一:usr、svc、abt、und、irp和fiq。,分组寄存器,r13寄存器在ARM中常用作堆栈指针,称为SP r14又被称为连接寄存器(Link Register,LR) 每种处理模式用自己的r14存放当前子程序的返回地址 典型用法: 1、 MOV PC LRBX LR 2、在子程序入口处使用 STMFD SP!,LR 子程序返回时 LDMFD SP!,PC,程序计数器r15,程序计数器也称PC,用于两种特殊目的: 读程序计数器
10、 SUB R1,PC,#4 ;r1中存放STR指令地址 STR PC,R0 ;将PC=STR LDR R0,R0 SUB R0,R0,R1 ;offset=PC-STR地址 写程序计数器,程序状态寄存器,当前程序状态寄存器CPSR(Current Program Status Register),可以在任何处理器模式下被访问,它包括下列内容: ALU(Arithmetic Logic Unit)状态标志的备份。 当前的处理器模式。 中断使能标志。 设置处理器的状态。,程序状态寄存器,SPSR(Saved Program Status Register)当特定的异常中断发生时,这个物理寄存器负责
11、存放当前程序状态寄存器的内容。当异常处理程序返回时,再将其内容恢复到当前程序状态寄存器。在User模式和System模式下没有SPSR,状态寄存器模式位含义,ARM存储体系,ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从第0字节到第3字节放置第一个存储的字数据,从第4个字节到第7个字节放置第二个存储的字数据,依次排列。 作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(32位)。 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式。,ARM存储体系,ARM微处理器的指令系统,ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而
12、且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。 ARM微处理器的指令集可以分为六大类 : 跳转指令 数据处理指令 程序状态寄存器(PSR)处理指令 加载/存储指令 协处理器指令和异常产生指令,ARM微处理器指令表-1,ARM微处理器指令表-2,ARM微处理器指令表-3,ARM微处理器指令表-4,ARM微处理器指令表-5,ARM指令概述,ARM指令的寻址方式,ARM指令系统支持如下几种常见的寻址方式: 立即寻址 寄存器寻址 寄存器间接寻址 基址变址寻址 多寄存器寻址 相对寻址 堆栈寻址,立即寻址,立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就
13、在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。 例如以下指令:ADD R0,R0,1 /*R0R01 */ADD R0,R0,0x3f /*R0R00x3f*/ 在以上两条指令中,第二个源操作数即为立即数,要求以“”为前缀,对于以十六进制表示的立即数,还要求在“”后加上“0x”。,寄存器寻址,寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式。 以下指令:ADD R0,R1,R2 /*R0R1R2*/该指令的执行效果是将寄存器R1和R2的内容相加,其结果存放在寄存器R0中
14、。,寄存器间接寻址,寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。 例如以下指令:LDR R0, R1 /*R0R1*/STR R0, R1 /*R1R0*/ 在第一条指令中,以寄存器R2的值作为操作数的地址,在存储器中取得一个操作数后与R1相加,结果存入寄存器R0中; 第二条指令将以R1的值为地址的存储器中的数据传送到R0中 第三条指令将R0的值传送到以R1的值为地址的存储器中。,基址变址寻址,基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。采
15、用变址寻址方式的指令常见有以下几种形式,如下所示:LDR R0,R1,4 ;R0R14LDR R0,R1,4! ;R0R14、R1R14LDR R0,R1,4 ;R0R1、R1R14LDR R0,R1,R2 ;R0R1R2 在第一条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中。 在第二条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。 在第三条指令中,以寄存器R1的内容作为操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。 在第四条指令中,将寄存器R1的内容
16、加上寄存器R2的内容形成操作数的有效地址,从而取得操作数存入寄存器R0中。,多寄存器寻址,采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。这种寻址方式可以用一条指令完成传送最多16个通用寄存器的值。以下指令:LDMIA R0,R1,R2,R3,R4 ;R1R0;R2R04;R3R08;R4R012 该指令的后缀IA表示在每次执行完加载/存储操作后,R0按字长度增加,因此,指令可将连续存储单元的值传送到R1R4。,相对寻址,与基址变址寻址方式相类似,相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。以下程序段完成子程序的调用和返回
17、,跳转指令BL采用了相对寻址方式:BL NEXT ;跳转到子程序NEXT处执行 NEXT MOV PC,LR ;从子程序返回,堆栈寻址,堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack),而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack)。,堆栈寻址,根据堆栈的生成方式,又可以分为递增堆栈(Ascending Stack)和递减堆栈(Decending Stack),当堆栈由低地
18、址向高地址生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有四种类型的堆栈工作方式 满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成。 满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成。 空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。 空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成,ARM体系结构与编程 ARM处理器内核,简要定义,固化宏单元(硬核) ARM920T ARM7TDMI ARM720T ARM1022E,可综合内核(软核) ARM926EJ-S ARM7TDMI-S AR
19、M1026EJ-S,测试芯片 ARM10200E,ARM处理器内核,ARM7TDMI 处理器内核系列ARM9TDMI 处理器内核系列ARM10E处理器内核系列其他处理器,什么是 ARM7TDMI?,ARM7TDMI 是基于 ARM7 内核 3 级流水线-0.9MIPS/MHz 冯.诺依曼架构 CPI(Cycle Per Instruction) 约为1.9 T - Thumb 架构扩展, 提供两个独立的指令集: ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被执行 D - 内核具有Debug扩展结构 M - 增强乘法器 (32x8) 支持64位结果.
20、 I - EmbeddedICE-RT逻辑-提供片上断点和调试点支持,ARM7TDMI 内核信号,ARM7TDMI 方框图,ARM7TDM 内核,TAP 控制器,JTAG 接口,数据总线,控制信号,D31:0,地址总线,A31:0,DIN31:0,DOUT31:0,BUS Splitter,Embedded ICE 逻辑,ARM7TDMI 内核,外部地址产生,指令流水线,为增加处理器指令流的速度,ARM7 系列使用3级流水线. 允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,而非正在执行的指令,最佳流水线,该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行
21、) 指令周期数 (CPI) = 1,操作,周期,1 2 3 4 5 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,LDR 流水线举例,该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5,分支流水线举例,流水线被阻断 注意:内核运行在ARM状态,周期,1 2 3 4 5,地址 操作,Fetch,Decode,Execute,Fetch,
22、Decode,Execute,Fetch,Decode,Fetch,Fetch,Decode,Execute,Linkret,Adjust,Fetch,Decode,Fetch,中断流水线举例,周期,1 2 3 4 5 6 7 8,IRQ,IRQ 中断的反应时间最小=7周期,地址 操作,F,D,E,Linkret,Adjust,F,F,Decode IRQ,Linkret,Execute IRQ,Adjust,F,D,E,F,D,F,F,D,E,F,D,F,F,超标量执行,超标量(Superscalar)执行:超标量CPU采用多条流水线结构,对齐,存储器访问必须始终适当地保持地址对齐 非对齐地
23、址将产生不可预测的/未定义的结果用Data Abort 异常来检测无效的非对齐数据存取 扩展逻辑要求,或使用MMU在 720T, 920T, 926E-S, 1020E 谨防指令读取时出现非对齐 非对齐数据存取能够完成, 但不是用 LDR 使用 LDRB, STRB 传递字节,或使用LDM 加移位/屏蔽,T标志位的作用,16,16,32-bit data,16,A1,Mux,Thumb 指令 解码,Mux,Mux,T标志,ARM 指令 解码,阶段 1,阶段 2,D31:0,0,1,1,0,Fetch,Decode,Execute,带Cache的ARM7TDMI,ARM710T 8K 统一的 c
24、ache 完整的内存管理单元(mmu),支持虚拟地址和存储器保护 写缓冲,ARM720T 同ARM710T,但支持 WinCE ARM740T 8K 统一的 cache 内存管理单元 写缓冲,ARM7TDMI 内核,地址,地址,数据读,AMBA 接口,写 缓冲,MMU,数据写,数据,ARM7xxT,控制 逻辑,Cache,AMBA 总线 接口,JTAG 和非 AMBA 信号,CP15,ARM7TDMI-S,ARM7TDMI-S 是ARM7TDMI 的完全可综合版本 指令集和周期与ARM7TDMI 固化版本兼容 完全可综合的 RTL 使用了纲要设计构件的组件 ALU 寄存器组 单时钟设计(上升沿
25、)单一总线接口,SecurCore SC100,第一个适合安全应用的32位 RISC 处理器. 可用于smart 卡和其他有安全性要求的嵌入式领域. 基于ARM7内核的专为安全解决方案设计 完全可综合的,全静态设计 提供安全的存储器保护单元 Thumb指令支持,提高代码密度和系统性能 特殊的、独一无二的防伪造设计 小尺寸 (1mm2 典型的 0.25 工艺) 低功耗 ( 0.7mW/MHz at 2.5V),小测验,1)一条简单的算术操作( 如:ADD )要占用几个周期? 2)ARM7TDMI指令流水线有几个阶段? 3)ARM7TDMI 是否使用 ALU 计算地址? 4)ARM在存储器里,可寻
26、址几种类型的数据? 5)试举一非顺序周期的例子? 6)数据总线的哪一半可被内核用作Thumb 指令?,ARM处理器内核,ARM7TDMI 处理器内核系列 ARM9TDMI 处理器内核系列ARM10E处理器内核系列其他处理器,ARM9TDMI,Harvard架构 增加了可用的存储器宽度 指令存储器接口 数据存储器接口 可以实现对指令和数据存储器的同时访问 5 级流水线 实现了以下改进: 改进 CPI 到 1.5 提高了最大时钟频率,ARM9TDMI流水线的变化,Instruction Fetch,Shift + ALU,Memory Access,Reg Write,Reg Read,Reg D
27、ecode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM or Thumb Inst Decode,Reg Select,Reg Read,Shift,ALU,Reg Write,ThumbARM decompress,ARM decode,Instruction Fetch,FETCH,DECODE,EXECUTE,ARM7TDMI,ARM9TDMI数据通道 (1),寄存器 Bank,A L U,C,B,A,DINFWD,结果,DA,DD,数据递增,向量,指令递增,IA,字节旋转 /符号扩展.,MU 逻辑,双向 缓冲器,字节/半字 复制,MU逻
28、辑单元包含有:多路复用器,乘法器和桶形移位器,数据总线,地址总线,字节/半字,指令地址总线,ARM9TDMI 数据通道 (2),寄存器 Bank,PSR,乘法器,移位器,ALU,B,A,Imm,DINFWD,BDATA,ADATA,锁存,锁存,MU 逻辑,(至 IA 生成逻辑),结果,周期,操作,ADD R1, R1, R2,SUB R3, R4, R1,ORR R8, R3, R4,AND R6, R3, R1,EOR R3, R1, R2,1,2,3,4,5,6,7,8,LDR R4, R7,9,F,D,E,F,D,E,W,F,D,E,W,F,D,E,W,F,D,W,E,F,D,E,W,F
29、 取指(Fetch)D 解码(Decode)E 执行(Execute) I 互锁(Interlock) M 存储器 (Memory) W 写回(Writeback),I,LDR互锁,本例中,用了7个时钟周期执行6条指令, CPI = 1.2 。 LDR指令之后立即跟一条数据操作指令,由于使用了相同的寄存器,将会导致互锁 。,W,I,M,周期,操作,ADD R1, R1, R2,SUB R3, R4, R1,ORR R8, R3, R4,AND R6, R3, R1,EOR R3, R1, R2,LDR R4, R7,最佳流水线,本例中,用了6个时钟周期执行6条指令, CPI = 1。 LDR指
30、令没有引起流水线互锁,LDM互锁 (1),本例中,用了8个时钟周期执行5条指令, CPI = 1.6 在LDM期间,有并行的存储器访问和回写周期,LDM 互锁 (2),本例中,用了9个时钟周期执行5条指令, CPI = 1.8 此处SUB 使用了 R3,增加了一个额外的互锁周期来完成该寄存器数据的获取 这种情况对任何LDM 指令,像带IA, DB, FD,等,都会发生 。,ARM9TDMI系统举例,注意: 数据接口必须能够读取指令存储器中的数据。 为调试方便,建议数据接口能够读写指令存储器。,带Cache的ARM9TDMI,ARM9TDMI,D Cache,I Cache,MMU,GLUE,外
31、部 存储器,ARM920T 2x 16K caches MMU 支持虚拟地址和内存保护 写缓冲,ARM940T 2x 4K caches MPU 写缓冲,ARM9xxT,ARM9E-S 系列概述,ARM9E 基于 ARM9TDMI 内核,有以下扩展和增强: 单周期 32x16 乘法器 EmbeddedICE 逻辑 RT 改进的 ARM/Thumb 交互操作 新的32x16和 16x16 乘法指令 新的计数到零指令 新的饱和算术指令 ARM946E-S ARM9E-S 内核 指令和数据cache, 大小可选择 指令和数据RAM,大小可选择 保护单元 AHB 总线接口 ARM966E-S 与 AR
32、M946E-S相似, 但无 cache。,v5TE架构,ARM926EJ-S 概述,Jazelle状态允许直接执行Java 8位码 ARM926EJ-S ARM9E-S 内核 可配置的cacheTCM TCM(Terminal-to-ComputerMultiplexer终端设备至计算机多路转接器) 内存管理单元 双重 32位 AHB 总线接口 (多层),小测验,1) Harvard结构带来了哪些优势? 2) ARM9TDMI流水线有几级? 3) 在流水线的哪一个阶段读寄存器? 4) 寄存器 bank由几个读或写端口? 5) 什么条件下会出现互锁?,ARM处理器内核,ARM7TDMI 处理器内
33、核系列ARM9TDMI 处理器内核系列 ARM10E处理器内核系列其他处理器,ARM10E 系列概述,ARM1020E v5TE架构 CPI 1.3 6 级流水线 静态分支预测 32kB 指令cache和32kB数据cache 支持“Hit under miss”非阻塞的执行单元 每周期64 位的 LDM / STM操作 EmbeddedICE逻辑 - RT-II 支持新的 VFPv1 结构 ARM1022E 同上,除了cache大小为16kB 对SUDL(single user design license )有效,ARM10 与ARM9的流水线对比,指令 取指,移位+ ALU,寄存器 写,
34、寄存器 读,寄存器 译码,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM 或Thumb 指令解码,ARM10,指令地址生成,移位+ ALU,数据 Cache接口,寄 存 器 写,FETCH,DECODE,EXECUTE,MEMORY,WRITE,寄存器 读 + 结果 前向迁移 + 记分板,乘法,乘 加,协处理器 数据接口,分支 预测,指令 取指,ISSUE,寄存器 访问,数据+ 分支地址 生成,ARM 或 Thumb 指令解码,协处理器 指令发出,ARM10 整数单元数据通道,写端口,周期,Operation,LDR A B C,ADD A B,1
35、,2,3,4,5,6,7,MUL A,F - Fetch I - Issue D - Decode E - Execute M Memory Wb - Writeback Wl - Write to register using load port,顺序代码的执行 开始于64位的对齐地址,Address,0x07334,0x0732C,0x07330,SUB B C,0x07328,ADD A C,0x07324,ADD B,0x07320,Fetch to Buffer,8,9,M,Wl,D,Wb,D,D,Wb,D,Wb,F,D,Wb,D,E,E,F,F,F,F,F,ARM1026EJ-S
36、概述,Jazelle状态允许直接执行Java 8位码 ARM1026EJ-S ARM10EJ-S 内核 可配置的cache和 TCM 支持MMU 和MPU 两个 64位 AHB 总线接口 (多层),ARM处理器内核,ARM7TDMI 处理器内核系列ARM9TDMI 处理器内核系列ARM10E处理器内核系列 其他处理器,Intel StrongARM 概述,ARM V4 架构 (无Thumb 支持) 5级流水线,降低跳转损耗-stage pipeline, reduced branch penalty 改进的乘法器(典型地比ARM9TDMI 快2个周期) 不支持 Multi-ICE 调试 (JT
37、AG 限制在连通性测试) 无外部协处理器接口 SA-110: 16K 指令和数据 caches, 8 x 16 字节写缓冲. SA-1100/1110: 片上外设,存储器控制器 更小的 cache 容量 PID (进程标识符)寄存器 指令断点,通过 CP15,Intel XScale 概述,V5TE 兼容架构 7-8级流水线带统计分支预测 32k的数据和指令 Cache, 外加2k的数据Minicache 8口写缓冲,4口填充和追加缓冲 完整的32位协处理器接口 调试和性能监控逻辑(通过CP14 ) 乘-加模块(作为CP0 ) 可配置的内核时钟速度100-733MHz ,来自 33-66MHz 输入时钟 异步输入总线时钟可到100 MHz (最大总线内核时钟的1/3 ) 举例:XScale 80200: 中断控制器 (implemented as CP13) ECC 存储器保护,