计算机设计与实践第7讲_第1页
计算机设计与实践第7讲_第2页
计算机设计与实践第7讲_第3页
计算机设计与实践第7讲_第4页
计算机设计与实践第7讲_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机设计与实践第七讲第七讲第三步: 处理器结构设计2cpu 设计方法cpu设计的基本思想有组合逻辑设计和微程序设计两种:1.组合逻辑设计根据微操作的节拍安排,列出微操作命令的操作时间表,然后写出每一个微操作命令的逻辑表达式,最后根据逻辑表达式画出相应的组合逻辑电路图;2.微程序设计思想是将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令,然后把这些微程序存到一个控制存储器中,用寻找用户程序机器指令的办法来寻找每个微程序中的微指令。微程序设计方法虽然简便,但需要占用较大的空间存放微程序。cpu 设计方法在risc计算机中一般都采用组合逻辑设计方法

2、,这有利于进行流水线的设计,也能大大节省cpu的门数,对于降低cpu的功耗也有好处;这里介绍的设计方法是组合逻辑设计的一种,但设计中不直接使用逻辑表达式,而是根据信息流的思想进行了模块的划分,给出cpu的基本结构框图。4基本的系统组成根据机器周期的定义,系统划分为四个主要模块:取指管理模块掌管取指周期运算管理模块掌管运算周期存储管理模块掌管访存周期回写管理模块掌管回写周期在一个指令周期中,取指、运算、访存、回写四个机器周期依次执行,由时钟管理模块统一进行调度基本的系统组成取指管理模块包含寄存器pc和ir,同时ir的内容将由该模块向其他模块提供运算管理模块包含运算器,也就包含了通用寄存器,同时也

3、包含了暂存器a、b、addr、aluout存储管理模块包含暂存器rtemp回写模块包含暂存器rdata、raddr、pcnew,前两个用于寄存器回写,第三个用于pc的更新时钟管理时钟管理取指取指管理管理运算运算管理管理运算器运算器存储存储管理管理回写回写管理管理主存储器主存储器clkclk控制器控制器举例通过lda指令的执行过程展示一下各模块的功能:1.在第一个机器周期中,取指管理模块根据pc的内容对主存进行访问,向主存发送16位的地址pc,读回数据总线上的16位数据信息存放到ir寄存器中,同时使pc前进,为下一次取指做准备2.在第二个机器周期中,运算管理模块根据操作码的意义进行访存地址的准备

4、,从r7寄存器和ir的第二地址码两个部分组合形成实际地址addr3.在第三个机器周期中,存储管理模块根据操作码的意义进行访存,向主存发送16位的地址addr,读回数据总线上的8位数据信息存放到rtemp暂存器中4.在第四个机器周期中,回写管理模块根据操作码的意义回写寄存器,将暂存器rtemp的内容写入指定的ri寄存器中7细化的处理器结构 在取指周期,存储器的访问是只读的,存储器的地址来自pc,数据去往ir; 在访存周期,存储器的访问可能是读也可能是写; 存储器只有一组,而取指周期和访存周期都可能对其进行访问,而且数据、地址的来源和去向均不同。为避免访问冲突、保证空闲时总线不被占用,应该对存储器

5、的访问加以管理。细化的处理器结构存储器访问设计在主存储器与各管理模块之间增加一个访存控制模块它接收来自取指管理模块的pc地址,访存后将ir内容返回给取指管理模块它接收来自运算管理模块的aluout,为访存周期的控制作准备它在数据访问读周期向存储管理模块传送数据总线的16位信息增加了回写管理模块与取指、运算两模块之间的通路,用以支持pc和通用寄存器的更新输出输出输出输出输入输入数据数据pcpcaddraddropopaluoutaluout取指模块取指模块存储管理存储管理主主存存储储器器地址总线地址总线数据总线数据总线访存控制访存控制地址地址细化的处理器结构寄存器的回写pc寄存器的更新由pcup

6、date信号控制,内容来自回写管理模块中的暂存器pcnew在回写周期里,在回写周期里,pcupdate信号将根据指令信号将根据指令操作码操作码op产生,当该信号发出时,取指管产生,当该信号发出时,取指管理模块将把暂存器理模块将把暂存器pcnew的内容写入的内容写入pc寄寄存器中,当下一条指令的取指周期到来时,存器中,当下一条指令的取指周期到来时,pc就把更新后的内容传递到地址总线上,读就把更新后的内容传递到地址总线上,读取全新的指令取全新的指令通用寄存器的更新由rupdate信号控制,寄存器的地址来自回写管理模块中的暂存器raddr,将写入寄存器的内容来自回写管理模块中的暂存器rdata。在回

7、写周期里,rupdate信号将根据指令操作码op产生,当该信号发出时,运算管理模块将把暂存器rdata的内容写入raddr所对应的寄存器中regreg回写控制回写控制取取指指管管理理运运算算管管理理回回写写管管理理模模块块pcupdatepcupdatepcnewpcnewrupdaterupdateraddrraddrrdatardatapcpc修改控制修改控制细化的处理器结构 时钟管理时钟管理取指取指管理管理运算运算管理管理运算器运算器存储存储管理管理回写回写管理管理主存储器主存储器clkclkreg访存控制访存控制pc数据总线数据总线地址总线地址总线控制器控制器11第四步:各功能模块结构

8、设计框图及功能描述自行设计在设计方案中体现第五步:各模块输入输出接口信号定义(以表格形式给出)自行设计在设计方案中体现第六步:用vhdl语言实现处理器的设计下面是一些温馨提示时钟模块参见实验4,四拍循环每一拍的输出控制哪些模块?取指管理模块ir送到哪儿?pc自加何时完成?运算管理模块通用寄存器组如何实现?二维数组根据操作码译码后,哪些指令需要通过运算器运算?操作数的准备地址的准备存储管理模块是否需要译码?访存地址怎么给?存数操作中,数据从哪来?取数操作中,取来的数据放到哪?回写模块仍然需要译码包括回写寄存器和回写pc回写要注意同时给出回写的地址和数据回写在什么时间完成访存控制模块地址线控制通过

9、取指还是取数区分地址的来源数据线控制三态门控制,只在写存储器时将aluout的数据给数据总线,其余时刻均设高阻cpu的所有访问端口都通过访存控制模块输出设计中需要思考的问题一个输出能否直接连接到多个输入上?多个输入能否直接连接到一个输出上?8位寄存器和16位数据线的问题按字寻址还是按字节寻址要和主存控制结合每一个模块的波形仿真,要按照节拍给出正确输入每一条指令在每个节拍、每个模块中所要完成的操作以上设计仅供参考!祝大家创新性的设计成功自己的cpu!fpga设计流程 23设计流程第一步:按照“自顶向下”的设计方法进行系统划分第二步:输入vhdl代码,这是高层次设计中最为普遍的输入方式第三步:利用

10、综合器对vhdl源代码进行综合优化处理,生成门级描述的网表文件,这是将高层次描述转化为硬件电路的关键步骤第四步:利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线第五步:将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片fpga或cpld中设计流程设计输入阶段第一步:按照“自顶向下”的设计方法进行系统划分第二步:输入vhdl代码,这是高层次设计中最为普遍的输入方式第三步:利用综合器对vhdl源代码进行综合优化处理,生成门级描述的网表文件,这是将高层次描述转化为硬件电路的关键步骤适用的综合工具有xst,synplify,l

11、eonardo spectrum,fpga compiler ii设计流程xilinx 综合技术 xst综合流程是逻辑设计的一个重要环节,综合结果的好坏直接影响着布局布线的最终效果。好的综合工具能够使设计占用芯片的物理面积最小、效率高、工作稳定、工作速度快。因此,综合工具通常与逻辑器件的物理结构有着密切的关系不同的综合工具内部算法不同,对源程序与模块的分析和推论及最终产生的综合效果可能存在差异xst综合工具是xilinx自己设计的综合工具,与自己的逻辑器件能够非常好地融合设计流程xilinx的fpga实现阶段第四步:利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器

12、件配置、逻辑分割、逻辑优化和布局布线转换:将多个设计文件合并为一个网表转换:将多个设计文件合并为一个网表映射:将网表中的逻辑符号(门)整合到物理元件映射:将网表中的逻辑符号(门)整合到物理元件(clb和和iob)中)中布局布线:将元件放到器件中,并将它们连接起来,同布局布线:将元件放到器件中,并将它们连接起来,同时提取出时序数据,并生成各种报告时提取出时序数据,并生成各种报告设计流程xilinx的fpga实现阶段转换(translate)在转换过程中,多个设计文件和约束文件合并后,生成ngd(原始类型数据库)输出文件和bld文件,其中ngd文件包含了当前设计的全部逻辑描述,bld文件是转换的运

13、行和结果报告映射(map)在映射过程中,由转换流程生成的ngd文件被映射为目标器件的特定物理逻辑单元,并保存在ncd(展开的物理设计数据库)文件中布局和布线(place & route)通过读取当前设计的ncd文件,布局布线将映射后生成的物理逻辑单元在目标系统中放置和连线,并提取相应的时间参数设计流程设计完成及下载设计实现并完成后,必须建立一个fpga可以识别的文件bit文件(generate programming file),可以被直接下载到fpga中第五步:将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片fpga或cpld中常见错误error:xst:415 - synthesis failedwarning:xst:528 - multi-source in unit on signal error:maplib:93 - illegal loc on ipad symbol rst or bufgp symbol rst_bufgp (output signal

温馨提示

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

评论

0/150

提交评论