山东大学软件学院计算机组成原理课程设计实验三

文章目录

    • 一、实验时间
    • 二、实验内容
      • 1. 实验目的
      • 2. 设计要求
      • 3. 实验基本思路
    • 三、电路图
      • 1. 可预置初值的模256异步计数器
      • 2. 8位ALU电路
      • 3. 总图
    • 四、补充

一、实验时间

第三次实验:2021年4月8日星期四,第六周
第一次部件级实验,开始算分

二、实验内容

微程序控制的运算器设计

1. 实验目的

(1)熟悉简单运算器的结构
(2)熟悉微命令的产生和时序
(3)熟悉运算器功能测试。

2. 设计要求

利用之前设计的具有超前进位功能的8位ALU,实现简单算术或逻辑运算
两操作数由八位寄存器R0、R1提供,其结果放入R2中。
具体何种操作可由微命令任意设定(物理运算由ALU电路完成)。
此外,还要求设计微程序控制器中的uPC

3. 实验基本思路

整个实验由两个部分构成,一是设计的微指令,二是运算器和程序计算器的电路

项目整体架构图
山东大学软件学院计算机组成原理课程设计实验三_第1张图片

一、用户自己设计的微指令

(1)用户设计的微指令默认从0号单元写入(如果计数器没有预置初值功能)
如果计数器有预置初值的功能,就可以指定某一号单元写入

(2)微指令字长为24位,采用立即寻址方式获得参与运算的数

我自己设计的微指令格式如下

微指令:A0-A7,A8-A15,A16-A23
最高八位为立即数
A23-A16 ----> D0-D7
中间八位中的前6位分别控制ALU的运算方式和进位
A15-A10 ----> C0,M,S0,S1,S2,S3
A9-A8—>值为0
最后八位
A7:寄存器R0的脉冲
A6:寄存器R1的脉冲
A5:寄存器R2的脉冲
A4:LM(左移)实现乘2功能
A3:DM(直送)
A2:RM(右移)实现除2功能

(3)使用软件将对应的微指令写入指定的单元内存中

要求会使用相应的软件,并明确微指令的格式,编写的含义和具体的存放地址

二、运算器和程序计算器的电路

(1)程序计数器uPC

程序计数器uPC模拟的是计算机中PC的用法,PC保存的是当前指令的地址,取完指令之后,
PC自动+1,寻找下一条指令
我的uPC采用的是异步模256加1计数器,可以预置初值(即初始指令的地址)
uPC来一次脉冲就计数+1,对应的输出就是微指令存储的地址
uPC同时具有清0的功能,当按下CPU复位键时,uPC自动清0

(2)运算器部分

运算器由三个寄存器和一个ALU电路构成
R0,R1保存要加的两个数
R2保存结果,并呈现到输出面板上
ALU电路由两个74181和一个74182电路构成
另外还有控制运算器采用什么运算的几个管脚

运算器框架图

山东大学软件学院计算机组成原理课程设计实验三_第2张图片

(3)附加功能

在运算器输出端,可以加一个移位器,实现数据的左移(乘2),右移(除2),直送
而控制左移右移直送的信号由微程序提供

三、电路图

1. 可预置初值的模256异步计数器

这里复用了可预置初值的模16异步计数器
山东大学软件学院计算机组成原理课程设计实验三_第3张图片

2. 8位ALU电路

山东大学软件学院计算机组成原理课程设计实验三_第4张图片

3. 总图

这里最后的输出用了补码移位器

山东大学软件学院计算机组成原理课程设计实验三_第5张图片

四、补充

1.脉冲的作用

在本次实验中,脉冲一共有四个作用,因此上面的总图中,脉冲CP并联了四个输出
山东大学软件学院计算机组成原理课程设计实验三_第6张图片
2.绑定的管脚

uPC(模256计数器)的八个输出连到实验平台上的ROM,对应绑定的管脚如下
在这里插入图片描述

微指令的高八位连寄存器R0和R1的输入,而后其它位绑定对应的输入管脚
山东大学软件学院计算机组成原理课程设计实验三_第7张图片
uPD和CPuIR绑定的管脚

在这里插入图片描述
单脉冲和清零(CPU复位)绑定的管脚号

在这里插入图片描述

你可能感兴趣的:(#,计算机组成原理课程设计,ALU,微程序,山东大学,计算机组成原理课程设计)