计算机组成原理课程设计
实
验
报
告
目 录
一、程序设计 …………………………………………………1
1、 程序设计目的 …………………………………………………1
2、 程序设计基本原理………………………………………………1
二、 课程设计任务及分析…………………………………………6
三、设计原理 ……………………………………………………7
1、机器指令…………………………………………………………7
2、微程序流程图……………………………………………………9
3、微指令代码……………………………………………………10
4、课程设计实现步骤 ……………………………………………11
四、实验设计结果与分析 ………………………………………15
五、实验设计小结 ………………………………………………15
六、参考文献 …………………………………………………15
一、程序设计
1、 程序设计目的
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
(2使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
(3)掌握微程序控制器的组成原理。
(4)掌握微程序的编写、写入,观察微程序的运行。
(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
2、 程序设计基本原理
(1)实验模型机结构
[1] 运算器单元(ALU UINT)
运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。
[2] 寄存器堆单元(REG UNIT)
该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。
[3] 指令寄存器单元(INS UNIT)
指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。
[4] 时序电路单元(STATE UNIT)
用于输出连续或单个方波信号,来控制机器的运行。
[5] 微控器电路单元(MICRO-CONTROLLER UNIT)
微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。由输入的W/R信号控制微代码的输出锁存。由程序计数器(PC)和地址寄存器(AR)实现程序的取指功能。
[6] 逻辑译码单元(LOG UNIT)
用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器R0、R1、R2的选通译码。
[7] 主存储器单元(MAIN MEM)
用于存储实验中的机器指令。
[8] 输入输出单元(INPUT/OUTPUT DEVICE)
输入单元使用八个拨动开关作为输入设备,SW-B控制选通信号。输出单元将输入数据置入锁存器后由两个数码管显示其值。
*该CPU数据结构通路框图如下:
(2)机器指令的结构和功能
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次课设是在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通 路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器及转移指令和停机指令。
[1] 算术逻辑指令
c++课程设计报告设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
D7 D6 D5 D4 | D3 D2 | D1 D0 |
OP-CODE | Rs | Rd |
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
选中的寄存器(Rs或Rd) | R0 | R1 | R2 |
寄存器的编码 | 00 | 01 | 10 |
[2] 访存指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。其格式如下:
D7 D6 | D5 D4 | D3 D2 | D1 D0 | D7····D0 |
OP-CODE | M | OP-CODE | Rd | D |
其中,OP-CODE为操作码, Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式 | 有效地址 | 说 明 |
00 | E=D | 直接寻址 |
01 | E=(D) | 间接寻址 |
10 | E=(RI)+D | RI 变址寻址 |
11 | E=(PC)+D | 相对寻址 |
本模型机规定变址寄存器RI指定为寄存器R2。
[3] I/O指令
输入和输出指令采用单字节指令,其格式如下:
D7 D6 D5 D4 | D3 D2 | D1 D0 |
OP-CODE | addr | Rd |
其中,addr=01 时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。
[4] 停机指令
这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:
D7 D6 D5 D4 | D3 D2 | D1 D0 |
0 1 1 0 | 0 0 | 0 0 |
(3)指令系统
[1]本模型机共有16条基本指令。其中,算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。表1列出了各条指令的格式、汇编符号、指令功能。
表1 复杂模型机指令系统
序号 | 汇编符号 | 指令格式 | 功能说明 |
1 | CLR Rd | 0111 00 Rd | 0→Rd |
2 | MOV RS,Rd | 1000 RS Rd | RS→Rd |
3 | ADC RS,Rd | 1001 RS Rd | RS+Rd+Cy→Rd |
4 | SBC RS,Rd | 1010 RS Rd | RS-Rd-Cy→Rd |
5 | INC Rd | 1011 -- Rd | Rd+1→Rd |
6 | AND RS,Rd | 1100 RS Rd | RS∧Rd →Rd |
7 | COM Rd | 1101 00 Rd | Rd →Rd |
8 | RRC RS,Rd | 1110 RS Rd | RS带进位右循环一位,RS→Rd |
9 | RLC RS,Rd | 1111 RS Rd | RS带进位左循环一位,RS→Rd |
10 | LDA M,D, Rd | 00 M 00 Rd,D | E→Rd |
11 | STA M,D, Rd | 00 M 01 Rd,D | Rd→E |
12 | JMP M,D | 00 M 10 00,D | E→PC |
13 | BZC M,D | 00 M 11 00,D | 当CY=1或ZI=1时,E→PC |
14 | IN addr, Rd | 0100 01 Rd | addr→Rd |
15 | OUT addr, Rd | 0101 10 Rd | Rd→addr |
16 | HALT | 0110 00 00 | 停机 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论