- 11
- 0
- 约4.34千字
- 约 47页
- 2017-04-22 发布于北京
- 举报
实验1简化的RISCCPU设计
实践项目内容;实践项目成果;项目第一部分简化的RISC_CPU设计;1、概 述 ; 设计所用开发环境
ISE8.2
ModelSim6.1
设计和实现的目标
完成8条指令的RISC CPU设计
完成对所设计RISC CPU的验证
实现RISC CPU在FPGA开发板上的正确运行;2、 什么是RISC CPU ;2、 什么是RISC CPU ;3、 RISC CPU功能分析 ; RISC CPU的作用
协调并控制计算机的各个部件
执行程序的指令序列
RISC CPU的基本功能
取指令
分析指令
执行指令; 取指令
当程序已经在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。
分析指令
即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。; 执行指令
根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算???果的处理以及下条指令地址的形成。; 取指令
当程序已经在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。
指令寄存器
分析指令
即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。
译码器; 执行指令
根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。
算术逻辑运算单元(ALU)
累加器
程序计数器(PC); RISC CPU整体功能
取指令
分析指令
执行指令
状态控制器
地址控制器
数据控制器
时钟控制器; RISC CPU需要执行的操作
系统的复位和启动操作
总线读操作
总线写操作; 系统的复位和启动操作
RISC_CPU的复位和启动操作是通过rst引脚的信号触发执行的;
当rst信号一进入高电平,RISC_CPU就会结束现行操作,并且只要rst停留在高电平状态,CPU就维持在复位状态;
在复位状态,CPU各内部寄存器都被设为初值,全部为零。数据总线为高阻态,地址总线为0000H,所有控制信号均为无效状态;
rst回到低电平后,接着到来的第一个时钟上升沿将启动RISC_CPU开始工作,从ROM的000处开始读取指令并执行相应操作。;总线读操作
每个指令周期的前0~3个时钟周期用于读指令;
第3.5个周期处,存储器或端口地址就输出到地址总线上;
第4~6个时钟周期,读信号rd有效,数据送到数据总线上,以备累加器锁存,或参与算术、逻辑运算;
第7个时钟周期,读信号无效,第7.5个时钟周期,地址总线输出PC地址,为下一指令做好准备。;总线写操作:
每个指令周期的第3.5个时钟周期处,写的地址就建立了;
第4个时钟周期输出数据;
第5个时钟周期输出写信号,至第6个时钟结束,数据无效;
第7.5个时钟周期,地址输出为PC地址,为下一指令做好准备。;指令系统由8条指令组成:
HLT:停机操作。该操作将空一个指令周期,即8个时钟周期;
SKZ:若为零跳过下一条语句。该操作先判断当前累加器中的结果是否为零,若为零就跳过下一条语句,否则继续执行;
ADD:该操作将累加器中的值与地址所指的存储器或端口的数据相加,结果仍送回累加器中;
ANDD:该操作将累加器的值与地址所指的存储器或端口的数据相与,结果仍送回累加器中;; 指令系统由8条指令组成:
XORR:该操作将累加器的值与指令中给出地址的数据异或,结果仍送回累加器中;
LDA:该操作将指令中给出地址的数据放入累加器;
STO:该操作将累加器的数据放入指令中给出的地址;
JMP:该操作将跳转至指令给出的目的地址,继续执行。; RISC_CPU是8位微处理器,一律采用直接寻址方式,即数据总是放在存储器中,寻址单元的地址由指令直接给出。;顶层模块;数据通道;状态控制器;7、RISC_CPU的实现;数据通道;模块1; 时钟发生器clkgen利用外来时钟信号clk生成一系列时钟信号clk1、fetch、alu_clk,并送往CPU的其他部件。
其中,fetch是外来时钟clk的8分频信号,利用fetch的上升沿来触发CPU控制器开始执行一条指令,同时fetch信号还将控制地址多路器输出指令地址和数据地址;
clk1信号用作指令寄存器、累加器、状态控制器的时钟信号;
alu_clk则用于触发算术逻辑运算单元。;模块2; 指令寄存器的触发时钟是clk1,在clk1的正沿触发下,寄存器将数据总线送来的指令存入高8位或低8位寄存器中,但并不是每个cl
原创力文档

文档评论(0)