八位模型机实验报告

更新时间:2023-12-03 14:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

名 称: 题 目:院 系:班 级:学生姓名:

实验报告

计算机组成原理大实验 8位模型机的设计 计算机系

8位模型机的设计

关键词

模型机设计 控制器 微程序设计

摘要

设计一个简单的8位模型机,主要包括指令系统、运算器、控制器、存储器、时序产生器总线等设计。

前言

原理是计算机科学技术学科的一门核心专业基础课程。从课程地位来说,它在先导课程和后续课程之间起着承上启下的作用。

计算机组成原理讲授单处理机系统的组成和工作原理,课程教学具有知识面广,内容多,难度大,更新快等特点。此次课程设计目的就是为了加深对计算机时间和空间概念的理解,增强对计算机硬件和计算机指令系统的更进一步的了解。

计算机组成原理课程设计是为了加深对计算机工作原理的理解以及计算机软硬件之间的交互关系。不仅能加深对计算机的时间和空间的关系的理解,更能增加如何实现计算机软件对硬件操作,让计算机有条不紊的工作。

正文

一、设计的目的

根据计算机组成原理课程所学知识,设计一个8位的模型计算机。 1. 掌握计算机的基本组成和功能; 2. 掌握计算机各大部件的功能与设计方法; 3. 深入学习计算机各类典型指令的执行流程; 4. 深入学习微程序控制器的原理和设计过程;

5. 掌握微程序的设计方法,学会编写二进制微指令代码表;

6. 综合运用所学知识,在掌握部件单元电路设计的基础上,进一步构造一台基本的模型计算机,建立计算机整机概念;

7. 通过本次设计,理论联系实践,进一步加强学生分析问题、解决问题的能力,提高自身硬件设计水平。

二、 设计的任务

1. 查阅文献资料,一般在5篇以上;

2. 以TEC-XP教学实验计算机系统为背景,通过调研、分析现有的模型机,建立8位的整机模型;

3. 完成8位模型机的整机设计和各部件的具体设计; 4. 撰写设计报告书; 5. 做好答辩工作。

三、 设计的原理及内容 原理:

由运算器ALU、控制器、地址寄存器MAR、数据寄存器MBR、指令寄存器IR、存储器M、程序计数器PC七大部件组成,它们是通过总线连接起来的它们的逻辑结构和数据通路如图所示,控制器是整个模型机的中心,由它来控制计算机指令的执行,模型机执行指令的具体过程为:首先控制器从指令寄存器取得指令、编译指令、再输出微控执信号、控制ALU的运算、PC加1、并且从M中取出数据运算、运算后再把结果通过数据总线存到M,PC送入MAR,再从指令寄存器中读取下一条指令,依次循环。 内容:

1. 8位模型机总体结构的设计;

主要是数据通路的设计或选择,要说明如下内容: 1)寄存器的位数 2)总线宽度

3)ALU位数及运算功能

4)微命令的设置(各标识的含义); 2. 拟定指令系统;

主要系统包括哪些指令以及指令格式,寻址方式。

3. 控制器的选择; 采用微程序控制器。

4. 绘制指令流程图;

5. 安排指令操作时间表,设计微指令格式; 6. 编写微程序;

7. 了解并说明模型机的输入/输出模块;

各部件设计时,说明部件中数据和控制信号的来源、去向、功能、时序、以及部件之间数据和控制信号的来源、去向、功能和时序等

四、指令系统

1. 指令格式

模拟机采用了定长的单操作数指令格式,指令字长为8位。操作码3位,操作数5位

7 5 4 2 1 0 操作码 寄存器号 寻址方式

图1 指令格式

模拟机采用了定长的指令格式,每条指令字长为8位。采用的寻址方式为立即数寻址,直接寻址,寄存器间接寻址和寄存器寻址。

2、操作码

把寄存器R0作为默认的目的寄存器 编号 000 001 010 011 100 101 110 助记符 MOV ADD SUB AND OR COM SHL 指令功能 将指定的操作数放入R0 将R0的内容与指定的操作数相加,结果放在R0中。 将R0的内容与指定的操作数相减,结果放在R0中。 将R0的内容与指定的操作数相与,结果放在R0中。 将R0的内容与指定的操作数相或,结果放在R0中。 将指定操作数取反,结果放在R0中 将指定操作数左移一位,结果放在R0中 3、寄存器(8位) 所有寄存器都是8位,内部结构是8个D触发器,代码输入至D端,CP同步打入。PSW的特征位还可由R、S端置入,系统总线对MBR的输入也可由R、S端置入。

(1) 可编程寄存器,有通用寄存器R0、R1,堆栈指针SP,程序状态字寄存器PSW,程

序计数器PC。

(2) 暂存器C,从主存读取的源操作数可暂存于寄存器C中。

(3) 指令寄存器IR,存放现行指令,输出为产生微操作命令序列的主要逻辑依据。 (4) 与主存的接口寄存器MAR、MBR。CPU访问主存的地址由MAR提供,MAR连接地

址总线的输出门事三态门,当微命令EMAR为高电平时,MAR输出送往地址总线;当EMAR为低电平时,MAR输出高阻态,与地址总线断开。

6个可编程寄存器,3个用于控制的寄存器 ? 可编程寄存器: 编号 000 标示符 R0 功能 通用寄存器 001 010 011 100 101 R1 C SP PC psw 通用寄存器 可暂存源操作数 可做堆栈指针 程序计数器 状态寄存器 ? 用于控制的寄存器: 助记符 IR MAR 名称 指令寄存器 地址寄存器 功能 存放现行指令,输出为产生微操作命令序列的主要逻辑依据。 读取指令:指令所在地址码→MAR→主存M; 读取操作数或存放数据:先将地址指针内容或地址计算结果→MAR→主存M。 写入主存:数据→MBR→主存M; 主存读出送入CPU:数据→MBR→指定寄存器 MBR 数据寄存器

计数器PC(指令计数器或指令指针IP)

功能:提供读取指令的地址,或以PC内容为基准计算操作数的地址。用来指示程序的进程;提供后继指令地址,并送往地址寄存器。

4、寻址方式

模型机的编址为按字编址,字长8位。 类型 00 01 10 1 寻址方式 立即数寻址 直接寻址 寄存器间接寻址 寄存器寻址 助记符 I [I] (R) R 指定寄存器 PC PC RI R0,R1,C, PC,psw 定义简述 操作数紧跟指令给出 操作数在指令中给出 操作数地址在指定寄存器里给出 操作数在指定寄存器中 5、总线与数据通路结构 (1)内总线

ALU汇集,单向内总线实现数据分配,寄存器在逻辑上分立。即各寄存器将其输出分别送至ALU的输入选择器,ALU输出经移位器送到内总线上,内总线是8根单向数据传送线,它们分别连到有关寄存器对应的D输入端。究竟送入哪一个或几个寄存器,取决于控制器发出哪些CP脉冲。 (2)系统总线

系统总线宽度8,可分为地址总线(AB)、数据总线(DB)、控制总线(CB)三大部分。 CPU通过MAR向地址总线提供地址,以选择主存单元或外围设备(接口寄存器)。外围设备也可以向地址总线发送地址代码。

CPU通过MBR向数据总线发送或接受数据,由控制命令R、W决定传送方向及MBR的断开。

主存M和外围设备也与数据总线相连,向数据总线发送或接收数据。 CPU与外围设备向控制总线发出有关控制信号,或接收控制信号。 (3)数据通路结构 AB DB 内总线 CB CPR0 R0 MAR 移位器 功主存/M I/O CPR1 R1 能 ALU CPMAR EMAR 选 C0 CPC C 择 MBR 选择器A 选择器B SP CPSP CPMBR SMBR CPPC R0,R1 ,C R0,R1,C PC MBR SP,PC IR SIR 控制逻辑

模型机数据通路

6、各类信息的传送路径 (1)指令信息传送

M 数据总线 IR (2)地址信息

PC 选择器A ALU 移位器 内总线 MAR (3)顺序执行是的后继指令地址

PC 选择器A(C0置1) ALU 移位器 内总线 PC (4)操作数地址

寄存器间接寻址方式:

Ri A(或B) ALU 移位器 内总线 MAR (5)数据信息传送

寄存器 寄存器:

Ri A(或B) ALU 移位器 内总线 Rj 寄存器 主存:

Ri ALU 移位器 MBR 数据总线 M 主存 寄存器:

M 数据总线 MBR ALU Ri 主存 主存:

M MBR ALU R0 ALU MBR M

(4)

CPU寄存器 外围设备,外围设备接收或发送数据,一般都通过外围接口中的缓冲寄存器,采用统一编址的系统连接方式。 主存 外围设备。

M 数据总线 MBR 数据总线 接口 外围设备 7.微命令设置

(1)ALU输入选择,如R0->A,PC->B…… (2)ALU功能选择,如S3 S2 S1 S0,M,C0 (3)移位器功能选择,如直传DM、左移。 (4)分配脉冲CPR0、CPC、CPMAR…… (5)与系统总线及主存有关的微操作:

EMAR,EMAR=1MAR向AB送地址,EMAR=0MAR与AB断开;

读写R,W,控制读写即数据传送方向,RW=00 MBR与DB断开,R=1读, W=1写 。

8. 指令流程图 M -> IR , PC + 1 -> PC MOV ADD SUB AND OR COM SHL I R PC -> MAR M -> MBR -> C I R I R I R OP C -> R0 OP R0 -> RO C -> R0 R1 -> R0 R0 OP C -> R0 R0 OP R1 -> R0

PC -> MAR

说明:

I ,立即寻址,操作数紧跟指令给出

[I],直接寻址方式,操作数地址紧跟指令给出 R, 寄存器寻址,操作数在寄存器中给出

[R],寄存器间接寻址,操作数地址在寄存器中给出

(1) MOV指令,将指定的操作数放入R0,操作数由指定的寻址方式给出。

(2) MOVT指令,将指定的操作数放入指定的目的寄存器Ri中,源操作数在R0中

给出。

(3) ADD指令,将R0的内容与指定的操作数相加,结果放在R0中。 (4) SUB指令,将R0的内容与指定的操作数相减,结果放在R0中。 (5) AND指令,将R0的内容与指定的操作数相与,结果放在R0中。 (6) OR指令,将R0的内容与指定的操作数相或,结果放在R0中。 (7) JMP指令,将指定的操作数作为指令地址,实现无条件转移。

(8) SHL指令,将指定操作数左移一位,结果放在R0中国,操作数由指令

中的寻址方式和寄存器号得到。

操作数的指令默认目的操作数在R0中,所以先执行MOV指令将目的操作数存到R0中。

五、运算器的物理结构

ALU 使用2片 SN74181 ,片SN74182,构成并行加法器,设置 S2 S1 S0,M,C0进行功能选择。

输出

SN74181 SN74181

C0

输入 A7—A4 B7—B4 A7—A4 B7—B4

N7418274181ALU的运算功能表(ALU功能选择)

下表列出了74181ALU的运算功能表,它有两种工作方式。对正逻辑操作数来说,算术

运算称高电平操作,逻辑运算称正逻辑操作(即高电平为“1”,低电平为“0”)。对于付逻辑操作数来说,正好相反。由于S0-S3有16种状态组合,因此对正逻辑输入而言,有16种算术运算功能和16种逻辑运算功能。同样,对于负逻辑输入而言,也有16种算术运算功能和16种逻辑运算功能。

表中算术运算操作是用补码表示法来表示的,其中“加”是指算术加,运算时要考虑近卫,而符号“+”是指“逻辑加”。其次,减法是用补码方法进行的,其中数的反码是内部产生的,而结果输出“A减B减1”,因此做减法时需在最末位产生一个强迫进位(加1),以便产生“A减B”的结果。另外,“A=B”输出端可指示两个数相等,因此它与其它ALU的“A=B”输出端按”与”逻辑连接后,可以检测两个数的相等条件。

六、微控制器的逻辑及功能

1、 基本原理

(1) 将控制器所需的微命令,以代码(微码)形式编成微指令,存入一个用R

OM构成的控制器中。CPU在执行程序时,从控制存储器中取出微指令,其所包含的微命令控制有关操作。

(2) 将各种机器指令的操作分解为若干微操作序列。每条微指令包含的微命令

控制,实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,编制出一套完整的微程序,事先存入控制存储器(CM)中。

IR 微命令序列 …… 指令代码 运行状态 PSW 微地址 形成电路 微命令字段 微指令寄存器?IR PC 微地址字段

译码器

微地址寄…… 控制存储器CM 存器?AR

微程序控制器基本框 2、控制器逻辑组成

为了提供机器指令信息,并保证工作程序的连续执行,微程序控制器中也设置指令寄存器IR、程序计数器PC、程序状态字PSW。 (1)控制存储器CM,用来存放微程序。

(2)微指令寄存器?IR,从控制存储器中读取的微指令,存放在微指令寄存器中,它分为

两大部分:一部分提供微命令的微操作控制字段,它占据了微指令的大部分,其代码或直接作为微指令,或分成若干小字段经译码后产生微指令;另一部分为顺序控制字段,它指明后继微地址的形成方式,用以控制微程序的连续执行。 (3)微地址形成电路,

微程序入口地址:

设置一小段公用的“取机器指令的微程序”,实现取指操作。这段微程序可以从0号单元开始。

后续微地址: 由微地址字段、现行微地址、运行状态等形成。

(4)微地址寄存器?AR,在从CM中读取微指令时,微地址寄存器中保存着CM的地址,指向相应的CM单元。当读出微指令后或完成一个微指令周期操作后,微地址形成电路将后继地址打入?AR中,做好读取下一条微指令的准备。 2、微程序执行过程

(1)从控存中逐条取出“取指令操作”,执行取指令公共操作。

(2)根据指令的操作码,经过微地址形成部件,得到这条指令的入口地址,并送入微

地址寄存器中。

(3)从控存中逐条的取出对应的微指令并执行。

(4)执行完一条机器指令对应的微程序后又回到取指微程序的入口地址,继续第(1)步,以完成取下一条机器指令的公共操作。 3、模型机微指令格式(27位)

针对模型机数据通路结构的需要,将微操作控制字段分为三个部分。

(1) 基本数据通路操作的控制字段,其中包含输入选择、ALU功能选择、移位选择、

内总线输出分配。

(2) 访问主存的控制字段,其中包含地址选择、读写控制。 (3) 顺序控制字段,提供形成后继地址的方式。

26 24 23 21 20 16 15 14 13 12 11 9 8 7 6 5 4 3 0 AI BI SM CO S ZO EMAR R W ST SC 基本数据通路控制 访存控制 辅助 顺序控制 模型机微指令格式 ? 基本数据通路控制字段

(1)AI:ALU的A输入端选择,3位 编码 000 001 010 100

(2)BI:ALU的B输入端选择,3位 编码 000 功能 无输入 功能 无输入 Ri -> A C->A PC->A

本文来源:https://www.bwwdw.com/article/krxt.html

Top