计算机设计与实践
移动计算研究中心
向琳
第九讲
本讲内容
微处理器设计实例
实验目的
根据计算机组成原理课程所学的知识和本课程所讲的设计思想,设计一个给定指令系统的处理器,包括
VHDL语言的实现
FPGA芯片的编程实现
对处理器的结构和计算机系统的整体工作过
程有深刻的了解
为以后应用和设计处理器系统打下基础
实验要求
给出处理器的设计方案
用VHDL语言实现处理器的设计
将设计下载到FPGA实验板的FPGA0芯片中进行实际测试,要求观察显示输出
FPGA
上完成实验
处理器
晶体振荡器
处理器的设计方案
给出处理器的设计方案,要求包括: 指令格式设计
微操作的定义
节拍的划分
处理器结构设计框图及功能描述
各功能模块结构设计框图及功能描述
各模块输入输出接口信号定义(以表格形式给出) 进度安排
VHDL语言实现处理器设计
在设计方案通过后,方可进入实际设计环节,要求采用结构化设计方法,用VHDL语言实现处理器的设计。设计包括:
各模块的详细设计(包括各模块功能详述,设计方
法,VHDL语言实现等)
各模块的功能测试(每个模块作为一个部分,包括
测试方案、测试过程和测试波形等)
系统的详细设计(包括系统功能详述,设计方法,
VHDL语言实现等)
系统的功能测试(包括系统整体功能的测试方案、
测试过程和测试波形等)
处理器功能及指令系统定义
该处理器在给定的指令集下构建,支持十条指令
假定主存可以在一个时钟周期内完成一次存取操作,而且可以和CPU 同步工作
系统使用一个主存单元:指令读取和数据访问都使用同一组存储器
处理器功能及指令系统定义
处理器的指令字长为16位,包含
8个8位通用寄存器R0~R7
1个16位的指令寄存器IR
1个16位的程序计数器PC
取指令时,可以直接从主存中提取16位的指令信息,而进行数据访问时,与主存进行8位的数据交换。处理器的地址总线宽度是16位,数据总线宽度也是16位,无论是取指还是数据访问,都使用同一组数据总线,只是数据信息的宽度不同
处理器功能及指令系统定义
加法指令ADD Ri, Rj
减法指令SUB Ri, Rj
寄存器传送指令MOV Ri, Rj
立即数传送指令MVI Ri, X
存数指令STA Ri, X
取数指令LDA Ri, X
条件转移(零则转)指令JZ Ri, X
无条件转移指令JMP X
输入指令IN Ri, PORT
输出指令OUT Ri, PORT
处理器接口信号定义
第一步:指令格式设计
MVI Ri, X Ri←X
指令格式设计
指令是由操作码和地址码两部分组成的,由于固定操作
操作码
操作码占据了5位,最多可支持32种指令的设计。目前的指
每条指令的格式描述
指令格式举例
4701
0100011100000001:MVI R7,01H 4111
0100000100010001:MVI R1,11H 6100
0110000100000000:STA R1,00
第二步:微操作及节拍设计
CPU内四个重要寄存器
MAR与地址总线相连,存放欲访问的存储
单元地址
MDR与数据总线相连,存放欲写入存储器
的信息或最近从存储器中读出的信息
PC存放现行指令的地址,具有自动加1的功能
IR存放现行指令
取指阶段微操作
PC→MAR;1→R; M(MAR)→MDR; MDR→IR;
PC+1→PC;