计算机组成原理实验八简单模型计算机实验

计算机组成原理实验八简单模型计算机实验
计算机组成原理实验八简单模型计算机实验

实验八

简单模型计算机实验

一、实验目的

1)通过实验分析简单模型机结构,了解计算机的工作原理。

2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程

二、实验原理

基本整机模型数据框图如图所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。

存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR 中。

存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。

数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三太门送到总线上。

三态门的控制时由微控制器来控制。

图:模型机的数据通路图

SW-G

三、实验过程

1.连线

按实验逻辑原理图连接以下控制信号。

1)时钟单元(CLOCK UNIT)的T1-T4接到微程序控制单元(MAIN CONTROL UNIT)

的T1-T4.

2)手动控制开关单元(MANUAL UNIT)的KA ,KB接到指令单元(INS UNIT)

的KA,KB。

3)指令单元(INS UNIT)的J(1)-J(5)、SE6-SE0、B-IR 接到的微程序控制单

元(MAIN CONTROL UNIT)的J(1)-J(5)、SE6-SE0、B-IR。

4)输入/输出单元(INPUT/OUTPUT UNIT)IO-W,IO-R接到微程序控制单元(MAIN

CONTROL UNIT)的IO-W,IO-R,Ai接到地址单元(ADDRESS UNIT)的A0.

5)主存储器单元(MEM UNIT)M-W、M-R接到微程序控制单元(MAIN CONTROL

UNIT)的M-W、M-R,A7-A0 接到地址单元(ADDRESS UNIT)的A7-A0.

6)地址单元(ADDRESS UNIT)的B-AR、B-PC、PC+1、PC-B接到微程序控制单元

(MAIN CONTROLUNIT)的B-AR、B-PC、PC+1、PC-B.

7)通用寄存器单元(REG UNIT)的B-R、R0-B 接到微程序控制单元(MAIN

CONTROL UNIT)的B-DR、DR-B。

8)把算术逻辑单元(ALU UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、

M、Ci接到微程序控制单元(MAIN CONTROL UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、M、Ci。

2.写入、检验微代码

这项操作及实验七的操作过程相同

3.装入机器指令汇编程序操作

1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。

2)手动控制开关单元(MANUAL UNIT)的“STEP/RUN”开关置于“STEP”状态。

3)手动控制开关单元(MANUAL UNIT)的KA,KB开关置于1、0写主存储器状

态。

4)拨动开关从11—0—1,产生一个负脉冲,清零程序计数器PC、微地址

寄存器。

5)拨动“START”按钮一次,从微程序控制存储器的00H微地址开始执行微指

令,暂停在0AH微地址处。

6)此时在输入数据开关上拨入实验用机器指令汇编程序表中对应00H地址的

指令码C0H,接着第二次按动“START”按钮,暂停在0FH微地址处;第三次按动“START”按钮,暂停在1CH微地址处;第四次按动“START”按钮,暂停在1DH微地址处,此时机器指令汇编的第一个字节已写入存储器,程序计数器PC已加1为01H;第四次按动“START”按钮,暂停在0AH微地址处,开始写机器指令汇编程序第二个字节。

7)第六次至九次按动“START”按钮及第二次至五次按动“START”按钮的作用

类似,当微地址为0AH时,在输入数据开关上拨入下一个机器指令汇编程序字节,程序计数器PC不断加1,反复操作第(6)步直至全部机器码送入主存器为止。

4.检查机器指令汇编程序

1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。

2)手动控制开关单元(MANUAL UNIT)的“STRP/RUN”开关置于“STEP”状态。

3)手动控制开关单元(MANUAL UNIT)的KA、KB开关置于0、1写主存储器状

态。

4)拨动开关从1-0-1,产生一个负脉冲,清零程序计数器PC、微地址寄存器。

5)按动“START”按钮一次,从微程序控制存储器00H微地址开始执行微指令,

暂停在09H微指令处。

6)第二次按动“START”按钮,暂停在0CH微地址处,此时程序计数器PC加1

为01H,指示的是下一次读主存储器的地址,当前读主存储器的地址为00H;

接着第三次按动“START”按钮,暂停在09H微地址处;第四次按动“START”

按钮,暂停在0EH微地址处。第五次按动“START”按钮,暂停在09H微地址处,此时输出显示灯上显示主存储器00H单元中的数据。

7)第六至九次按动“START”按钮的作用及第二至五次按动“START”按钮的作

用类似,在0CH微地址处,程序计数器PC加1,在09H微地址处显示主存储器相对应单元中的数据,反复操作第(6)步直至全部机器码读出检查完为止。

8)如果主存储器中数据及表2-26中数据不符,则回到第三步装入机器指令汇编

程序的操作过程,重新向主存储器写入正确数据。

5.单步运行机器指令汇编程序

1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。

2)手动控制开关单元(MANUAL UNIT)的“STRP/RUN”开关置于“STEP”状态。

3)手动控制开关单元(MANUAL UNIT)的KA、KB开关置于1、1或0、0运行

机器码状态。

4)拨动开关从1-0-1,产生一个负脉冲,清零程序计数器PC、微地址寄存器。

5)按动“START”按钮一次,从微程序控制存储器的00H微地址开始执行微指

令,暂停在08H或0BH微地址处;第二次按动“START”按钮,暂停在01H 微地址处,开始执行机器指令的公共操作。

6)第三次按动“START”按钮,暂停在02H微地址处;第四次按动“START”按

钮,暂停在03H微地址处;接着第五次按动“START”按钮,暂停在10H微地址处,准备各条机器指令的散转。

7)接下来微地址随着主存储器中机器指令汇编程序指令的不同而作不同的变

化,实验者可根据表2-26和表2-15中的内容观察各部件的动作变化。

6.连续运行机器指令汇编程序

1)微程序控制单元编程开关置于“RUN”状态。

2)手动控制开关单元的“STEP/RUN”开关置于“RUN”状态。

3)手动控制开关单元的KA、KB开关置于1、1或0、0运行机器码状态。

4)拨动开关从1-0-1,产生一个负脉冲,清零程序计数器PC、微地址寄存器。

5)按动“START”按钮一次,模型计算机将自动执行表2-26中的机器指令汇编

程序,程序功能是对输入数据开关上的数据进行连续加操作,若在输入数据开关上拨01H,则进行连续加“1”操作;若拨03H,则进行连续加“3”操作。

四、微指令运行步骤

机器指令写入

控制台指令机器指令读出

机器指令执行

五、结果及总结

1)记录实验过程中的情况和原始数据。

2)参照算术加法指令的微程序操作过程,能否自己设计一条无借位算术减法指

令的微程序操作代码,以扩充模拟计算机的功能。

3)记录每条机器指令结束时的模拟模型计算机各指示灯上的信息,用16进制

形式填入表2-27中,并说明这些信息的意义。

4)结合上面的问题总结出总线的特性和使用方法,以及解决问题的方法和过

程,把观察到的现象和对书本上原理的理解写入实验报告。

表2-27 实验八结果记录

六、附录实验箱介绍

实验仪基本组成框图

1.简单模型计算机构架

简单模型计算机逻辑结构如图1所示,构成简单模型计算机的实验部件以总线为基本连接通道,主要有以下7个:

1)算术逻辑运算部件ALU UNIT进行算术逻辑运算操作。

2)存储器部件MEM UNIT,存储模型计算机汇编语言程序和操作数据。

3)地址寄存器部件ADDRESS UNIT,包含两部分电路,地址寄存器AR:接收存储

器程序中的指令地址和指令中的数据地址;指令地址计数器PC:用于指示程序中的指令地址并通过地址缓冲器送往地址寄存器AR。

4)指令寄存器部件INS UNIT,寄存器当前正在执行的机器指令,此指令的指令

码通过指令译码器向微程序控制器指示相应的微程序入口地址;此指令的地址码指示的操作数地址,送往地址寄存器AR。

5)输入/输出部件INPUT/OUTPUT,操作数据的输入及输出显示。

6)通用寄存器部件REG UNIT,暂存运算的中间数据。

7)微程序控制器部件MAIN CONTROL UNIT,控制各部件完成指令的功能。

图1-简单模型计算机逻辑结构图

2.总线结构

总线是多个系统部件之间进行数据传送的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。因此,所谓总线就是指能为多个功能部件服务的一组公用信息线。总线传输实验框图如下图所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。

3.运算器ALU

运算器ALU由一片ispLSI1024(U47)组成,在选择端S2、S1、S0控制下,对数据A和B进行加、减、及、直通、乘五种运算,功能如下:

运算器功能表

选择

操作S2 S1 S0

0 0 0 A & B

0 0 1 A & A(直通)

0 1 0 A + B

0 1 1 A - B

1 0 0 A(低4位)× B(低4位)

进位C只在加法运算和减法运算时产生。加运算中,C表示进位;减运算中,C代表借位。加、减运算产生的进位(借位)在T4的上升沿送入C寄存器保存。及、乘、直通操作不影响进位C的状态,即进位C保持不变。

当ALU_BUS=1时,运算结果送往数据总线DBUS。加、减运算产生的进位(借位)C及控制台的C指示灯相连。

4.地址寄存器

地址寄存器AR1(U37)和AR2(U27、U28)提供双端口存储器的地址。AR1是一片GAL22V10,具有加1功能,提供双端口存储器左端口的地址。AR1从数据总线DBUS接收数据。AR1的控制信号是LDAR1和AR1_INC。当AR1_INC=1时,在T4的上升沿,AR1的值加1;当LDAR1=1时,在T4的上升沿,将数据总线DBUS 的数据打入地址寄存器AR1。AR2由2片74HC298组成,有两个数据输入端,一个来自程序计数器PC,另一个来自数据总线DBUS。AR2的控制信号是LDAR2和M3。M3选择数据来源,当M3=1时,选中数据总线DBUS;当M3=0时,选中程序计数器PC。LDAR2控制何时接收地址,当LDAR2=1时,在T2的下降沿将选中的数据源上的数据打入AR2。

5.指令寄存器

指令寄存器IR是一片74HC374(U20)。它的数据端从双端口存储器接收数据(指令)。当LDIR=1时,在T4的上升沿将来自双端口存储器的指令打入指令寄存器IR保存。指令的操作码部分送往控制器译码,产生各种所需的控制信号。大多数情况下,指令的操作数部分应连到寄存器堆(用户自己连接),选择参及运算的寄存器。在某些情况下(条件转移指令时),指令的操作数部分也参及新的PC的计算。

本实验系统设计了12条基本的机器指令,均为单字长(8位)指令。指令功能及格式如表2所示。表2中的X代表随意值;RS1、RS0指的是寄存器堆的B 端口选择信号RS1、RS0;RD1、RD0指的是寄存器堆的A端口选择信号RD1、RD0,不过由于运算结果需写回,因此它也同时指WR1、WR0,用户需将它们对应连接。另一点需说明的是,为了简化运算,指令JC D中的D是一个4位的正数,用D3 D2 D1 D0表示。

机器指令格式

6. 时序发生器

时序发生器产生计算机模型所需的时序。时序电路由一个1MHz 晶体震荡器、2片GAL22V10(U6和U7)组成,位于控制存储器的右边。根据本机设计,执行一条微指令需要4个节拍脉冲T1、T2、T3、T4,执行一条指令通常需要取指、送操作数、运算、写结果四个节拍电位W1、W2、W3、W4,因此本机的基本时序如下:

MF T1T2T3T4

W1W2W3W4

基本时序图

相关主题
相关文档
最新文档