《计算机组成原理》学生实验报告

《计算机组成原理》

(2011~2012学年第二学期)

专业:信息管理与信息系统班级: A0922

学号:10914030230

姓名:李斌

目录

实验准备------------------------------------------------------------------------3 实验一运算器实验-----------------------------------------------------------7 实验二数据通路实验-------------------------------------------------------13 实验三微控制器实验--------------------------------------------------------18 实验四基本模型机的设计与实现------------------------------------------22

实验准备

一、DVCC实验机系统硬件设备

1、运算器模块

运算器由两片74LS181构成8位字长的ALU。它是运算器的核心。可以实现两个8位的二进制数进行多种算术或逻辑运算,具体由74181的功能控制条件M、CN、S3、S2、S1、S0来决定,见下表。两个参与运算的数分别来自于暂存器U29和U30(采用8位锁存器),运算结果直接输出到输出缓冲器U33(采用74LS245,由ALUB信号控制,ALUB=0,表示U33开通,ALUB=1,表示U33不通,其输出呈高阻),由输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。

进位输入信号来自于两个方面:其一对运算器74LS181的进位输出/CN+4进位倒相所得CN4;其二由移位寄存器74LS299的选择参数S0、S1、AQ0、AQ7决定所得。触发器的输出QCY就是ALU结果的进位标志位。QCY为“0”,表示ALU结果没有进位,相应的指示灯CY灭;QCY为“1”,表示ALU结果有进位,相应的指示灯CY点亮。

2、移位寄存器模块

采用74LS299(U34),它具有并行接数、逻辑右/左移、保持、带进位右/左移位运算等功能,具体由S0,S1,M,DS0,DS7决定。T4是它的工作脉冲,正跳变有效。

3、寄存器堆模块

实验计算机提供了4个8位通用寄存器74LS374(U41~U44),它们用来保存操作数及其中间运算结果。它的输入全部相连后连到系统数据总线上BUSD0~D7,总线上的数据具体写入哪个寄存器由各自的写入脉冲(LDR0K~LDR3K)控制;4个寄存器的输出共用一个排针REGBUS引出,在使用时再连到系统总线上,具体由哪个寄存器读出,由各自的输入允许信号R0B’~R3B’控制。

4、主存储器单元电路

主存储器单元电路主要用来存放实验中的机器指令。它的数据总线挂在扩展数据总线EXD0~EXD7上;它的地址总线由地址寄存器单元电路的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分别有手动和自动两种方式:

手动方式下,写信号由W/R’提供,片选信号由CE提供;

自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1 提供。

(1)输入设备单元

系统中用8个拨动开关作为输入设备,通过总线驱动器74LS245(U51)输出到系统的扩展数据总线EXD0~EXD7上,输入的数据显示在LD0~LD7八个LED上,高电平亮,低电平灭。

(2)输出设备单元

此单元设置两个七段数码管,用于显示需要输出的数据。七段数码管的译码电路由两片GAL16V8(U53、U54)组成。

(3)系统内部数据总线单元

本机设置8芯排针6组BUS1~BUS6,用于连接系统各单元中的数据总线(在实验中需要时再连上),系统数据总线的电平状态由8个LED显示器LZD0~LZD7显示,高电平亮,低电平灭。

(4)系统外部数据总线单元

本机设置8芯排针4组EXJ1~EXJ3和EXA1,用于连接外部扩展的I/O器件的数据总线和地址总线,外部扩展的I/O器件的读写控制信号为WE和OUTW/R,外部扩展的I/O器件的片选信号来自一个译码电路74LS139(U49),它的输入B0、B1接至24位控存的第16、17位(即M16、17),它的输出为Y0~Y3,均为低电平有效。

5、微程序控制器模块电路

(1)微程序编程器

微程序编程器就是将预先定义好的机器码对应的微代码程序写入到EEROM2816控制存储器中,并可以对控制存储器中的数据进行校验。写入方式分手动和自动两种。

A.手动方式编程

编程控制开关选择在编程位置,通过六位微地址开关UA0~UA5手工输入微地址,输入的微地址通过锁存器74LS374(U13),在控制信号UA374和控制脉冲T1的控制下,锁存输出到控存的地址总线A0~A5,微地址值通过发光二极管LUA0~LUA5显示,高电平亮,低电平灭。再通过MK1~MK24手工输入24位微程序代码,输入微程序代码值通过3片总线驱动器74LS245(U20~U22),在控制信号K245的控制下,输出到控存的数据总线,微程序代码值通过LMD1~LMD24显示,高电平亮,低电平灭。

B.自动方式编程

六位微地址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显示,高电平亮,低电平灭。

(2)核心微控制器

核心微控制器主要完成接受机器指令译码器送来的代码,使系统控制转向相应的机器指令对应的首条微代码程序的入口,然后执行微代码所规定的操作。微程序代码值分别由LUA0~LUA5和LMD1~LMD24显示,高电平亮,低电平灭。需要特别指出的是系统在运行微代码的时候,由LUA0~LUA5和LMD1~LMD24显示的分别是下一条指令的微地址值、微程序代码值,高电平亮,低电平灭。

核心微控制器由微地址发生器、微代码发生器、微程序存储器和逻辑译码器等部分组成。

A.微地址发生器

6位微地址E2A0~E2A5由手动发生、自动发生和强制预置三个部分电路组成。手动发生电路由UA0~UA5六个开关和地址锁存器74LS374(U13)构成,使用时将UJ1和UJ2相连;自动发生电路由控制CPU直接发生(上面已经讲过);强制预置电路由D型触发器74LS74(U14~U16)和三态缓冲器74LS345(U12)构成。

B.微代码发生器

24位微代码发生器MD1~MD24由手动发生和自动发生两部分组成。手动发生电路由24个开关MK1~MK24和3个总线驱动器74LS245(U20~U22)组成;自动发生电路由控制CPU直接接收来自于上位机通过串行口发来的数据后,再通过3个总线驱动器74LS245(U2~U4)送到控存的数据输入端D0~D7。微代码的显

示由发光二极管LMD1~LMD24显示,高电平亮,低电平灭。

C.微程序存储器(控存)

本系统中微程序存储器采用3片EEROM2816芯片,由于该芯片可以电改写,因此系统具有现场直接编程功能,并且具有掉电保护功能。

EEROM2816芯片的读写控制信号,在手动方式下由编程开关提供,在自动方式下由控制CPU提供。

EEROM2816芯片的片选信号P3.3、P3.2、P3.5由控制CPU提供。

D.逻辑译码器

主要是根据机器指令及相应的微代码进行译码使得微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,同时对三个工作寄存器R0、R1、R2进行选通译码。

6、系统控制开关单元

本机中设置有8个系统控制开关。

(1)系统总清开关:低电平为系统总清(即将总清开关拨在低电平,再拨到高电平),LCLR为总清开关电平指示,高电平亮,低电平灭。

(2)手动方式时,主存储器工作状态控制开关:SWA和SWC,LSWA,LSWC 为开关SWA和SWC的电平指示灯,高电平亮,低电平灭。工作方式如下图。

(3)手动方式时,运行方式控制开关;本机有两种运行方式:单步和连续。拨到上面时为连续,拨到下面时为单步。

(4)手动方式时,本机运行控制开关,本机有两个状态:停机和运行。要运行程序时,开关拨到上面即运行位置,若在程序运行过程中,将开关拨到下面即停止位置时,就立即停止程序的运行。

(5)微程序编程控制开关:这个开关分三挡,拨到最上面时,写微程序;拨在中间时,读微程序;拨在最下面时,运行微程序。

(6)手动脉冲发生开关:这是一个微动开关,按一次产生一个脉冲,正脉冲引出到J23的SD端,只限于手动方式下使用。

(7)启动运行开关:这也是一个微动开关,在手动方式下,按动一次产生一个启动脉冲,当运行方式开关在单步位置时,按一次启动运行开关,单步运行一条微指令;当运行方式开关在连续位置时,只要按一次启动开关,就自动往下一条一条执行微程序。

(8)部分信号控制开关

部分信号控制开关共有12个,它们的名称分别为ALUB、299B、LDDR1、LDDR2、AR、SWB、LDAR(OUTW/R)、LOAD(LEDB)、CE、WE、PCB、LDPC。各开关的电平由对应的LED指示,高电平亮,低电平灭。指示灯的名称对应为LALUB、L299B、LDDR1、LDDR2、LAR、LSWB、LDAR(OUTW/R)、LOAD(LEDB)、LCE、LWE、LPCB、LDPC。

1、8位算术逻辑运算实验 (1)实验用4个主要模块:

A .低8位运算器模块;74LS181芯片2片 74LS273 芯片2个,分别存放数据A 和B

B .数据输入并显示模块;(KD0~KD7)

C .数据总线显示模块;(LD0~LD7) D

. 功能开关模块(借用微地址输入模块,S0~S3,M ,CN )。 (2) 控制方式:手动控制方式; (3)脉冲信号:T4,将跳线器J23上T4与手动脉冲发生开关的输出端SD 相连,按动手动脉冲开关,即可获得实验所需的单脉冲信号。

(4)控制信号:由跳线拨决定,跳线拨在上面为"1",拨在下面为"0",电平值由对应的显示灯显示。

(5)实验原理图

(6)实验连线

说明:LDDR1、LDDR2、ALUB`、SWB`四个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB给出,T4由手动脉冲开关给出。

AR为算术运算时是否影响进位及判零标志控制位,低电平有效。

ALUBUS连EXJ1 ;

②ALUO1连BUS1 ;

③SJ2连UJ2 ;

④手动引入脉冲信号:跳线器J23上T4连SD;

⑤实验中用到的功能开关LDDR1,LDDR2,ALUB,SWB信号需要手动控制;四个跳线器拨在左边;

⑥AR跳线器拨在左边,同时开关AR拨在“ 1 ”电平。

(7)连接线路,仔细查线无误后,接通电源。

(8)实验步骤

用二进制数码开关KD0—KD7向DR1和DR2寄存器置数。

ALU输出三态门(ALUB`置1 ),目的是关闭输出三态门;

SW输入三态门(SWB置0 ),目的是开启输入三态门;

令LDDR1= 1 ,LDDR2= 0 ,通过KD0-KD7开关输入数据35H,按动手动脉冲发生按钮,将数据35H置入DR1寄存;

令LDDR1= 0 ,LDDR2= 1 ,通过KD0-KD7开关输入数据48H,按动手

动脉冲发生按钮,将数据48H置入DR2寄存。

(2) 检验DR1和DR2中存入的数据是否正确。

具体方法:利用算术逻辑运算功能发生器74LS181的逻辑功能,即M=__1_ 。通过正确的逻辑运算,能够依次读出DR1和DR2的数据。

实现过程为:关闭数据输入三态门SWB`= 1 ,打开ALU输出三态门ALUB`=0 ,当置S3、S2、S1、S0、M为11111_时,总线指示灯显示DR1 中的数,而置成10101 时,总线指示灯显示DR2中的数。

(3)验证74LS181的算术运算和逻辑运算功能(采用正逻辑)。

实现过程:在运算器中完成运算后,调整S3、S2、S1、S0的的设置,观察运算器的输出的不同结果。把实验结果填入表1-1中,并和理论分析进行比较、验证。

表1-1 运算结果

(4)分析:

实验结果和手工算法的结果一致,因此,可验证芯片功能。在实验中,我们通过单拍控制方式,每个操作都伴随一个脉冲,从而,可验证课堂上所讲的运算器原理和微指令控制方式下的操作。

2、16位算术逻辑运算实验

(1)实验用______个主要模块:

(2)控制方式:手动控制方式;

(3)脉冲信号:T4,将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲信号。

(4)控制信号:由跳线拨决定,跳线拨在上面为"1",拨在下面为"0",电平值由对应的显示灯显示。

(5)实验原理图

(6)实验连线

一共10步。

提示:❒跳线器J19、J25拨在左边(16位ALU状态);

♦高8位运算器区跳线器ZI2、CN0、CN4连上短路套。

(7)连接线路,仔细查线无误后,接通电源。

(8)实验步骤。

说明:LDDR1、LDDR2、ALUB’、SWB’、LDDR3、LDDR4六个信号电平由开关LDDR1、LDDR2、ALUB、SWB、LDDR3、LDDR4给出,拨在上面为“1”,拨在下面为“0”,电平值对应显示灯显示;T4由手动脉冲开关给出。(9)进一步验证74LS181算术运算和逻辑运算功能(采用正逻辑)。

●开关ALUB=0,关闭输入三态门;

●开关SWB=1,打开输出三态门;

●LDDR1~LDDR4四个开关全拨在“0”电平;

●根据下表3-2,置功能开关S3、S2、S1、S0、M、CN,以验证74LS181

的算术运算和逻辑运算功能。

注意:本实验做完后,拔掉连线ALUBUS’和ALU01’,去掉短路套ZI2、CN0、CN4。

三、实验任务

1、实验报告:

根据已给出的8位运算器的实验过程补充完成8位运算的实验结果。

自行设计完成16位运算器的实验。并按照格式,填写16位运算器实验的完整过程。

2、实验分析

3、实验心得

(一)存储器实验

1、实验准备

主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线EXD0~EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由8位数据开关KD0~KD7提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到内部数据总线BUSD0~BUSD7,分时给出地址和数据。它的读信号直接接地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分手动和自动两种方式。手动方式下,写信号由W/R`提供,片选信号由CE`提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。

由于地址寄存器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际使用容量为256字节。6264有四个控制线:/CS1第一片选线、CS2第二片选线、/OE读线、/WE写线。其功能如表3-4所示。/CS1片选线由CE`控制(对应开关CE)、/OE读线直接接地、/WE写线由W/R`控制(对应开关WE)、CS2直接接+5V。

图中信号线LDAR由开关LDAR提供,手动方式实验时,跳线器LDAR拨在左边,脉冲信号T3由实验机上时序电路模块TS3提供,实验时只需将J22跳线器连上即可,T3的脉冲宽度可调。

2、实验连线及步骤

(1)根据实验原理详细接线如下:①MBUS连;②EXJ1连;③跳线器J22上T3连;④跳线器J16的SP连;⑤跳线器SWB、

CE、WE、LDAR拨在 (左/右)边(手动方式);

(2)连接线路,仔细查线无误后,接通电源。

(3)形成时钟脉冲信号T3,方法如下:在时序电路模块中有两个二进制开关"运行控制"和"运行方式"。将"运行控制"开关置为" "状态、"运行方式"开关置为" "状态时,按动" "开关,则T3有连续的方波信号输出,此时调节电位器,用示波器观察,使T3输出实验要求的脉冲信号;本实验中"运行方式"开关置为" "状态,每按动一次" "开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。

(4)向存储器中写入数据,具体操作步骤分两步完成:

注意:向存储器的地址单元中写入数据时,一定要先送地址,再送数据。

①先通过输入开关向AR中置入存储单元的地址。

将存储器地址送入AR:置KD0-KD7为00000001,置SWB= ,CE= ,打开输入三态门,然后置LDAR= ,按动开关,则T3输出一个正单脉冲,将数据置入AR。

②再向RAM的存储单元中置入数据。

置KD0-KD7为00010000,置SWB= ,LDAR= ,打开输入三态门,然后置CE= ,WE= ,使存储器写有效,按动开关,则T3输出一个正单脉冲,将数据置入存储器RAM。

按上述方法,将表2-1中对应地址单元写入数据:

(5)读出写入地址单元的内容,观察内容是否与写入的一致。具体操作步骤如下:

①将存储器地址送入AR:置KD0-KD7为00000001,置SWB= ,CE= ,打开输入三态门,然后置LDAR= ,打开AR输入控制开关,按动开关,则T3输出一个正单脉冲,将数据置入AR。

②置SWB= ,CE= ,关闭输入三态门,置LDAR= ,关闭AR 输入控制开关,置WE= ,使存储器读有效。则通过LZD0-LZD7可观察读出结果。

按上述方法,将已经存入RAM地址单元的数据读出,并填写表2-2:

(二)数据通路实验

1、实验准备

在实验一中,运算器的输入数据由8位数据开关KD0-KD7提供。数据通路实验中要求运算器的输入数据由存储器来提供。

要完成本实验,首先做实验(一),将存储器中置入数据,然后进行存储器读操作,并将读出的数据打入数据寄存器DR1或DR2,再完成8位算术逻辑运算、带进位的8位算术逻辑运算以及移位运算器实验。

2、实验连线及步骤

(1)根据实验原理详细接线如下:①MBUS连;②EXJ1连;③ALUBUS连;④ALUO1连;⑤ALU02连;⑥SJ2连;跳线器J22上T3连;跳线器J16的SP连;跳线器J23上T4连;跳线器SWB、CE、WE、LDAR拨在 (左/右)边(手动方式);LDDR1、LDDR2、ALUB、SWB、AR、299B六个跳线器拨在(左/右)边(手动方式);J25跳线器拨在右边;系统总清开关拨在" "(0/1)电平。

(2)仔细查线无误后,接通电源。

初始值设置如下:SWB= ,关数据输入三态门;ALUB= ,关运算器输出三态门;AR= ,使电平控制信号无效;299B= ,使移位寄存器使能端无效;CE= ,使存储器片选信号无效;LDAR= ,使地址寄存器使能端无效;LDDR1= ,LDDR2= ,使两个数据寄存器使能端无效。(3)同实验(一),将表2-1中一组数据送入存储器对应存储单元。

(4)读出存储器中的数据。具体操作步骤如下:

①将存储器地址送入AR:置KD0-KD7为00000010,置SWB= ,CE= ,打开输入三态门,然后置LDAR= ,打开AR输入控制开关,按动开关,则T3输出一个正单脉冲,将数据置入AR。

②置SWB= ,CE= ,关闭输入三态门,置LDAR= ,关闭AR输入控制开关,置WE= ,使存储器读有效。则通过LZD0-LZD7可观察读出结果。(5)将读出的数据分别送到DR1和DR2寄存器。置LDDR1= ,打开DR1输入控制开关,按动开关,将数据置入DR1寄存器。

用同样的方法,将00010000单元的内容送入DR2寄存器。

(6)检验DR1和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器74LS181的逻辑功能,即M= 1 。具体操作为:关闭数据输入三态门SWB`=,打开ALU输出三态门ALUB`=,当置S3、S2、S1、S0、M为时,总线指示灯显示中的数,而置成时总线指示灯显示中的数。(7)以存储器中数据作为运算器数据来源,验证74LS181的算术运算和逻辑运算功能(采用正逻辑)。

改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入表2-3

中,并和理论分析进行比较、验证。

(8)以存储器中数据作为运算器数据来源,验证移位运算器功能

①重复第(3)步,将存储器01H单元的内容从存储器读出。

②将读出的数据送到移位寄存器。

置ALUB= ,关闭运算器输出,置299B= ,打开移位寄存器控制开关。置S0=,S1= ,按动开关,将数据置入移位寄存器。

③移位,参照表1-2改变S0、S1、M、299B的状态,拨动手动脉冲开关以产生时钟脉冲T4,将移位结果填入表2-6,并和理论分析进行比较、验证。

1、实验准备

实验所用的时序电路可产生4个等间隔的时序信号TS1~TS4,其中SP为时钟信号,由实验机上时钟源提供,可产生频率及脉宽可调的方波信号。可根据实验要求自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器设计了一个启停控制触发器UN1B,使TS1~TS4信号输出可控。"运行方式"、"运行控制"、"启动运行"三个信号分别是来自实验机上三个开关。当"运行控制"开关置为"运行","运行方式"开关置为"连续"时,一旦按下"启动运行"开关,时序信号TS1~TS4将周而复始地发送出去;当"运行控制"开关置为"运行","运行方式"开关置为"单步"时,一旦按下"启动运行"开关,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只运行一条微指令,停机后可以观察微指令的代码和当前微指令的执行结果。另外,当实验机连续运行时,如果"运行方式"开关置"单步"位置,也会使实验机停机。

2、微程序控制电路与指令格式

(1)微程序控制电路

微程序控制器主要由控制存储器、微命令寄存器和微地址寄存器组成,其中控制存储器采用3片E2PROM2816芯片,具有掉电保护功能,微命令寄存器18位,用两片8D触发器74LS273(U23、U24)和一片4D触发器74LS175(U27)组成。微地址寄存器6位,用三片正沿触发的双D触发器74LS74(U14~U16)

组成,它们带有清"0"端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为"1"状态,完成地址修改。

在该实验电路中设有一个编程开关,它具有三种状态:写入、读出、运行。当处于"写"状态时,根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于"读"时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于"运行"状态时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。微地址寄存器输出端增加了一组三态门(U12),目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。

(2)微指令格式

微指令长共24位,其控制位顺序如表3-1所示:

组译码控制电路译码产生各控制信号。C字段中的P(1)~P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。I7~I2为指令寄存器的第7~2位输出,SE5~SE1为微控器单元微地址锁存器的强置端输出。AR为算术运算是否影响进位及判零标志控制位,低电平有效。B字段中的RSB、RDB、RIB分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码,I0-I4为指令寄存器的第0~4位,LDRI为打入工作寄存器信号的译码器使能控制位。

3、实验步骤

(1)根据机器指令画出对应的微程序流程图,如图3-1所示:

图3-1 微程序流程图

(2)根据微程序流程图设计微指令,并按微指令格式转换成二进制代码。将设计的微指令代码填入表3-3:

(3)实验接线

①跳线器J20、J21连上短路片;

②跳线器J16上SP连H23;

③UJ1连UJ2。

(4)仔细查线无误后接通电源

(5)观测时序信号

用双踪示波器(或用PC示波器功能)观察方波信号源的输出。方法如下:将"运行控制"开关置为"运行"、"运行方式"开关置为"连续"。按动"启动运行"开关,从示波器上可观察到TS1(J20)、TS2(J21)、TS3(J22)、TS4(J23)各点的波形。

(6)进一步了解微程序控制器的工作原理

①写微程序

A. "编程开关"置为" "状态。

B. "运行控制"开关置为" ","运行方式"开关置为" "状态。

C. 用二进制模拟开关UA0~UA5置6位微地址,UA0~UA5的电平由LK0~LK5显示,高电平亮,低电平灭。

D. 用二进制模拟开关MK1~MK24置24位微代码,24位微代码由LMD1~LMD24显示灯显示,高电平亮,低电平灭。

E. 按动" "开关,启动时序电路,即可将微代码写入到E2PROM 2816的相应地址单元中。

F. 重复C-E步骤,将表3-3的微代码全部写入E2PROM2816中。

②读微程序

A. 将"编程开关"设置为" "状态。

B. "运行控制"开关置为" ","运行方式"开关置为" "状态。

C. 用二进制模拟开关UA0~UA5置6位微地址。

D. 按动" "开关,启动时序电路,读出微代码,观察显示灯LMD1~LMD24的状态,检查读出的微代码是否与写入的相同,如果不同,则将"编程开关"置为" "状态。重新执行①即可。

③单步运行

A. "编程开关"置于" "状态。

B. "运行控制"开关置为" ","运行方式"开关置为" "状态。

C. 系统总清,即"总清"开关拨0→1。使微地址寄存器U14~U16清零,从而明确本机的运行入口微地址为000000(二进制)。

D. 按动" "开关,启动时序电路,则每按动一次,读出一条微指令后停机,此时实验机上的微地址显示灯和微程序显示灯将显示所读出的一条指令。

注意:在当前条件下,可将6芯排座"JSE1"和"UJ2"相连,可通过强置端SE1~SE6人为设置微地址,从而改变下一条微指令的地址。设置方法如下:先将微地址开关置"1",再将UJ1上的排线换插到"JSE1",然后将某个或几个二进制开关置为"0",相应的微地址位即被强置为"1",从而改变下一条微指令的地址。

④连续运行

A. 将"编程开关"置为" "状态。

B. "运行控制"开关置为" "状态,"运行方式"开关置为" "状态。

C. 系统总清,即"总清"开关拨0→1。使微地址寄存器U14~U16清零,从而明确本机的运行入口微地址为000000(二进制)。

D. 按动" "开关,启动时序电路,则可连续读出微指令。

1、实验准备

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,实验计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

(1)有关微控制器部分在前一实验中已详细介绍。

(2)主存储器的读、写和运行

为了向主存储器RAM中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。

存储器读操作:拨动总清开关后,置控制开关SWC、SWA为"0 0"时,按要求连线后,连续按"启动运行"开关,可对主存储器RAM连续手动读操作。

存储器写操作:拨动总清开关后,置控制开关SWC、SWA为"0 1"时,按要求连线后,再按"启动运行"开关,可对主存储器RAM进行连续手动写入。

运行程序:拨动总清开关后,置控制开关SWC、SWA为"1 1"时,按要求连线后,再按"启动运行"开关,即可转入到第01号"取址"微指令,启动程序运行。

上述三条控制指令用两个开关SWC、SWA的状态来设置,其定义如下表所

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告 一、实验目的 本次实验的目的是通过实际操作,了解存储器的组成和工作原理,掌握存储器的读写操作。 二、实验原理 存储器是计算机中的重要组成部分,用于存储程序和数据。存储器按照存储介质的不同可以分为内存和外存,按照存储方式的不同可以分为随机存储器(RAM)和只读存储器(ROM)等。 本次实验使用的是随机存储器,随机存储器是一种易失性存储器,数据在断电后会丢失。随机存储器按照存储单元的位数可以分为8位、16位、32位等,按照存储单元的数量可以分为256×8、512×16、1024×32等。 随机存储器的读写操作是通过地址线和数据线来实现的。读操作时,CPU将要读取的地址通过地址线发送给存储器,存储器将该地址对应的数据通过数据线返回给CPU。写操作时,CPU将要写入的数据通过数据线发送给存储器,存储器将该数据写入到对应的地址中。 三、实验器材 1. 存储器芯片:AT24C02

2. 单片机:STC89C52 3. 电源、示波器、万用表等 四、实验步骤 1. 连接电路 将AT24C02存储器芯片和STC89C52单片机按照电路图连接好,连接好电源和示波器等设备。 2. 编写程序 编写程序,实现对AT24C02存储器的读写操作。程序中需要设置存储器的地址和数据,以及读写操作的指令。 3. 烧录程序 将编写好的程序通过编程器烧录到STC89C52单片机中。 4. 运行程序 将电源接通,运行程序,观察示波器上的信号波形,检查读写操作是否正确。 五、实验结果

经过实验,我们成功地实现了对AT24C02存储器的读写操作。通过示波器观察到了地址线和数据线的信号波形,证明了程序的正确性。 六、实验总结 通过本次实验,我们深入了解了存储器的组成和工作原理,掌握了存储器的读写操作。同时,我们也学会了如何编写程序并将程序烧录到单片机中。这些知识对于我们深入学习计算机组成原理和嵌入式系统开发都具有重要的意义。

计算机组成原理 实验报告

计算机组成原理实验报告

实验一基本运算器实验 一、实验目的 1.了解运算器的组成结构 2.掌握运算器的工作原理 3.深刻理解运算器的控制信号 二、实验设备 PC机一台、TD-CMA实验系统一套 三、实验原理 1.(思考题)运算器的组成包括算数逻辑运算单元ALU(Arithmetic and Logic Unit)、浮点运算单元FPU(Floating Point Unit)、通用寄存器组、专用寄存器组。 ①算术逻辑运算单元ALU(Arithmetic and Logic Unit) ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。 通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(Integer Execution Unit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。 ②浮点运算单元FPU(Floating Point Unit) FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。 ③通用寄存器组 通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。 ④专用寄存器 专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。 而运算器内部有三个独立运算部件,分别为算术、逻辑和移位运算部件,逻辑运算部件由逻辑门构成,而后面又有专门的算术运算部件设计实验。 下图为运算器内部原理构造图

2.运算器的控制信号 实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR 按钮。T4由时序单元的TS4提供(脉冲信号),其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。 下图为ALU和外围电路的连接。图中的小方框代表排针座。

计算机组成原理实验报告

计算机科学与技术-计104 计 算 机 组 成 原 理 实验报告 姓名: 学号: 班级: 指导老师:郑啸

计算机科学与技术-计104 一、实验名称:寄存器实验 1.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做 为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 2.实验器材:DJ-CPTH计算机组成原理实验系统 3. 实验目的:(1)理解自然语言形式命令的人工译码过程。 (2)学习系统部件和数据总线间传送数据的操作。 (3)了解模型机中各种寄存器结构、工作原理及其控制方法。 4.实验步骤: 1)将55H写入A寄存器 ①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H 置控制信号为: ③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。 2)将66H写入W寄存器 ①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H 置控制信号为: ③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生

计算机科学与技术-计104 一个上升沿,数据66H 被写入W 寄存器。 3)将11H写入R0寄存器 ①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据11H 置控制信号为: ③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据11H 被写入R0 寄存器。 4)将22H写入R1寄存器 ①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据22H 置控制信号为: ③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据22H被写入R1 寄存器。 5)将33H写入R2寄存器 ①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33H 置控制信号为: ③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入R2 寄存器。

计算机组成原理实验报告

实验一:脱机运算器实验 实验目的:了解AM2901运算器的功能与用法,2片AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等知识。 实验仪器:TEC-2000实验仪 实验原理:脱机运算器实验,是让运算器从教学计算机整机中脱离出来,此时它的全部控制与操作均需通过两个12位的微型开关来完成,这就不能执行指令,只能通过开头、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 实验内容:1、将教学机左下方的5个拨动开关置为1XX10(单步、8位、脱机);先按RESET 按键,再按START按键,进行初始化。 2、按下表所列操作在8位机上进行运算器脱机实验,结果如表所示。其中D1取为01H,D2取为10H;通过两个12位的红色微型开关向运算器提供控制倍,通过8位数据开关向运算器提供数据(高8位的数据开 结果分析:由结果可知,只要按AM2901芯片功能给出其相应的控制信号,即可完成相应的功能。另AM2901操作周期如下: A、B口数据锁存通用寄存器接收 即在下降沿时,A、B口数据锁存器锁存数据,在低电平时通用寄存器接收数据,因此在压START前,ALU输出为结果,压START后,产生高电平到低电平的变化,此时ALU输出的结果存入通用寄存器中,而ALU则输出操作再次被执行的结果,但该结果没有存入通用寄存器中,则下次操作时使用的寄存器值为存入值(表中表现为压START前值)。 实验结论:通过此项实验使我们了解了AM2901运算器的功能与用法,熟悉了2片AM2901的级连方式,以及深化运算器部件的组成、设计、控制与使用等知识,让我们加深了对AM2901运算器各项特性的认知程度。 实验二:控制器部件教学实验 实验目的:通过教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程后,设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。达到以下目的:

计算机组成原理实验报告

实验一:数字逻辑——交通灯系统设计子实验1: 7 段数码管驱动电路设计 (1)理解利用真值表的方式设计电路的原理; (2)利用Logisim 真值表自动生成电路的功能,设计一个 7 段数码管显示驱动。 二、实验方案设计 7 段数码管显示驱动的设计方案: (1)输入:4 位二进制 (2)输出:7 段数码管 7 个输出控制信号 (3)电路引脚: (4)实现功能:利用 7 段数码管显示 4 位二进制的 16 进制值 (5)设计方法: 由于该实验若直接进行硬件设计会比较复杂,而7 段数码管显示的真值表较容易掌握,所以我们选择由真值表自动生成电路的方法完成该实验。 先分析设计 7 段数码管显示驱动的真值表,再利用Logisim 中的“分析组合逻辑电路”功能,将真值表填入,自动生成电路。 (6)真值表的设计: 由于是 4输入 7输出,真值表共有 16 行。7输出对应 7个引脚,所以需要依次对照LED 灯的引脚顺序进行设计,如下图所示(注意LED 的引脚顺序): 三、实验步骤 (1)在实验平台下载实验框架文件RGLED.circ; (2)在Logisim 中打开RGLED.circ 文件,选择数码管驱动子电路;

(3)点击“工程”中的“分析组合逻辑电路”功能,先构建4输入和7输出,再在“真值表”中,将已设计好的真值表的所有数值仔细对照着填入表格中,确认无误后点击“生成电路”,自动生成的电路如下图所示: (4)将子电路封装为如下形式:

(5)进行电路测试: ·自动测试 在数码管驱动测试子电路中进行测试; ·平台评测 自动测试结果满足实验要求后,再利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。 四、实验结果测试与分析 (1)自动测试的部分结果如下: (2)平台测试结果如下: 综上,本实验测试结果为通过,无故障显示。 本实验的关键点在于:在设计时需要格外注重LED 灯的引脚顺序,保证0-9 数字显示的正确性,设计出正确的真值表。

计算机组成原理实验报告

1. 寄存器 五、实验总结 按照实验要求进行连接和操作,对通用寄存器组进行了数据的写入和读出,两组数据完全对照,得到了预期效果,说明了存入数据的正确性,在整个过程中也对寄存器组的构成和硬件电路有了更深层次的理解。 2. 运算器 五、实验总结 基本熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。最重要的是通过实验掌握了运算器工作原理,熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响,对时序是如何起作用的没太弄清楚,相信随着后续实验的进行一定会搞清楚的 3. 存储器 五、实验总结 按照实验要求连接器材设备元件,按照给定步骤进行实验操作。通过向静态RAM中写入数据并读出数据,在INPUT单元输入数并存入地址寄存器,再向相应的地址单元存入数,验证读出数据时,只需再INPUT单元输入想要读出单元的地址,再通过片选端CE读出存储单元的数据,其中We=0是控制写端,WE=1控制读,CE低电平有效。实验过程遇到一些问题,对实验容不是很熟,有待提高。

4. CPU与简单模型机设计实验 一、实验目的 (1) 掌握一个简单CPU的组成原理。 (2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 (3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。 二、实验设备 PC机一台,TD-CMA实验系统一套。 三、实验原理 本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1 所示。这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。 除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD 芯片中。CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T3 相与后作为计数器的计数时钟,当LOAD 为低时,计数时钟到来后将CPU总线上的数据打入PC。

计算机组成原理的实验报告

计算机组成原理的实验报告计算机组成原理的实验报告 程序控制器实验 一、实验目的: (1) 理解时序产生器的原理,了解时钟和时序信号的波形。 (2) 掌握微程序控制器的功能、组成知识。 (3) 掌握微指令格式和各字段功能。 (4) 掌握微指令的编制、写入、观察微程序的运行 二、实验设备 PC机一台,TD―CM3+实验系统一套。 三、实验内容及要求: (一)实验原理: 微程序控制电路与微指令格式 (A) 微程序控制电路 微程序控制器的组成见图10,其中控制存储器采用3片2816的EPROM,具有掉电保 2 护功能,微命令寄存器18位,用两片8D触发器(74273)和一片4D(74175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(7474)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。 在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:PROM (编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,实验者可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。 微程序控制器原理图图10

计算机组成原理实验报告_32位ALU设计实验

实验三32位ALU设计实验 一、实验目的 学生理解算术逻辑运算单元(ALU)的基本构成,掌握Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的32位加法器、Logisim 中的运算组件构造指定规格的ALU 单元。 二、实验原理、内容与步骤 实验原理、实验内容参考: 1、32位加法功能的原理与设计 1)设计原理 1,被加数A(32位), 2,被加数B(32位), 3,前一位的进位CIN(1位), 4,此位二数相加的和S(32位), 5,此位二数相加产生的进位COUT(1位)。 要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的CIN都是 由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算; 第3位必须在第2位计算出结果后,才能开始计算,等等。而最后的第32位必须 在前31位全部计算出结果后,才能开始计算。这样的方法,使得实现32位的二进 制加法所需的时间是实现1位的二进制加法的时间的32倍。 2)电路设计 32位加法功能 2、32位减法功能的原理与实现 1)变减法为加法的原理 1.在Y引脚处使用求补器(32位),即可变减法为加法 2.用构造好的32位加法器。Y各位取反,C0取1,即可达到减法变加法。无符号 数的减法溢出,带加减功能的ALU的进位取反后表示,有符号数的减法溢出,仍 然用最高位和符号位是否相等来判断 2)电路设计

32位减法功能 3、加减溢出检测的设计(不考虑乘除法) 1)有符号数溢出的设计 有符号数溢出的设计2)无符号数溢出的设计

计算机组成原理课程设计实验报告

计算机构成原理课程设计试验汇报 试验一 一、试验名称 验证74LS181运算和逻辑功能。 二、试验目旳 (1)掌握算术逻辑单元(ALU)旳工作原理; (2)熟悉简朴运算器旳数据传送通路; (3)画出逻辑电路图及布出美观整洁旳接线图; (4)验证4位运算功能发生器(74LS181)组合功能。 三、试验原理 ALU(算术逻辑单元)能进行多种算术运算和逻辑运算。一种4位旳ALU—74LS181运算功能发生器能进行16种算术运算和逻辑运算。功能表如下:

(上表中旳“/”表达求反)ALU—74LS181引脚阐明:M=1逻辑运算,M=0算术运算 四、试验内容 1、首先看懂74LS181各个引脚旳功能;

U1 74LS181N ~A02~B01M 8 CN 7S06~A123~B122~A221~B220~A319~B318S15S33S24~G 17 ~P 15CN416AEQB 14~F110~F313~F211~F09 8个数据输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、 ~B3,其中八个输入端中A3和B3是高位)。四个控制端S0、S1、S2、S3,这四个控制端重要控制两个四位输入数据旳运算,例如加、减、与、或。CN 端处理进入芯片前进位值,M 控制芯片进行算术运算还是逻辑运算。F0、F1、F2、F3是四个二进制输出端。 2、 画出4位ALU 验证示意图;

D C D _H E X _B L U E 3、 对试验数据进行验证:

验证74LS181型4位ALU旳逻辑算术功能,填写下表: 五、总结及心得体会 本次试验通过一种简朴运算器旳形式,让我掌握电路设计和分析旳措施和能力;清晰旳明白了74LS181芯片各个引脚旳功能,懂得怎样通过控制开关来进行多种运算。 这个试验也为我接下来进行试验二打下了坚实旳基础。不至于在纷繁旳电路图中迷失方向,只有弄明白个个芯片旳功能及怎样控制,才会得出对旳旳成果。

计算机组成原理实验报告

计算机组成原理实验报告 实验一静态随机存取存贮器实验 一.实验目的 介绍静态随机存取存贮器的工作原理;掌控读取存贮器的方法。 二.实验内容 实验仪的存贮器mem单元采用一片静态存贮器6116(2k×8bit)存放程序和数据。 ce:片选信号线,低电平有效,实验仪已将该管脚接地。oe:读信号线,低电平有效。we:写信号线,低电平有效。a0..a10:地址信号线。i/o0..i/o7:数据信号线。 ceoewe功能1××不选上6116001读010写下000不确认sram6116功能表 存贮器挂在cpu的总线上,cpu通过读写控制逻辑,控制mem的读写。实验中的读写 控制逻辑如下图: 读取掌控逻辑 m_ni/o用来选择对mem还是i/o读写,m_ni/o=1,选择存贮器mem;m_ni/o=0,选择 i/o设备。nrd=0为读操作;nwr=0为写操作。对mem、i/o的写脉冲宽度与t2一致;读脉冲宽度与t2+t3一致,t2、t3由con单元提供。 存贮器实验原理图 存贮器数据信号线与数据总线dbus相连;地址信号线与地址总线abus相连,6116的高三位地址a10..a8接地,所以其实际容量为256字节。 数据总线dbus、地址总线abus、掌控总线cbus与拓展区单元相连,拓展区单元的数 码管、发光二极管上表明对应的数据。 in单元通过一片74hc245(三态门),连接到内部数据总线idbus上,分时提供地址、 数据。mar由锁存器(74hc574,锁存写入的地址数据)、三态门(74hc245、控制锁存器 中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。 t2、t3由con单元提供更多,按一次con单元的ustep键,时序单元收到t1信号; 按一次ustep键,时序单元收到t2信号;按一次ustep键,时序单元收到t3信号;再按 一次ustep键,时序单元又收到t1信号,……

计算机组成原理运算器实验报告(一)

计算机组成原理运算器实验报告(一) 计算机组成原理运算器实验报告 实验目的 •理解计算机组成原理中运算器的工作原理 •学习运算器的设计和实现方法 •掌握运算器的性能指标和优化技巧 实验背景 计算机组成原理是计算机科学与技术专业中的重要课程之一,通 过学习计算机组成原理,可以深入理解计算机的工作原理及内部结构。运算器是计算机的核心组成部分之一,负责执行各种算术和逻辑运算。在本次实验中,我们将通过实践的方式,深入了解并实现一个简单的 运算器。 实验步骤 1.确定运算器的功能需求 –确定需要支持的算术运算和逻辑运算 –设计运算器的输入和输出接口 2.实现运算器的逻辑电路

–根据功能需求,设计并实现运算器的逻辑电路 –确保逻辑电路的正确性和稳定性 3.验证运算器的功能和性能 –编写测试用例,对运算器的功能进行验证 –测量运算器的性能指标,如运算速度和功耗 4.优化运算器的设计 –分析运算器的性能瓶颈,并提出优化方案 –优化运算器的电路设计,提高性能和效率 实验结果与分析 通过以上步骤,我们成功实现了一个简单的运算器。经过测试,运算器能够正确执行各种算术和逻辑运算,并且在性能指标方面表现良好。经过优化后,运算器的速度提高了20%,功耗降低了10%。 实验总结 通过本次实验,我们深入了解了计算机组成原理中运算器的工作原理和设计方法。通过实践,我们不仅掌握了运算器的实现技巧,还学会了优化运算器设计的方法。这对于进一步加深对计算机原理的理解以及提高计算机系统性能具有重要意义。 参考文献 •[1] 《计算机组成原理》

•[2] 张宇. 计算机组成原理[M]. 清华大学出版社, 2014. 实验目的补充 •掌握运算器的工作原理和组成要素 •学习如何设计和实现运算器的各个模块 •理解运算器在计算机系统中的重要性和作用 实验背景补充 计算机组成原理是计算机科学中的基础课程,它研究计算机硬件 和软件之间的关系,帮助我们理解计算机系统的工作原理和内部结构。运算器是计算机的核心部件之一,负责执行各种算术和逻辑运算,对 计算机的性能和功能起着重要作用。 实验步骤补充 1.确定运算器的功能需求 –确定需要支持的算术运算,如加法、减法、乘法、除法等 –确定需要支持的逻辑运算,如与、或、非、异或等 –设计运算器的输入和输出接口,如数据输入和结果输出的方式 2.实现运算器的逻辑电路 –根据功能需求,设计并实现运算器的逻辑电路

计算机组成原理实验报告

计算机组成原理实验报告 引言 计算机组成原理是计算机科学与技术的基础课程之一,通过实验可以更好地理解和掌握计算机的组成和工作原理。本文将结合实验的过程和结果,详细论述计算机组成原理的一些关键概念和实际应用。 一、实验目的 本次实验的目的是通过搭建一个简单的计算机系统,深入了解计算机的各个组成模块,如中央处理器(CPU)、存储器、输入输出设备等,并验证计算机的基本工作原理。 二、实验内容 本次实验分为两个部分,第一部分是计算机系统的搭建,包括CPU的设计与实现、存储器的设计与实现等;第二部分是对已搭建的系统进行功能测试,包括寄存器的读写、指令的执行等。 1. CPU的设计与实现

CPU是计算机的核心处理单元,它负责执行各种指令,并控制 计算机的运行状态。在本次实验中,我们采用了冯·诺依曼结构的 单周期CPU设计,包括指令寄存器、算术逻辑单元、控制单元等 组成部分。通过在实验中的操作和执行,我们深入理解了指令的 编码方式、运算的过程等。 2. 存储器的设计与实现 存储器是计算机系统中的主要组成部分,用于存放指令和数据。在本次实验中,我们设计了一个简单的存储器,采用了随机存取 存储器(RAM)的结构。通过实验中的存储器读写操作,我们了 解了存储器的寻址方式、数据的存取过程等。 三、实验结果与分析 经过实验的搭建和测试,我们成功完成了计算机系统的建设, 并验证了其基本功能。在测试过程中,我们发现了一些问题和改 进之处,例如CPU的时钟频率过低导致指令执行速度较慢,存储 器的容量不足等。通过对这些问题的研究和分析,我们能够进一 步优化和改进计算机系统的性能。 四、实验心得体会

计算机组成原理实验报告

实验一8位程序计数器PC[7:0]的设计 实验要求: 1.分别用图形方式和Verilog HDL语言设计8位程序计数器,计数器带有复位,计数,转移功能。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用图形方式设计实现8位程序计数器,用到了两个74LS161四位十六进制计数器,主要步骤是两个四位十六进制计数器的串联,低四位计数器的进位端RCO连到高四位计数器的进位使能端ENT,然后连上reset、clk、ir[7:0]、t[1:0]、pc[7:0]、rco等输入输出信号,最后加上转移控制逻辑即可。注意两个十六进制计数器是同步的,具体参见PC_8bit.gdf文件。 2.编译通过,建立波形仿真文件,设置输入信号参数。注意在一张图中同时实现复位(reset低位有效)、计数、转移功能,最后加上一些文字注释即可,具体参见PC_8bit.scf文件。 3.用Verilog HDL语言设计实现8位程序计数器。在已经实现.gdf文件的基础上使用库函数形式是很容易编写出.v文件的,不过学生选择了行为描述方式实现,因为后者更具有通用性,依次实现8位程序计数器的复位、计数、转移功能即可,具体参见PC_8bit.v文件。 4.编译仿真类似上述步骤2。 实验小结: 1.这是计算机组成原理的第一个实验,比较简单,按照实验要求即可完成实验。通果这次实验,我对Max+Plus软件的使用方法和Verilog HDL语言编程复习了一遍,为后面的实验打好基础。 实验二CPU运行时序逻辑的设计 实验要求: 1.用Verilog HDL 语言设计三周期时序逻辑电路,要求带复位功能,t[2:0]在非法错误状态下能自动恢复。(比如说110恢复到001)。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用Verilog HDL 语言设计实现带复位和纠错功能的三周期时序逻辑电路。输入clk外部时钟信号和reset复位信号(低位有效),输出ck内部时钟信号和三周期信号t[2:0]。利用两级3位移位式分频逻辑实现,具体参见cycle_3.v文件。 2.编译通过,建立波形仿真文件,设置clk外部时钟信号和reset复位信号,Simulate 即可输出实验要求中显示的波形。 实验小结: 1.刚做这个实验的时候不知道CPU运行时序逻辑设计的真实用途,在进一步学习了计算机组成原理的理论知识,做cpu4实验后才知道是用来由外部时钟信号clk产生内部时钟信号ck以及三周期信号t[2:0]的。刚完成本次实验的时候未添加三周期信号t[2:0]的自动功能,后来完成cpu4后补上了。 实验三静态存储器的设计与读写验证 实验要求: 1.设计一个SRAM存储器,地址和数据都是8位,存储容量是256个字节。 2.采用异步的时序逻辑设计方式,数据是双向的,输入输出不寄存,存储器的地址也不寄存。 3.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用图形文件方式设计实现SRAM,用到了库文件lpm_ram_io。主要步骤是在Max+Plus下调用库

计算机组成原理实验报告册

实验一监控程序与汇编实验 实验时间:第周星期年月日节 实验室:实验台: (以上部分由学生填写,如有遗漏,后果由学生本人自负) 1、实验目的 1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。 2)了解汇编语言的语句与机器语言的指令之间的对应关系,学习用汇编语言设计程序的过程和方法。 3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。 2、实验平台 硬件平台:清华大学TEC-XP实验箱的MACH部分 软件平台:监控程序pcec16。exe、PC端指令集仿真软件 3、实验要求 1)学习联机使用TEC-XP 教学实验系统和仿真终端软件PCEC16。com; 2)使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容; 3)使用A 命令写一小段汇编程序,使用U命令观察汇编码与机器码之间的关系,用G 命令连续运行该程序,用T命令单步运行并观察程序单步执行情况。 **代码不得写到0000——1FFF的地址单元中,如有违反将被取消当堂成绩 4、操作步骤及实验内容 1)实验箱功能开关设置及联机操作: 1. 将实验箱COM1口与PC机相连; 2. 设置功能状态开关为00110; 3. 于PC端运行Pcec16.exe; 4. 按RESET,START键,若PC端出现如下输出(如图1.1所示),则操作成功; 图1.1 2)仿真软件相关操作:

1。在项目文件夹找到tec2ksim.exe并启动; 图2。1 2。点击文件—启动监控程序; 图2。2 4。若PC端出现如下输出(如图2。3所示),则操作成功;

计算机组成原理实验-运算器组成实验报告范文

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

曾国江—计算机组成原理实验报告 9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 - 1 -

ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。 RF(U30)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF 中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B 端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A 端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi 是写入控制信号,当LDRi =1时,数据总线DBUS 上的数据在T3写入由WR1、WR0指定的通用寄存器。RF 的A 、B 端口分别与操作数暂存器DR1、DR2相连;另外,RF 的B 端口通过一个三态门连接到数据总线DBUS 上,因而RF 中的数据可以直接通过B 端口送到DBUS 上。

xx大学计算机组成原理实验报告(全)

上海大学计算机组成原理实验报告(全) 《计算机组成原理实验》报告一姓名学号时间地点行健楼 609机房评阅一.数据传送实验 1. 实验内容及要求 在试验箱上完成以下内容: 将58H写入A寄存器。将6BH写入W寄存器。将C3H 写入R1寄存器。 2. 实验环境 本实验箱用74HC574构成各种寄存器。 3. 实施步骤或参数 ①注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。 ②设置实验箱进入手动模式。 ③K2接AEN,K1和K2接EX0和EX1,设置K2K1K0=010,设置K23~K16=01011000。④注视A及DBUS的发光管,按下STEP键,应看到CK灯灭、A旁的灯亮。记住看到的实际显示情况。 ⑤放开STEP键,应看到CK灯亮、A寄存器显示58。记住看到的实际情况。 ⑥重复上述实验步骤,在做6BH时,K2接WEN,K1和K2

接EX2和EX3,设置K2K1K0=010,设置K23~K16=01101011;重复上述实验步骤,在做C3H时,K2接RWR,K1和K2接SB 和SA,设置K2K1K0=001,设置K23~K16=10100011。 ⑦关闭实验箱电源。 4. 测试或者模拟结果 A寄存器显示58,W寄存器显示6B,R1寄存器显示C3,完成实验目的。 5. 体会 本次实验相对简单,只需要三根线便可以完成整个实验,但是,今天认识了实验箱。 124 并且在老师的带领下较为完整的认识了整个试验箱,还是很开心的,今后实验箱将是我们学习计算机组成原理的重要工具,也是我们的好朋友。 《计算机组成原理实验》报告二姓名学号时间地点行健楼 609机房评阅二.运算器实验 1. 实验内容及要求 在试验箱上完成以下内容: 计算07H+6AH后左移一位的值送OUT输出。把39H取反后同64H相或的值送入R2寄存器。通过人工译码,加深对译码器基本工作原理的理解。 理解命令的顺序执行过程。

相关文档
最新文档