计组实验报告--部分
- 格式:docx
- 大小:262.10 KB
- 文档页数:7
2、设计报告
2、1实验方法
本实验要完成的工作主要包括:
1、指令系统的设计
2、利用VHDL语言完成实验CPU的设计,包括通用寄存器的设计、取值部分设计、指令译
码设计、执行设计、存储器设计、程序包设计和顶层设计设计
3、在Quatus II 平台上进行仿真,并下载到TEC-CA教学实验箱上进行调试。
这三大部分为并行关系,只有在完成上一部分的基础上才能继续进行下一步,而第二大部分可以同时并行进行。
实验的主要流程图为图2.1所示。
图2.1
在指令系统和CPU逻辑设计时,主要的方法是先根据老师给的指令要求,确定CPU所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU的逻辑结构图。
2、2总体说明
2.2.1 CPU组成部件
实验CPU由5部分组成:取指部分instru_fetch、指令译码部分decoder_unit、执行部分exe_unit、存储器部分memory_unit和通用寄存器组fegile.另外,还有一个程序包exe_cpu_components,将各底层设计实体作为元件存储,供各设计实体使用。顶层设计实体exe_cpu完成5个组成部分的链接。
GR(8位,4个寄存器),ALU(8位),时序节拍发生器timer,AR(8位),IR(8位),PC(8位)、PC(8位),RAM(8位),组合期间T1,T2,T3。逻辑控制器件controller,地址总线(8位),数据总线(8位)。
2、2、2整机原理实验图
图2.2.1
图2.2.2
2、2、3指令系统
1)下表2.2.3为指令格式说明
表2.2.3
指令的功能应该包括简单的算术和逻辑运算,移位操作,数据传送,跳转,读写内存,另外还可能包括一些其他功能如置条件码等。
为了指令的规整性和便于译码,我们主要采用了定长的操作码组织方案,操作码为4位。寻址方式包括了寄存器寻址、立即数寻址、直接地址和相对寻址。
2)指令节拍分组说明
由于没有中断操作,本机指令的执行步骤可概括如下:
读取指令:地址寄存器<-指令地址,修改PC内容使其指向下一条将要执行的指令;
读内存,指令寄存器<-读出的内容。
分析指令
执行指令:通用寄存器之间的运算或传送,可1步完成;
读写内存,通常要两步完成。
根据指令的执行步骤不同,可以把全部指令分为A、B两组。其中A组指令完成的是通用寄存器之间的数据运算或传送,或其他一些特殊操作,在取指之后可一步完成括:ADD,SUB,ADC,SBB,INC,DEC,CLC,STC,MVRR,LDRR,STRR;B组指令完成的是一次内存读写操作,在取指之后可两步完成,包括:MVRD,JMP,JRZ,JRC,JRS。
流程如图2.2.4所示
图2.2.4
图2.2.5
说明:本CPU含有4个通用寄存器,用R0,R1,R2,R3表示,源寄存器用SR表示,目的寄存器用DR表示。输出设置了4个标志位:C——进位标志位,Z——是否为0标志位,V ——溢出标志位,S——是否为负标志位,保存在标志寄存器内。
4)指令格式说明
1、ADD SR,DR
功能:DR←DR+SR,将DR,SR寄存器中存的数据相加送到DR寄存器中,影响C和
Z标志。
2、SUB SR,DR
功能:DR←DR-SR,将DR寄存器中的数据作为被减数减去SR寄存器中的数据,将
两数之差送至DR寄存器中,影响C和Z标志。
3、ADC DR,SR
功能:DR←DR+SR+C,将DR,SR寄存器中的数据和进位数据相加得到的值送到DR 寄存器中。
4、SBB DR,SR
功能:DR←DR-SR-C,将DR中的数据减去SR中的数据减去进位值,将差送到DR 寄存器中。
5、INC DR
功能:DR←DR+1,将DR寄存器中的数据+1送入DR寄存器,影响C和Z标志
6、DEC DR
功能:DR←DR-1,将DR寄存器中的数据-1送入DR寄存器,影响C和Z标志
7、CLC
功能:C←0,将进位标志位C置为0
8、STC
功能:C←1,将进位标志位C置为1
9、MVRR DR,SR
功能:DR←SR,将SR中的数据送入DR寄存器,不影响标志位
10、MVRD DR,DATA
功能:DR←DATA,将立即数送入DR寄存器中。
11、LDRR DR,[SR]
功能:DR←[SR],SR寄存器中存放着数据的地址,将该地址中存储的数据送往DR
寄存器。
12、STRR [DR],SR
功能:[DR]←SR将SR中所存放的数据送往DR寄存器中的地址中。
13、JMP ADR
功能:PC←ADR,将立即数作为PC的值
14、JRZ ADR
功能:PC←PC+ADR Z=1
15、JRC ADR
功能:PC←PC+ADR C=1
16、JRS ADR
功能:PC←PC+ADR S=1