CPU的5单元:M-I-P-A-D 读数据的数据总线BB,CB,DB(每组16位) 读数据的地址总线BAB,CAB,DAB(每组24位) 读程序的数据总线PB(每组32 读程序的地址总线PAB(每组24莅 外部数据 1总线 CPUl M单元 I单元 P单元 A单元 D单元 外部程序干 总线 写数据的数据总线EB,FB(每组16位) 写数据的地址总线EAB,FAB(每组24位) 图2-3C55x的CPU结构框图 39
图2-3 C55x的CPU结构框图 读数据的数据总线BB,CB,DB(每组16位) 读程序的数据总线PB(每组32位) 读数据的地址总线BAB,CAB,DAB(每组24位) M单元 I单元 P单元 A单元 D单元 写数据的地址总线EAB,FAB(每组24位) 写数据的数据总线EB,FB(每组16位) CPU 外部数据 总线 外部程序 总线 读程序的地址总线PAB(每组24位) 39 CPU的5单元: M-I-P-A-D
2.3.1存储器接口单元(M单元) ●内部数据流、指令流接口(内部存储器接口); 管理所有来自CPU、数据空间或/O空间的 数据和指令;(内部、外部存储器接口EMI) 负责CPU和数据空间以及或CPU和I/O空间 的数据传输。 40
2.3.1 存储器接口单元(M单元) ⚫ 内部数据流、指令流接口(内部存储器接口); ⚫ 管理所有来自CPU、数据空间或I/O空间的 数据和指令;(内部、外部存储器接口EMIF) ⚫ 负责CPU和数据空间以及或CPU和I/O空间 的数据传输。 40 (EMIF) (M (M
2.3.2指令缓冲单元 每个机器周期,PB从程序空间 (红单元) 传送32位的程序代码至I单元的 指令缓冲队列; 程序读数据总线PB(4字节代码) 最大可存放64字节的待译码指 令,可执行块循环指令,具有 M单元 I单元 对分支、调用和返回指令的随 指令缓冲 队列 机处理能力。 64字节) 程序存储器 CPU准备译码时,6字节代码从 指念 P单元 队列发送到单元的指令译码器; A单元 能识别指令边界,译码8、16、24、 器 D单元 32、40和48位的指令,决定2条 指令是否并行执行,将译码结 图2-4I单元结构框图 果和立即数送至P单元、A单元、 D单元。 41
2.3.2 指令缓冲单元 (I单元) 程序读数据总线PB(4字节代码) M单元 指令缓冲 队列 (64字节) 指令解码 器 P单元 A单元 D单元 I单元 图2-4 I单元结构框图 每个机器周期,PB从程序空间 传送32位的程序代码至I单元的 指令缓冲队列; 最大可存放64字节的待译码指 令,可执行块循环指令,具有 对分支、调用和返回指令的随 机处理能力。 CPU准备译码时, 6字节代码从 队列发送到I单元的指令译码器; 能识别指令边界, 译码8、16、24、 32、40和48位的指令,决定2条 指令是否并行执行,将译码结 果和立即数送至P单元、A单元、 D单元。 41 程 序 存 储 器
2.3.3程序流单元(P单元 程序地址产生逻辑: 数据读数据总线CB,DB(每组16位数据) 产生24位程序空间取指地址: 可产生顺序地址, 程序读地址总线PAB(24位地址】 也可以I单元的立即数或D单 M单元 P 元的寄存器值作为地址。 单元 程序地址 A单元 产生器 单 程序控制逻辑: 存储器 和程序控 D单元 元 制逻辑 接收来自I单元的立即数,并 测试来自A单元或D单元的结 P单元寄存器 果从而执行如下动作: 测试条件执行指令的条件 是否成立,把测试结果送程序 数据写数据总线EB,FB(每组16位数据) 地址产生器; 图2-5P单元结构框图 控制单一指令重复或块指令 P单元的作用: 重复;管理并行执行的指令。 产生程序空间地址,并加载地址到PAB, 当中断被请求或使能时,初 控制指令流顺序。 始化中断服务程序; 42
P单元的作用: 产生程序空间地址, 并加载地址到PAB; 控制指令流顺序。 2.3.3 程序流单元(P单元) 数据读数据总线CB,DB(每组16位数据) M单元 程序地址 产生器 和程序控 制逻辑 P单元寄存器 I单元 A单元 D单元 数据写数据总线EB,FB(每组16位数据) 程序读地址总线PAB (24位地址) P 单 元 程序地址产生逻辑: 产生24位程序空间取指地址; 可产生顺序地址; 也可以I单元的立即数或D单 元的寄存器值作为地址。 程序控制逻辑: 接收来自I单元的立即数, 并 测试来自A单元或D单元的结 果从而执行如下动作: 测试条件执行指令的条件 是否成立, 把测试结果送程序 地址产生器; 控制单一指令重复或块指令 重复; 管理并行执行的指令。 当中断被请求或使能时, 初 始化中断服务程序; 图2-5 P单元结构框图 42 存 储 器
P单元所用寄存器分为5种类型(对应2.4节及相关内容): (1)程序流寄存器:包括程序计数器(P℃)、返回地址寄存器 (RETA)和控制流关系寄存器(CFCT) Control flow context register (2)块重复寄存器:包括块重复寄存器0和1(BRC0,BRC1)、 BRC1的保存寄存器(BRS1)、块重复起始地址寄存器0和1 (RSA0,RSA1)以及块重复结束地址寄存器0和1(REA0, REA1) (3)单重复寄存器:包括单重复计数器(RPTC)和计算单重复 寄存器(CSR) (4)中断寄存器:包括中断标志寄存器0和1(IFR0,IFR1) 中断使能寄存器0和1(IER0,IER1)以及调试中断使能寄 存器O和1(DBIERO,DBIER1) (5)状态寄存器:包括状态寄存器0,1,2和3(ST0-55,ST1-55, ST2-55和ST3-55)。 ARnLC 43
P单元所用寄存器分为5种类型(对应2.4节及相关内容): (1)程序流寄存器:包括程序计数器(PC)、返回地址寄存器 (RETA)和控制流关系寄存器(CFCT)。 (2)块重复寄存器:包括块重复寄存器0和1(BRC0,BRC1)、 BRC1的保存寄存器(BRS1)、块重复起始地址寄存器0和1 (RSA0,RSA1)以及块重复结束地址寄存器0和1(REA0, REA1)。 (3)单重复寄存器:包括单重复计数器(RPTC)和计算单重复 寄存器(CSR)。 (4)中断寄存器:包括中断标志寄存器0和1(IFR0,IFR1)、 中断使能寄存器0和1(IER0,IER1)以及调试中断使能寄 存器0和1(DBIER0,DBIER1); (5)状态寄存器:包括状态寄存器0,1,2和3(ST0-55,ST1-55, ST2-55和ST3-55)。 ARnLC 43 Control flow context register