计算机组成原理实验指导书版.docx
- 文档编号:27583218
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:76
- 大小:477.37KB
计算机组成原理实验指导书版.docx
《计算机组成原理实验指导书版.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验指导书版.docx(76页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验指导书版
计算机组成原理
实验指导书
李淑芝欧阳城添董跃华主编
江西理工大学
2013年9月
目录
第一部分计算机组成原理系统概述1
第1章DVCC系列实验机软硬件简介1
1.1DVCC系列实验机系统硬件性能1
1.2DVCC实验机系统软件性能2
1.3DVCC实验计算机的工作条件2
1.4DVCC实验计算机功能模块详述4
第2章联机调试软件简介32
第二部分基本单元实验33
实验一8位算术逻辑运算实验34
一、实验目的34
二、实验原理34
三、实验电路35
四、实验步骤37
五、实验数据38
六、思考题39
实验二带进位控制8位算术逻辑运算实验40
一、实验目的40
二、实验原理40
三、实验电路40
四、实验步骤42
五、实验数据43
六、思考题43
实验三16位算术逻辑运算实验*44
一、实验目的44
二、实验原理44
三、实验电路44
四、实验步骤47
五、实验数据48
六、思考题49
实验四移位运算器实验51
一、实验目的51
二、实验原理51
三、实验电路51
四、实验步骤53
五、实验数据53
六、思考题53
实验五存储器实验54
一、实验目的54
二、实验原理54
三、实验电路54
四、实验步骤55
五、实验数据57
六、思考题57
实验六微控制器实验58
一、实验目的58
二、实验原理58
三、实验电路59
四、实验步骤63
五、实验分析66
六、思考题66
第三部分综合实验67
实验七基本模型机的设计与实现67
一、实验目的67
二、实验原理67
三、实验电路69
四、实验步骤71
五、实验分析75
六、思考题75
实验八带移位运算的模型机的设计与实现76
一、实验目的76
二、实验原理76
三、实验电路77
四、实验步骤78
五、实验分析82
六、思考题82
第一部分计算机组成原理系统概述
第1章DVCC系列实验机软硬件简介
1.1DVCC系列实验机系统硬件性能
一、8位字长、16位字长兼容设计
教学计算机字长主要取决于运算器。
运算器的主体部分,在用2片74LS181芯片级联而成时,就构成8位的运算器;在用4片74LS181芯片级联而成时,就构成16位的运算器。
教学计算机的字长是8位还是16位,对学习计算机组成原理这门课虽没有什么实质性的影响,但为了让学生对字长的概念有更深刻的理解和认识,在本机上可同时提供出8位、16位字长的两种运算器功能。
二、采用总线结构
实验机采用总线结构,使实验计算机具有结构简单清晰、扩展方便、灵活易变等诸多优点,系统内有3组总线:
数据总线,地址总线和控制总线。
其中,数据总线和地址总线用8芯排针引出,实验时只要少些接线即可。
三、提供计算机基本功能模块
DVCC实验机为学生提供了运算器模块ALU、寄存器堆模块、指令部件模块、内存模块、微程序模块、启停和时序电路模块、控制台控制模块以及扩展模块。
图1.1.1是实验机的功能模块布局图,后面的章节将详细介绍这些模块。
各功能模块的输出均通过三态器件,部分模块(每个实验均用到)间的总线已连好,另一部分模块的总线实验者可按需要连接。
各模块所用的控制线全部用跳线器跳接,简单方便。
四、提供扩展模块
DVCC实验计算机为实验者提供创造性设计的平台,板上扩展了在系统可编程大规模电路CPLD器件ISP1032E(LATTICE公司),它的全部引脚对外开放,实验者完全根据自己的设计思路进行计算机组成原理设计、仿真、综合,并且下载到器件中,再验证其设计的正确性,最终完成设计。
五、提供智能化控制台
控制台由8位单片微机控制,为调试和使用实验计算机提供良好的条件。
实验计算机在停机时,实验者可通过控制台将程序装入控存中,可以读出控存或内存指令单元中的内容并且显示。
实验计算机运行时,可由控制台控制实验计算机从指定的地址开始运行程序,并可以人工干预使其停止运行;也可控制实验计算机逐条逐拍地运行,并自动测量和显示每一拍运行后的地址总线、数据总线和微地址以及微程序的内容。
六、实验接线量少,实验效率高
具有上述特性的DVCC实验计算机很大程度上减少了实验者的接线工作量,因而减少了出错的可能性,以利于实验的正常顺利进行,让实验者在有限的实验时间内将精力集中在实验的关键部分。
特别是进行整机实验时,学生可以集中时间和精力按要求设计实验计算机整机逻辑、指令系统及相应的控制器。
但在用CPLD器件设计时,实验者接线量相对多些,因为采用CPLD器件设计时,本身就是一种创新性设计,实践性特强,更有利于培养实验者的实践能力和创新开拓能力。
1.2DVCC实验机系统软件性能
DVCC实验机系统在控制软件的协调控制下,提供灵活的实验操作方式。
在实验计算机独立使用时,通过拨动开关及发光二极管以及二进制数码形式进行输入、编程、显示、调试,而且数据的输入/输出显示为高电平亮,低电平灭,符合人们的习惯;在实验计算机通过RS232通信接口与上位机联机时,可以在上位机上进行编程、相互传送装载实验程序、动态调试和运行实验程序等全部操作,实验者可根据实验题目的需要在两种实验操作方式之间随意切换。
DVCC实验计算机系统提供WINDOWS环境下集成调试软件,有多个显示窗口,如寄存器窗、微代码窗、程序代码窗、动态代码调试窗、实时数据流动显示窗等,可在屏幕上显示本实验计算机的组成逻辑示意图,如图1.1.2所示;微代码、程序代码直接屏幕修改、编程;微代码字段直接动作解释;调试运行过程实时动态跟踪显示,如数据流的流向及数据总线、地址总线、控制总线的各种信息,使调试过程极为生动形象;并具有逻辑示波器测量等强大功能。
为实验者提供了良好的实验操作环境,增强实验者学习、实验的兴趣,从而提高教学效果。
在DVCC实验计算机上还配有双通道虚拟示波器测量软件,用于实验过程中信号的观察,以便在设计性、创新性实验过程中及时分除故障,这样,可以减少实验室硬件设备的投析排入,提高实验设备的综合利用率。
1.3DVCC实验计算机的工作条件
一、工作电源
本机采用微型计算机专用高效稳压电源,主要技术指标如下:
1、输入电压:
交流220V±10%,50HZ2、输出电压:
5V±5%,3A
3、输出功率≥15W4、效率≥80%5、电压调整率≤0.2%
6、负载调整率≤0.5%7、纹波系数≤0.5%
8、有短路保护功能和自恢复功能
二、工作环境环境温度—5℃~40℃,无明显潮湿,无明显振动碰撞。
I/O扩展区
扩展数据输出显示
内部总线
高8位运算
CPLD扩展区
低8位运算
总线数据显示
外部总线
运行控制运行方式
数据输入并显示
数据输出显示
程序RAM
总线地址显示
地址寄存器
指令寄存器
微地址控制
微程序
微地址显示
微地址输入
图1.1.1实验机的功能模块布局图
1.4DVCC实验计算机功能模块详述
前面已提到过,本系统为实验者开发调试实验计算机提供了一系列功能模块,这里逐一介绍它们的组成和使用。
图1.1.2DVCC组成原理实验系统
1.4.1运算器模块(8位/16位)
表1.1.174LS181功能表
4位ALU
S3S2S1S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1
无进位
Cn=0
有进位
L L L L
L L L H
L L H L
LLHH
L H L L
L H LH
L H HL
L H HH
H L L L
H L LH
H L HL
H L HH
H H LL
H H LH
H H HL
H H HH
F=A
F=A+B
F=A+/B
F=2的补
F=A加(A*/B)
F=(A+B)加(A*/B)
F=A减B减1
F=(A*/B)减1
F=A加A*B
F=A加B
F=(A+/B)加A*B
F=A*B减1
F=A加A
F=(A+B)加A
F=(A+/B)加A
F=A减1
F=A加1
F=(A+B)加1
F=(A+/B)加1
F=0
F=A加(A*/B)加1
F=(A+B)加(A*/B)加1
F=A减B
F=(A*/B)
F=A加AB加1
F=A加B加1
F=(A+/B)加A*B加1
F=AB
F=A加A加1
F=(A+B)加A加1
F=(A+/B)加A加1
F=A
F=/A
F=/(A+B)
F=/A*B
F=0
F=/(A*B)
F=/B
F=(AB)
F=(A*/B)
F=/A+B
F=/(AB)
F=B
F=AB
F=1
F=A+/B
F=A+B
F=A
运算器模块主要由运算器U31、U32(74LS181)、暂存器U29、U30(74LS273)、输出缓冲器U33(74LS245)以及进位控制和判零标志控制电路等构成。
图1.1.3所示为8位运算器模块电原理图,图1.1.4为16位运算器模块电原理图。
从图中看出,16位运算器电路是8位电路的一倍。
下面以8位机为例说明运算器模块的工作原理:
该模块中算术运算是由2片74LS181(U31、U32)构成,它是运算器的核心。
它可以对两个8位的二进制数进行多种算术或逻辑运算,具体由74LS181的功能控制条件M、CN、S3、S2、S1、S0来决定,详见表1—1。
两个参加运算的数分别来自于暂存器U29和U30,运算结果直接输出到输出缓冲器U33,由输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。
暂存器U29和U30采用8位锁存器74LS273。
输出缓冲器U33采用三态传输器件74LS245,由ALUB`信号来控制,ALUB`为“0”电平时,U33开通,由于U33的方向控制DIR接高电平,因此,U33的数据由A到B,此时其输出B0~B7等于其输入A0~A7;当ALUB`为“1”电平时,U33不通,其输出呈高阻。
图1.1.38位运算器模块电原理图
图1.1.416位运算器模块电原理图
进位控制和判零标志电路如图1.1.5所示,图中的电路集成在大规模可编程器件中(U50)。
299B`为移为寄存器U34的允许输出信号,AR为算术运算时是否影响进位及判零标志控制位,低电平有效。
ZID是ALU结果为零标志信号,由ALU输出的8位数据输入到U50中,经8输入或非门产生。
再看判零电路,ALU在算术运算时,M=0,且移位寄存器不在工作,则299B`=1,影响判零电路的控制位AR=0,因此UN3A输出脚3为“1”电平,当时钟脉冲T4正跳时,UN5A的时钟CLK电平产生正跳,此时,ZID状态被存入触发器74LS74(UN5A),触发器的输出QZI就是ALU结果的零标志位。
QZI为“0”,表示ALU结果不为零,相应的指示灯ZI灭;QZI为“1”,表示ALU结果为零,相应的指示灯ZI点亮。
进位输入信号来自于两个方面:
其一对运算器74LS181(U31、U32)的进位输出/CN+4进行倒相所得CN4(UN4E的输入11脚);其二由移位寄存器74LS299(U34)的选择参数S0、S1、AQ0、AQ7决定所得,移位寄存器74LS299(U34)主要用于带进位左、右移位操作。
当影响判零电路的控制位AR信号为“0”,则UN3A输出脚3为“1”,在时钟脉冲T4正跳时,UN5B的CLK电平产生正跳,此时,CY状态被存入触发器74LS74(UN5B),触发器的输出QCY就是ALU结果的进位标志位。
QCY为“0”,表示ALU结果没有进位,相应的指示灯CY灭;QCY为“1”,表示ALU结果有进位,相应的指示灯CY点亮。
1.4.2移位寄存器模块
移位寄存器采用74LS299(U34),它具有并行接数、逻辑左移、逻辑右移、保持等功能,具体由S0、S1、M、DS0、DS7决定。
T4是它的工作脉冲,正跳变有效。
移位寄存器的主要使用方法见表1.1.2,电路原理图见图1.1.6。
表1.1.274LS299功能表
图1.1.5进位控制和判零标志电路
图1.1.6移位寄存器74LS299原理图
图1.1.7寄存器堆模块
1.4.3存器堆模块
寄存器堆模块的设置如图1.1.7所示,为实验计算机提供了4个8位通用寄存器。
它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。
从图中看出,4个寄存器均采用74LS374(U41~U44),它的输入全部相连后连到系统数据总线上BUSD0~D7,总线上的数据具体写入哪个寄存器由各自的写入脉冲(LDR0K~LDR3K)控制;4个寄存器的输出共用一个排针REGBUS引出,在使用时再连到系统总线上,具体由哪个寄存器读出,由各自的输出允许信号R0B`~R3B`控制。
1.4.4程序计数器PC与地址寄存器模块
一、程序计数器PC(8位)由二片可预置的4位二进制同步计数器74LS161(U38、U39)构成,它具有接数、计数、清零等功能。
程序计数器的输出采用三态传输器件74LS245(U40),如图1.1.8所示。
当控制台总清开关为“0”时(LCLR指示灯灭),清零程序计数器,总清开关平时为“1”电平。
1、停机状态启动时,程序计数器PC的工作情况
PC的接数控制信号为LOAD,接数工作脉冲为CLK161。
当LDPC=1时,且时钟脉冲T4电平正跳时,程序计数器PC的工作脉冲端CLK161的电平便正跳变,它把总线BUSD0~D7上的启动地址值接入程序计数器74LS161的输入,启动地址可为000~0FF中的任意一个值。
此时,当LOAD=0时,74LS161的输出端的数据被预置成输入端的数据,即初始化启动地址。
74LS161的输出经三态传输器件74LS245(U40)控制输出到8芯排针PCBUS,U40由PCB`信号控制,PCB`=0时,初始地址值由U40输出到内部数据总线上。
2、运行时PC的工作情况
(1)当需要取下条指令或取指令的下一个字节时,应控制PC为计数状态,U38是程序计数器的低4位,U39是程序计数器的高4位,低4位产生的进位信号TC接到高4位的进位输入端CET,由于运行状态时,CLR=1,故只要控制LOAD=1,便使PC为计数状态,在LDPC=1,且时钟脉冲T4正跳时,PC的计数脉冲CLK161正跳变,PC便计数加1。
(2)程序运行中遇到跳转指令时,应控制PC为接数状态,即控制LOAD=0,并使LDPC=1,这样当时钟脉冲T4电平正跳时,PC的工作脉冲CLK161电平便正跳变,使PC接收指令寄存器中的转移地址。
对于条件跳转指令,当条件满足时,才使LOAD=0。
二、地址寄存器部分由地址寄存器和地址显示灯构成。
如图1.1.9所示,地址寄存器采用74LS273(U37),它的输入直接连到系统总线BUSD0~D7上,输出直接接到程序存储器6264(U52)的地址输入端AD0~AD7,输出为三态。
当LDAR`=1,且时钟脉冲T3正跳变时,74LS273(U37)的工作脉冲正跳,将总线上的地址值锁存到74LS273中,由于74LS273的输出不受控制,因此地址值直接输出到地址总线AD0~AD7上。
地址显示灯LAD0~LAD7用于显示地址值AD0~AD7,高电平亮,低电平灭。
图1.1.10指令寄存器模块
图1.1.9地址寄存器模块
图1.1.8程序计数器模块
1.4.5指令寄存器模块
指令寄存器模块中指令寄存器74LS273(U36)的输出部分以排针形式引出到IJ1,部分内部已连好,构成实验计算机机时用它作为指令译码电路的输入,实现程序跳转控制,其电路原理如图1.1.10所示。
1.4.6启停和时序电路模块
本模块由三个部分组成:
(1)时钟脉冲源,
(2)单拍脉冲及消抖电路,(3)时序控制电路和系统运行控制开关组。
在时序控制电路接入信号源H23后,根据运行控制开关及运行方式控制开关的状态,按动启动开关,T1~T4将输出有规律的工作脉冲信号,以提供给其它电路使用。
1、时钟信号源
时钟信号源由时基电路555(U46)和可再触发单稳态多谐振荡器74LS123(U47)构成。
555时基电路产生一定频率的方波信号H24;74LS123中一个单稳态电路74LS123(U47)用于延时,产生特定占空比的信号H23,时间T的长短由外接的电阻和电容决定。
如图1.1.11所示,每个单稳态电路都有两个控制端,当B=1且A端电平下跳或者当A=0且B端电平上跳时,其Q端电平由“0”升为“1”,经过一段时间T后,Q端电平又自动恢复为“0”。
调节W1,使H24端输出信号频率为330HZ~580HZ的方波信号,若希望更高的频率,则可更换C9即可;调节W2使H23端输出特定占空比的时钟信号,供实验者选择使用。
2、单拍脉冲及消抖电路
在实验计算机中,配有单拍脉冲产生按钮,如图1.1.12所示,每按一次手动脉冲按钮,在其SD端输出一个正脉冲,在SQ端输出一个负脉冲(本系统中未用),图中与非门为消抖电路。
3、时序控制电路和系统运行开关组
如图1.1.13所示,电路采用一片4D触发器74LS175(U45)组成移位寄存器,当SP端接入时钟信号H23或H24时,在TS1`~TS4`端产生不受控制的间隔时序信号。
运行控制信号和运行方式控制信号分别来自于两个开关,启动信号来自于启动开关,当运行方式信号为“0”(即连续运行方式),且运行控制信号也为“0”(即进入运行状态)时,按下启动开关,此后,运行触发器UN1B的输出端QT一直处于“1”状态,因此,工作时序信号TS1~TS4将周而复始地发送出去,系统将以连续方式运行。
当运行方式信号为“1”(即单步运行方式),且运行控制信号也为“0”(即进入运行状态)时,按下启动开关,运行触发器UN1B的输出端QT处于“1”状态,TS1~TS4产生一个CPU周期的时序信号,此后,由于UN2D的输入端运行方式信号为“1”电平,UN2D的输出11脚为“0”电平,UN4A的输出为“1”电平,由于启动运行信号返回到“1”电平,UN2C的输出为“0”,UN1B的D端为“0”电平,当下一个时钟脉冲到来时,UN1B的输出QT处于“0”状态,TS1~TS4无时序信号输出,系统就停机(即系统运行一步);如果再按一次启动开关,系统再运行一步,系统就这样进行单步运行。
利用单步方式,每次只产生一条微指令,因而可以观察微指令代码和当前的微指令运行的结果。
特注:
当系统连续运行时,如果运行控制信号为“1”(即运行控制开关拨在停机位置),系统就会停止运行。
图1.1.13时序控制电路和系统运行开关组电路
图1.1.11时钟信号源
图1.1.12单拍脉冲产生按钮电路
1.4.7微程序控制器模块电路
微程序控制器模块主要由微程序编程器、核心微控制器两部分组成,如图1.1.14所示。
一、微程序编程器
微程序编程器就是将预先定义好的机器码对应的微代码程序写入到E2ROM2816控制存储器中,并可以对控制存储器中的数据进行校验。
本系统具有本机现场直接编程功能,且由于选用E2ROM2816芯片为控制存储器,因此,具有掉电保护功能。
写入的方式分手动和自动两种。
1、手动方式编程
编程控制开关选择在编程位置,通过六位微地址开关UA0~UA5手工输入微地址,从图中看出,输入的微地址通过锁存器74LS374(U13),在控制信号UA374
(1)和控制脉冲T1的控制下,锁存输出到控存的地址总线A0~A5,微地址值通过发光二极管LUA0~LUA5显示,高电平亮,低电平灭。
再通过MK1~MK24手工输入24位微程序代码,输入微程序代码值通过3片总线驱动器74LS245(U20~U22),在控制信号K245(19)的控制下,输出到控存的数据总线,微程序代码值通过LMD1~LMD24显示,高电平亮,低电平灭。
2、自动方式编程
六位微地址E2A0~E2A5由控制CPU提供,直接输出到控存的地址总线A0~A5,24位微程序代码值由控制CPU的数据总线P0.0~P0.7提供,从图中看出,P0.0~P0.7上挂了3个总线驱动器74LS245(U2~U4),CPU在控制线P3.2、P3.3、P3.5和P3.6控制下,将24位微代码MD1~MD24写入到3个控存中。
微地址值、微程序代码值分别由LUA0~LUA5和LMD1~LMD24显示,高电平亮,低电平灭。
二、核心微控制器
核心微控制器主要完成接收机器指令译码器送来的代码,使系统控制转向相应的机器指令对应的首条微代码程序的入口,然后执行微代码所规定的操作。
也就是对当前的机器指令的功能进行解释和执行的工作。
更具体地讲,就是通过接收CPU指令译码器发来的信号,找到本条机器指令对应的首条微代码程序所在的微地址的入口,再通过由系统时钟引入的时序节拍脉冲的控制,逐条读出微代码,微代码值再经过译码器译码,从而产生各部分电路所需的相应的控制信号,将它们加到数据通路中相应的控制位,完成各自的功能。
即对该条指令的功能进行解释和执行。
一条指令解释和执行完以后,再继续接收下一条微指令对应微地址入口,这样周而复始,即可实现机器指令的顺序、分支、循环运行。
微地址值、微程序代码值分别由LUA0~LUA5和LMD1~LMD24显示。
需要特别指出的是系统在运行微代码的时候,由LUA0~LUA5和LMD1~LMD24显示的分别是下一条指令的微地址值、微程序代码值,高电平亮,低电平灭。
从上面的内容可以看出,有效地定义24位微代码对系统的设计有多重要。
由图1.1.14所示,核心微控制器由微地址发生器、微代码发生器、微程序存储器(控存)和逻辑译码器等部分组成。
1、微地址发生器
如图1.1.15
(1)所示控存的六位微地址E2A0~E2A5由手动发生、自动发生和强制预置三部分电路组成。
手动发生电路由UA0~UA5六个开关和地址锁存器74LS374(U13)构成,如图1.1.15
(2),使用时将UJ1和UJ2相连;自动发生电路由控制CPU直接产生(上面已讲过);强制预置电路由D型触发器74LS74(U14~U16)和三态缓冲器74LS245(U12)构成。
∙T1为74LS374(U13)的接数脉冲
∙UA374
(1)为74LS374(U13)允许输出信号
∙UA245(19)为74LS245(U12)的允许输出信号
2、微代码发生器
24位微代码发生器MD1~MD24由手动发生和自动发生两部分组成。
手动发生电路由24个开关MK1~MK24和3个总线驱动器74LS245(U20~U22)组成,如图1.1.15(3)并结合图1—14所示;自动发生电路由控制CPU直接接收来自于上位机通过串行口发来的数据后,再通过3个总线驱动器74LS245(U2~U4)送到控存的数据输入端D0~D7。
微代码的显示由发光二极管LMD1~LMD24显示,如图1.1.15(4)所示,高电平亮,低电平灭。
∙K245(19)为手动时总线驱动器的控制信号,由编程开关提供,
∙P3.2`、P3.3`、P3.5`、P3.6为自动时总线驱动器的控制信号,由控制CPU提供。
3、微程序存储器(控存)
本系统中微程序存储器(控存)采用3片E2ROM2816(U17~U19)芯片,由于该芯片可以电改写,因此系统具有现场直接编程功能,并且具有掉电保护功能。
E2ROM2816芯片的读写控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 指导书