cpu设计实验报告_第1页
cpu设计实验报告_第2页
cpu设计实验报告_第3页
cpu设计实验报告_第4页
cpu设计实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 15 cpu 设计实验报告 数字逻辑与处理器基础实验 32位 MIPS CPU 设计 综述: 我们的最后验收结果时钟频率是。 本实验报告主要分为实验设计说明与实验收获总结两个部分。 附件中有 CPU 工程文档与模块代码。 第一部分 实验设计 一、 ALU 设计 1、设计思路 实现基本的算术、逻辑、关系、位与移位运算,尽量优化以达到最小的面积延时积。 结构图如下: 主要设计思想: A. 加法运算实现可以采用逐次进位、超前进位等结构,减法可以通过加法实现;同时输出 Z、 V、 N 等标志位,注意有符号数和无符号数标志产生的不同。 B. 比较运算根据减法运算的结果产生,自行分析比较操作与算术运算之间的关系。 C. 移位运算可以考虑将移位操作拆分为 16 位移位、 8 位移位、 4 位移位、 2 位移位、 1 位移位等几个子运算的组合,然后级联形成最后的运算结果。 D. 逻辑运算可2 / 15 以根据要求直接产生。 功能表 接口说明 2、主要模块 a) 32bit 加法器 采用 8 个 4bit 超前进位加法器极连的方式,构成32bit 加法器。对于逸出位 v 的处理如下:由有符号数的性质可知,对最高位 32和次高位 31 位取抑或,输出信号则为是否逸出。对 32 位运算结果取反后,再对相邻两位反复取与,最终得到结果是否为零的输出 z.如果是有符号数,则符号位 =n。 由于这一方法部分程度上减弱了高位计算对低位计算的依赖程度,因此可以实现延时的降低。同时,由于其超前进位网络的大量逻辑运算,较大程度上提升了电路的面积,造成最终的面积延时积特性恶化。 关键 代码见附录 1 b) 32bit 减法器 对加法器按位取反,再加一。 关键代码见附录 1 c) 32bit 右移 32bit 左移 32bit 算术右移 将移位操作拆分为 16 位移位、 8 位移位、 4 位移位、2 位移位、 1 位移位等几个子运算的组合,然后级联得到最后的运算结果。 关键代码见附录 1 3 / 15 d) 32bit 逻辑比较单元 采用行为级语句直实现逻辑比较功能。 关键代码见附录 1 e) ALU顶层控制模块 用多路选择 器实现对输出结果的控制,采用行为级语句实现设计。 附加说明:对于无符号运算的结果,由于 z, v, n已经将符号的作用考虑进去,因此,对于需要实现的六个指令,仅有 A B 需要特殊处理,而其他指令对于无符号数和有符号数的结果一致。因此,针对 A B 指令,添加针对无符号数的专用比较电路,并使用与超前进位加法器类似的方式进行并行加速操作。 关键代码见附录 1 二、单周期 MIPS处理器设计 流程框图: 一、实验内容 设计一个八位定点二进制计算机,具有 4 个通用寄存器: R0R3,能执行 11 条指令,主存容量为 256B 的 cpu模型机。 二、实验过程 1.指令集设计 LDR Ri, D 格式 4 / 15 功能: STR Ri, D 格式 功能: ADD Ri, Rj 格式 功能: SUB Ri, Rj 格式 功能: AND Ri, Rj 格式 功能: OR Ri, Rj 格式 功能: 7 432 10 Ri M 7 432 10 M 7 4 32 10 Ri 7 4 32 10 Ri 7 . . . 3 2 1 0 Ri 7. . . 3 2 1 0 Ri 5 / 15 MUL Ri, Rj 格式 7 432 10 功能: Ri 转移指令 格式 7 432 10 功能: 条件码 00 无条件转移 PC D 01 有进位转移 PC D 10 结果为 0 转移 PC D 11 IN Ri, M j 格式 7 432 10 其中 M j为设备地址,可以指定四种外围设备,当 M j=01时,选中实验箱的二进制代码开关。功能: Ri OUT Ri, M j 格式 7 432 10 当 M j=10 时,选中实验箱的显示灯。功能 : Ri HALT 6 / 15 格式 7 432 10 功能: 用于实现停机。结果为负转移 PC D 其中, Ri,Rj,均用 00表示 R1, 01表示 R2, 10表示 R3, 11 表示 R4。 2.状态图 00000 3.各模块设计 数据通路和控制器模块 exp_cpu_vhd: clr 为清零端, t1t4 为时钟脉冲, cout 是运算所得结果的进位, zero 判断所得结果是否为 0,为 0 的话 zero 为 1, min 判断所得结果是否为负,为负的话 min 为 1, aludata7.0是运算所得的结果, sw_in7.0是输入端; mpcout4.0是下址, dr1、 dr2 是寄存器的值, arout7.0地址寄存器的值, bus_data7.0是总线上的数据。语言如下: library ieee; use _logic_; use _logic_; use _logic_; entity exp_cpu_vhd is port; mpcout:out std_logic_vector; dr1,dr2,arout,bus_data:out std_logic_vector); 7 / 15 end exp_cpu_vhd; architecture rtl of exp_cpu_vhd is type ram is array of std_logic_vector; signal -24*8 ram ram8:ram:=; -initialize ram signal pc,ar,r1,r2,r3,r4,bus_reg,bus_reg_t2,bus_reg_t3:std_logic_vector; signal ri,mi:std_logic_vector; signal mpc,mpc_t2,mpc_t3,mpc_t4:std_logic_vector; signal ir:std_logic_vector; begin mpcout arout bus_data ct1:process begin if clr=0 then mpc end process; ct2:process begin if t2=1 and t2event then case mpc is when 00000 = mpc_t2mpc_t2 mpc_t2- lda mpc_t2 mpc_t2 mpc_t2 - sta mpc_t2 mpc_t2mpc_t2- out mpc_t2 when 11000 = - inmpc_t2 计算机组成原理专题实验报告 CPU设计 目录 8 / 15 1 实验方法 . 4 2 总 体 说明 . 5 指令系统: . 5 指令格式分类: . 5 具 体 指 令 汇 总表: . 6 相 关 指 令 流 程图: . 7 指 令 数 据 通 路 的 构建: . 8 指令的分组及节9 / 15 拍: .11 指令执行状态图: . 12 具 体 微 指令: . 12 系 统 整 体 介绍 . 15 系 统 基 本 模 块 划分 . 15 总体结构图: . 16 3 CPU 的 控 制 逻 辑 与 具 体 数 据 通 道 设计 .17 取 指 令 逻 辑 的 设计 .10 / 15 . 18 指 令 地 址 的 保存 . 18 指令存储器 . 19 下一条指令地址的计算 . 19 指令译码逻辑的设计 . 20 指令执 行 逻 辑 的 设计 . 21 存储器 访 问 逻 辑 的 设计 . 22 结果写回逻辑的设计 . 23 单周11 / 15 期 CPU 的总成 . 24 4 各部分说明 .25 ALU . 25 数 据 选 择 器BUS_MUX . 27 器件T1 . 29 标 志 寄 存 器FLAG_REG . 30 T2: . 32 程 序 计 数 器12 / 15 PC . 32 地 址 寄 存 器 AR 和 指 令 寄 存 器IR: . 33 寄存器、寄存器组和寄存器的选择 . 35 一位控制信号/WR . 36 节拍发生器 . 36 控 制 逻辑 . 38 T3. 41 REG_OUT .13 / 15 . 42 存储器 . 43 总 线 选 择器 . 44 REG_TEST . 45 5 附录: .46 附录 A : 组 员 分工: . 46 附录 B : 组 员 设 计 总结: . 46 1 实验方法 14 / 15 实验要完成的工作主要包括:指令系统的设计,FPGA-CPU的整体结构设计及其细化,逻辑设计的具体实现,软件模拟,以及硬件调试。这几部 分的工作之间是先行后续的关系,也就是只有前一个步骤完成了下一个步骤才可以开始进行,不存在并行完成的情况。实验主要流程如下图所示: 其中指令系统和逻辑结构的设计主要参考了相关文献。 主要的方法是先确定 CPU 所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个 CPU 的逻辑结构图。 在各个功能模块的实现中主要使用了自底向上的设计方法。先实现寄存器,再实现寄存器 组,等等,最后将各个器件和模块之间互连,得到顶层设计图。 2 总体说明 指令系统: 计算机的指令是用户使用计算机与计算机本身运行的最小功能单位。一台计算机支持的全部指令就构成该机的指令系统。从计算机本身的组成看,指令系统直接与计算机系统的性能和硬件结构的复杂程度等密切相关,它是 CPU 设计的起始点和基本依据。 设计指令系统的核心问题是选定指令的格式和功15 / 15 能。具体到我们的设计来说,指令的功能应该包括简单的算术和逻辑运算,移位操作,数据传送,跳转,读写内存,另外还可能包括一些其他功 能如置条件码等。 为了指令的规整性和便于译码,我们主要采用了定长的操作码组织方案,操作码为 8 位。寻址方式包括了寄存器寻址、立即数寻址、直接地址和相对寻址。 指令格式分类:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论