文档详情

流水cpu设计计划.doc

发布:2017-12-16约2.57千字共5页下载文档
文本预览下载声明
CPU总体逻辑结构图 二、CPU各模块电原理图 取指部分(IF) 模块功能:给出内存地址,读取指令并送入指令寄存器,为下一级准备数据,并更新PC。 输入端:Z、C 状态寄存器 TempZ、TempC 临时状态位,旁路处理 e_setFlag 状态寄存器写使能 PCPlusOffset PC加偏移量 PCStall 为‘1’时,PC保持不变 IFFlush 为‘1’时,将清空IR OuterDB 内存读出的数据 输出端:PC_addr PC作为内存地址输出,用于下一节拍的取指 d_PCInc1 PC+1 d_IR 指令寄存器输出 译码部分(ID) 模块功能:读取寄存器值和指令译码。采取一次译码,逐级传递的方式,译出后几级流水所需的控制信号和数据(如立即数等),在每次时钟上升沿到来时送入下一级。 输入端:w_WBData 写回的数据 w_destReg 目标寄存器标志 w_wRegEn 寄存器写使能端 输出端:e_RAOut,e_RBOut 寄存器A,B输出 e_IMM 立即数输出 e_ALUSrc 运算器选源 e_ALUOpr 运算器操作 e_SetFlag 状态寄存器写使能 e_wRegEn 寄存器写使能 e_MemToReg 内存写入寄存器使能 e_wrMem 为00时,写,为 01时读,为 1-时,什么也不做 执行部分(EX) 模块功能:完成算术逻辑运算、计算有效地址和提供数据通道 输入端: forwardA,forwardB 傍路选择 e_ALUOut ALU的输出 w_WBdata 写回的数据 输出端: m_flag 内存标志 m_wRegEn 内存写回寄存器使能端 访存部分(MA) 模块功能:选择地址线的数据来源和数据线的流向。 输入端: PC PC输入 输出端: wr 内存读写控制 1:读 , 0:写 addr 输出到内存地址线 回写部分(WB) 功能:选择回写数据源和根据写使能信号将数据回写到通用寄存器组。 冲突检测部分(HD) 模块功能:检测结构相关 前向部分(FU) 模块功能:检测数据相关 三、指令系统 ADDI DR,IMM(立即数和寄存器相加), SUB DR,IMM(寄存器和立即数相减), STORE2 DR,OFFSET,SR (SR([DR+OFFSET]) , LOAD2 DR,SR,OFFSET ([SR+OFFSET](DR) 汇编语句 操作码 功能描述 指令类型 ADD DR,SRDR+SR(DR 算术逻辑指令 SUB DR,SRDR-SR(DR DEC DRDR-1(DR INC DRDR+1(DR CMP DR,SRDR-SR 比较 AND DR,SRDR and SR(DR 逻辑与 OR DR,SRDR or SR(DR 逻辑或 XOR DR,SRDR xor SR ( DR 异或 TEST DR,SRDR and SR, 测试 SHL DR逻辑左移,最低位补0,最高位移入C SHR DR 逻辑右移,最高位补0,最低位移入C SAR DR算术右移,最高位右移,同时再用自身的值填入 MOV DR,SRSR ( DR 数据传送指令 LOAD DR,SR[SR]( DR STORE DR,SR SR ( [DR]
显示全部
相似文档