一个简单计算机的设计-计算机组成原理课程设计报告
课程设计总结:通过本次课程设计,及对许多典型部件集成设计与调试,我们对数据选择器、移位器、加法器、运算器、存储器和微程序控制器有更透彻的了解。在此基础上,我学会了绘制完善的逻辑图、编制微程序、微程序的调试与改错、系统的功能测试等。 进一步熟悉了计算机的设计步骤、设计思路和调试步骤,为独立完成计算机设计奠定一个扎实的基础。在过程中遇到了很多困难,但通过同学和老师的帮助得到了解决,使我明白了自己学习的不足之处,明白了一个简单的计算机也是很复杂的。在此感谢老师的帮助。
一、设计目的:
通过前面的典型部件设计与调试,我们对数据选择器、移位器、加法器、运算器、
存储器和微程序控制器有较透彻的了解。在此基础上,我们可着手设计一个简单计算机,
但其涉及的部件较多、结构原理较复杂,通过本次课程设计,可以熟悉计算机的设计步
骤、设计思路和调试步骤,为独立完成计算机设计奠定一个扎实的基础。
二、实验步骤与内容:
(一)、总体结构分析:
1、 拟定指令系统
指令系统是设计计算机的依据,对拟定指令系统是非常重要的。拟定指令系统包括基本字长、指令格式、指令类型、寻址方式等内容。
(1) 指令格式:
7 4 3 2 1 0
(2) 指令类型:设计的系统有单操作数指令、双操作指令和无操作数指令。操作码op共四位,最多可定义16条指令,数据的传送单位为8位。数据的传送方式为R-R、R-RAM、RAM-R。
(3) 寻址方式:
Ri:操作数就在寄存器中
(Ri):操作数地址在寄存器中
I指令的第二个字节为操作数或称立即寻址
(D)指令的第二个字节为操作数的地址
源操作数使用R0寻址
目的操作数使用R1寻址
2、确定计算机的总体结构
(1) 寄存器的设置 R0、R1为通用寄存器,8位;IR为指令寄存器,8位;PC为程序计数器,8位;MAR为地址寄存器,8位;
(2) 加 法器的设置 采用为8位串行进位并行加法器。
(3) 选择器的设置 连入A选择器的数据是RAM的读出数据和R0寄存器的数据。连入B选择器的数据来源是PC的数据和R1的数据。
(4) 数据通路 数据通路的设计在总体结构中是最重要的一个问题。模型机的数据通路是以总线为基础、以CPU为核心构成的。
信息的传送路径:
取指令: MA CPIR
RA M 选择器A Σ Bus IR
送指令地址: PB CPMAR
PC 选择器B Σ Bus MAR
指令计数器+1: PB c0 CPPC
PC 选择器B Σ Bus PC
R0->RI: RA CRR1
R0 选择器A Σ Bus R1
R1->RAM: RB WR
R1 选择器B Σ Bus RAM
3.逻辑设计
1) 加法器的逻辑设计
模型机中的加法器是由八个一位全加器构成的,全加器之间采用简单的串行进位。
2) 选择器的设计
选择器A和选择器B的结构形式一样,在控制电位EN0和EN1的控制下,分别选择R0或R1的数据通过选择器,进入加法器。EN0和EN1是互斥的,高电平有效。
3) 寄存器的设计
(1) 不带复位的寄存器:结构中R0,R1通过寄存器,可存放操作数或结果、中间结果,每个寄存器均由8个D触发器构成。在CPRI的作用下接受总线的数据送入寄存器,输出连入选择器,指令寄存器IR其结构同通用寄存器。
(2) 带复位的寄存器:结构中MAR地址寄存器是一个带复位的寄存器,带复位是指当有复位信号时,MAR清零。
(3) 程序计数器的设计:PC加1是通过加法器实现的。复位信号RE的作用是有复位信号时,计数器PC清零。
(4) 部件之间的连接:由系统图可看出,部件之间的连接是采用以CPU为中心的总线连接方式。加法器的输出通过总线BUS连接到所有寄存器和储存器的输入端,除指令寄存器IR和地址寄存器MAR的输出端外,其它部件的输出端分别送入选择器A和选择器B。
图如附图(后面)
4、确定控制方式
控制命令是确定信息的流向,不同的数据通路需要不同的控制命令。通常有两种方
式,即组合逻辑方式和微程序方式,模型机采用微程序方式。微程序的执行方式采
用增量、垂直方式。
(1) 微程序控制器的结构
主要由控制存储器ROM2#,ROM1#,微指令寄存器uIR15—8,Uir7—0构成。
L15—L8用于显示微指令寄存器,便于观察。
(2) 微程序控制器的时序
P脉冲的低电平用作控制存储器读命令
P脉冲的上升沿将读出的微指令送uIR
(3) 微指令格式
微指令字长16位。
(4) 微程序的编写
为了简化微地址形成部件的控制逻辑,微程序将按源操作数寻址转移和目的操作数寻址转移并入按操作码转移方式。
5、编制指令流程
Ⅰ 程序
MOV1 05#,R0
MOV2 01#,R1
ADD R0,R1
MOV3 R1,(R0)
Ⅱ 操作码二进制代码
MOV1:0001
MOV2:0010
ADD :0011
MOV3:0100
Ⅲ 微程序入口(十辣进制代码)
取指令入口:00H
MOV1入口:10H
MOV2入口:20H
ADD 入口:30H
MOV3入口:40H
Ⅳ 指令执行流程
指令流程
00↓
RAM→IR
↓
PC+1→PC
10↓ ̄ ̄ ̄ ̄ ̄ ̄ ̄20↓ ̄ ̄ ̄ ̄ ̄ ̄ ̄30↓ ̄ ̄ ̄ ̄ ̄ ̄40↓
PC→MAR PC→MAR R0+R1→R1 R0→RAM
↓ ↓ ↓ ↓
PC+1→PC PC+1→PC PC→MAR R1→MAR
↓ ↓ ↓ ↓
RAM→R0 RAM→R1 JP PC→MAR
↓ ↓ ↓
PC→MAR PC→MAR JP
↓JP ↓JP
Ⅴ编制微程序
MOV1 00011000 00000101
MOV2 00101000 00000001
ADD 00110000
MOV3 01000001
6、分调
将模式开关置于分调,对于1032E系统,平台上的所有开关和发光二极管(除453