8位模型机设计指令系统及通用寄存器设计Word文档格式.docx
《8位模型机设计指令系统及通用寄存器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《8位模型机设计指令系统及通用寄存器设计Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
单总线,数据总线位数8位、地址总线8位;
●存储器:
内存容量64K*8bit
●控制器:
用硬联线控制器实现26位微操作控制信号
●运算器:
单累加器,实现加、减等8种操作
外设:
●输入:
用开关输入二进制量
●输出:
7段数码管和LED显示
指令系统规模:
64条指令,7种类型,5种寻址方式
本组任务是:
1.设计12、15、22、32号指令;
2.模型机的通用寄存器R1设计;
3.BCD编码器的设计。
三、设计报告的内容
1.设计题目与设计任务(设计任务书)
设计内容如下:
1、指令系统设计:
ADDCA,#II将立即数II加入累加器A中带进位
SUBA,EM从A中减去存储器EM地址的值
ANDA,@R?
累加器A“与”间址存储器的值
MOVA,#II将立即数II送到累加器A中
2、模型机硬件设计:
通用寄存器R1
3、逻辑电路设计:
BCD码编码器
2.前言(绪论)(设计的目的、意义等)
1.融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;
2.学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;
3.培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。
3.设计主体(各部分设计内容、分析、结论等)
【系统设计】
1、模型机逻辑框图
图1模拟机整体逻辑框图
图2XCV200芯片引脚
图3CPU逻辑框图
2、指令系统设计
:
ADDCA,#II将立即数II加入累加器A中带进位
助记符:
ADDCA,#II
类型:
算数运算指令
寻址方式:
立即数寻址
指令格式:
第一字节001011XX
第二字节立即数
:
SUBA,EM从A中减去存储器EM地址的值
SUBA,EM
存储器直接寻址
第一字节001110XX
第二字节存储地址
ANDA,@R?
寄存器间接寻址
第一字节010101XX
MOVA,#II将立即数II送到累加器A中
MOVA,#II
数据传送指令
第一字节011111XX
3、微操作控制信号
外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设
读数据。
程序存储器EM写信号。
程序存储器EM读信号。
将程序计数器PC的值送到地址总线ABUS上(MAR)。
将程序存储器EM与数据总线DBUW接通,有EMWR和EMRD决
定是将DBUS数据写到EM中,还是从EM中读出数据到DBUS。
将程序存储器EM读出的数据打入指令寄存器IR。
中断返回时清除中断响应和中断请求标志,便于下次中断。
PC打入允许,与指令寄存器的IR3,IR2位结合,控制程序跳转。
进位置1,CY=1。
进位置0,CY=0。
11.MAREN:
将数据总线DBUS上的地址打入地址寄存器MAR。
将地址寄存器MAR的值送到地址总线ABUS上。
将数据总线DBUS上的数据送到输出端口寄存器OUT里。
将数据总线上的数据存入对战寄存器T中。
读寄存器组R0-R3,寄存器的选择有指令的最低两位决定。
写寄存器组R0-R3,寄存器的选择有指令的最低两位决定。
决定运算器是否带进位移位,CN=1带进位,CN=0不带进位
将标志位存入ALU内部的标志寄存器。
将数据总线DBUS的值打入累加器A中。
21-23:
X2~X0:
X2~X0三位组合来译码选择将数据送到DBUS上的寄存器。
24-26:
S2-S0:
三位组合决定ALU做何种运算。
4、指令执行流程
1.指令12:
ADDCA,#II
ADDCA,#II指令分析表
助记符
功能
机器码
周期总数CT
节拍数
微操作
控制信号
涉及硬件
_FATCH_
取指令
000000XX
010
T2
PC→MAR
PCOEMAREN
PC,MAR,EM,W,IR
T1
EM→W
EMENEMRDWEN
T0
W→IR
PC+1
IREN
将立即数II加入累加器A中带进位
001011XX
101
T5
PC,MAR,EM,W,A,ALU,F
T4
PC+1
T3
A+W+Cin→A
S=100X=100AEN
图4ADDCA,#II的指令流程
2.指令15:
SUBA,EM
MOVA,#II指令分析表
MOVA,#II
将立即数II送到累加器A中
011111XX
PC,MAR,EM,W,A,ALU
W→A
AEN
图5MOVA,#II指令执行流程
2.指令22:
ANDA,@R?
指令分析表
累加器A“与”间址存储器的值
010101XX
R→MAR
RRD
R,DBUS,MAR,EM,W,AALU,F
EM→DBUS→W
A+W→A
S=000X=100
图6ANDA,@R?
指令执行流程
2.指令32:
图7MOVA,#II指令执行流程
5、组合逻辑控制器设计
第12、15、22、32号指令操作时序表
M0
M1
XRD
EMWR
EMRD
ALL
12,15,22,32
PCOE
12,15,32
EMEN
EINT
ELP
FSTC
FCLC
MAREN
MAROE
OUTER
STEN
22
RWR
CN
FEN
WEN
X2-X0
12(100),22(100)
S2-S0
12(100),22(000)
说明:
依据指令执行流程,此处4条指令都被设计为2个指令周期,每个周期3个节拍。
各控制信号逻辑表达式如下:
EMRD=M0*T1+M1*T4
PCOE=M0*T2+(INS12+INS15+INS32)*M1*T5
EMEN=M0*T1+M1*T4
IREN=M0*T0
MAREN=M0*T2+(INS12+INS15+INS32)*M1*T5
RRD=M1*T5
WEN=M0*T1+M1*T4
AEN=M1*T3
X=(INS12+INS22)*M1*T3*
S=INS12*M1*T3*+INS22*M1*T3*
其他信号恒逻辑表达式恒为假。
6、微程序控制器设计
微指令格式分为三个字段:
微命令字段:
5位,对应26个微信号。
下址字段:
6位,对应64条微指令
转移控制字段:
2位,用于控制下址的形成。
微命令字段(5位)
图8微指令格式
修改逻辑为:
μA=INS15*(P=1)
μA=INS22*(P=1)+(INS15+INS32)*(P=2)
μA=INS32*(P=1)+(INS22)*(P=2)
图9微程序流程
【系统实现】
1、模型机实现
(1)逻辑电路的图形符号表示、功能
图10通用寄存器R逻辑电路
(2)指令所涉及的微操作控制信号
clk时钟输入
rst复位输入
RWR寄存器(R0..R3)写允许
(3)系统实现
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
U