单周期CPU及其Verilog_HDL实现.ppt

单周期CPU及其Verilog_HDL实现.ppt

ID:48769829

大小:1.38 MB

页数:92页

时间:2020-01-23

单周期CPU及其Verilog_HDL实现.ppt_第1页
单周期CPU及其Verilog_HDL实现.ppt_第2页
单周期CPU及其Verilog_HDL实现.ppt_第3页
单周期CPU及其Verilog_HDL实现.ppt_第4页
单周期CPU及其Verilog_HDL实现.ppt_第5页
资源描述:

《单周期CPU及其Verilog_HDL实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章单周期CPU及其VerilogHDL实现学习指南执行一条指令所需的硬件电路与取指令有关有电路寄存器计算类型指令执行所需的电路立即数计算类型指令执行所需的电路访问存储器类型指令执行所需的电路条件转移类型指令执行所需的电路跳转和子程序调用及返回类型指令执行所需的电路寄存器堆设计寄存器堆的硬件电路设计结构描述风格的寄存器堆VerilogHDL代码功能描述风格的寄存器堆VerilogHDL代码数据路径设计多路选择器的使用单周期CPU的总体电路单周期CPU的VerilogHDL代码控制部件设计控制部件的逻辑设计控制部件的Ve

2、rilogHDL代码存储器及测试程序设计数据存储器设计指令存储器及测试程序设计单周期CPU测试结果及说明处理器的工作过程简介CPU的执行过程:首先将程序和数据输入计算机的存储器中,然后从主存中“程序入口(程序执行的第一条指令的地址)”开始依次取出指令和数据,并根据指令的要求对数据进行加工处理,得到需要的结果后,结束运行。因此,控制器控制程序的执行过程实际上是控制指令的执行过程。由于程序(指令序列)预先存放在存储器中,所以指令执行的过程分为取指令和执行指令,如下图。①②③④⑤⑥⑦⑧⑨⑩假设程序和数据已经存放在主存中,执行指

3、令执行步骤如下(要求记下来):根据程序计数器PC的内容从主存中取出一条指令,放置于指令寄存器IR中。分析IR中的操作码,决定应执行的操作。根据IR的地址码取出参加运算的操作数。对操作数进行运算。根据IR的地址码把运算结果存放指定地址。本条指令执行完毕,修改PC内容决定下一条指令所在的地址。目前的计算机都属于“同步”计算机。同步计算机是指在计算机系统中有一个时钟(Clock),计算机所有的动作都以这个时钟为基准。如下图的单周期波形。指令1指令2指令3指令4一个时钟周期上升沿下降沿单周期CPU是指一条指令的执行在一个时钟周期

4、内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期。5.1执行一条指令所需的硬件电路计算机的程序一般存在硬盘等辅存中。当计算机执行一个程序时,首先由操作系统把要执行的程序从硬盘调入内存,然后CPU从内存读出指令开始执行。注意:前提是操作系统已经调入内存并运行。设计CPU硬件电路的目的是使其能够从存储器中读取一条指令并执行指令所描述的操作,且这个过程是循环的,自动的。注意从存储器中读取指令的动作与指令本身的操作无关,所以可以对所有的指令以同样的方法从内存中取出。执行指令则与指令本身的意义密切相关。因此最重要的是首先

5、要搞清楚CPU要执行的每一条指令的意义(功能)。以第5章列出的20条整数指令为例来对每一条指令的执行进行说明。指令格式—寄存器、立即数、跳转等格式。指令意义—计算、访存、条件转移、无条件转移等类型。5.1.1与取指令有关的电路CPU要执行指令,必须先把它从存储器中读出来,然后才能知道指令究竟要干什么。而一般程序是连续执行的,且存放在内存中也是连续存放的,所以读取并执行本条指令后,最有可能执行的是在本条件指令后的下一条指令,即地址+“1”条指令的长度。注意:这里的“1”是指一条指令所占用的存储空间。为了指出下一条指令的位置

6、(地址),最简单的办法是设置一个计数器用来指定指令的位置。该计数器称为程序计数器PC(ProgramCounter)。CPU取指令时是把PC的内容作为存储器地址,根据它来访问存储器,从指定的存储器单元中取出一条指令。如果取出的指令执行时没有引起转移,则PC的值要+“1”。如果转移,则要将目标地址写入PC,以便在下一个时钟周期取出下一条指令。下图是与取指令有关的电路。xxxxxxx0:xxxxxxx1:xxxxxxx2:xxxxxxx3:xxxxxxx4:xxxxxxx5:xxxxxxx6:xxxxxxx7:字节地址PC+

7、4指令n指令n+1PC地址PC+adoInstMem地址40123Clock指令PC+4多路选择器取指令及PC+“1”指令存储器InstMem说明:PC--32位寄存器,由32个D触发器构成。a--是地址输入端。do--数据输出端,即指令。加法器--完成PC+4运算。多路选择器--用于选择地址之一。为什么要PC+4?因为这里假定指令的长度是固定的,即32位(4个字节),所以每取一条指令后,PC都要加4才能取互下一条指令。不考虑转移时取指令的流程取指令startInstMem<--PCReadPC<--PC+4Dataou

8、t……5.1.2寄存器计算类型指令执行时所需的电路指令从存储器取出来后,要进行分析,分析该指令的操作什么?操作数如何获取?等等。根据设定的指令,可以画出分析指令类型的流程图如下。分析指令类型的流程取指令(已讲)分析指令类型寄存器算术逻辑寄存器移位立即数置高位、加法立即数逻辑运算条件转移无条件转移下面分类来说明每类指令

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。