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

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

计算机组成原理

实验报告

评语:

教师:

年月日

班级:

学号:

姓名:

地点:

时间:

实验一存储器实验

1、F PGA中LPM_ROM定制与读出实验

实验课件参考:/CMPUT_EXPMT/E XPERIMENTS/E XPMT3/实验3-1.PPT 实验示例参考:/CMPUT_EXPMT/Experiments/Expmt3 / DEMO_3_1_rom

一.实验目的

1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法。

2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于

lpm_ROM中;

3、在初始化存储器编辑窗口编辑mif文件配置ROM;

4、验证FPGA中mega_lpm_ROM

的功能。

二.实验原理

ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。图3-1-1中的lpm_ROM 有3组信号:inclk——输入时钟脉冲;q[23..0]——lpm_ROM的24位数据输出端;a[5..0]——lpm_ROM的6位读出地址。

实验中主要应掌握以下三方面的内容:

(1)lpm_ROM的参数设置;(2)lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写;

(3)lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。

三.实验步骤

(1)用图形编辑,进入mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[]和数据总线宽度q[],分别为6位和24位,并添加输入输出引脚,如图3-1-1设置和连接。(2)设置图3-1-1为工程。

(3)在设置lpm_rom数据参数选择项lpm_file的对应窗口中(图3-1-2),用键盘输入lpm_ROM配置文件的路径(rom_a.mif),然后设置在系统ROM/RAM读写允许,以便能对FPGA 中的ROM在系统读写。

(4)用初始化存储器编辑窗口编辑lpm_ROM配置文件(文件名.mif)。这里预先给出后面将要用到的微程序文件:rom_a.mif 。rom_a.mif中的数据是微指令码(图3-1-3)。

(5)全程编译。

(6)下载SOF文件至FPGA,改变lpm_ROM的地址a[5..0],外加读脉冲,通过实验台上的数码管比较读出的数据是否与初始化数据(rom_a.mif中的数据)一致。

注,下载sof示例文件至实验台上的FPGA,选择实验电路模式仍为NO.0,24位数据输出由数码8至数码3显示,6位地址由键2、键1输入,键1负责低4位,地址锁存时钟CLK由键8控制,每一次上升沿,将地址锁入,数码管8/7/6/5/4/3将显示ROM中输出的数据。发光管8至1显示输入的6位地址值。

图3-1-1 lpm_ROM的结构图

图3-1-2 设置在系统ROM/RAM读写允许

图3-1-3 rom_a.mif中的数据

(7)打开QuartusII的在系统存储模块读写工具,了解FPGA中ROM中的数据,并对其进行在系统写操作(图3-1-4)。

图3-1-4 在系统存储模块读写

四.实验要求

(1)实验前认真复习LPM-ROM存储器部分的有关内容。(2)记录实验数据,写出实验报告,给出仿真波形图。(3)通过本实验,对FPGA中EAB构成的LPM-ROM存储器有何认识,有什么收获?

2.FPGA中LPM_RAM读写实验

实验课件参考:/CMPUT_EXPMT/E XPERIMENTS/E XPMT3/实验3-2.PPT 实验示例参考:/CMPUT_EXPMT/Experiments/Expmt3 / DEMO_3_2_RAM 一.实验目的

1、了解FPGA中RAMlpm_ram_dq的功能,

2、掌握lpm_ram_dq的参数设置和

使用方法,

3、掌握lpm_ram_dq作为随机存储器RAM的工作特性和读写方法。

二.实验原理

在FPGA中利用嵌入式阵列块EAB可以构成存储器,lpm_ram_dq的结构如图3-2-1。数据从ram_dp0的左边D[7..0]输入,从右边Q[7..0]输出,R/W——为读/写控制信号端。数据的写入:当输入数据和地址准备好以后,在inclock是地址锁存时钟,当信号上升沿到来时,地址被锁存,数据写入存储单元。

数据的读出:从A[7..0]输入存储单元地址,在CLK信号上升沿到来时,该单元数据从Q[7..0]输出。

R/W——读/写控制端,低电平时进行读操作,高电平时进行写操作;

CLK——读/写时钟脉冲;DATA[7..0]——RAM_dq0的8位数据输入端;

A[7..0]——RAM的读出和写入地址;Q[7..0]——RAM_dq0的8位数据输出端。

三.实验步骤

(1)按图3-2-1输入电路图。并进行编译、引脚锁定、FPGA配置。

(2)通过键1、键2输入RAM的8位数据(选择实验电路模式1),键3、键4输入存储器的8位地址。键8控制读/写允许,低电平时读允许,高电平时写允许;键7(CLK0)产生读/写时钟脉冲,即生成写地址锁存脉冲,对lpm_ram_dq进行写/读操作。

(3)注意,lpm_ram_dq也能加入初始化文件(这里是5_ram.mif ,是后面将要用到的模型CPU执行微程序文件),注意此文件加入的路径表达和文件表达(3-2-2):./ 5_ram.mif ,(后缀mif要小写);

同时择在系统读写RAM功能,RAM的ID名取为:ram1。

注,验证程序文件在DEMO5_lpm_ram目录,工程名是ram_dp1.bdf,下载ram_dp1.sof 至实验台上的FPGA,选择实验电路模式为NO.1,按以上方式首先进行验证实验。首先控制读出初始化数据,与载入的初始化文件ram_dp1.mif中的数据进行比较,然后控制写入一些数据,再读出比较。使用在系统读写RAM的工具对其中的数据进行读写操作(图3-2-3),设置成连续读模式,将在系统读写工具窗口的数据与实验箱上数码管上显示的数据对照起来看。

四.实验要求

(1)实验前认真复习运算器和存储器部分的有关内容;(2)写出实验报告。

图3-2-2 lpm_ram_dq加入初始化文件和选择在系统读写RAM功能

图3-2-1 lpm_ram_dp实验电路图

RAM对存放在存储单元内的数据修改前的图形:

RAM对存放在存储单元内的数据修改后的图形:

实验二 运算器组成实验

1.算术逻辑运算实验

一.实验目的

1. 了解简单运算器的数据传输通路。 2. 验证运算功能发生器的组合功能。

3. 掌握算术逻辑运算加、减、与的工作原理。 4. 验证实验台运算的8位加、减、与、直通功能。 5. 按给定数据,完成几种指定的算术和逻辑运算。

二.实验内容

1.实验原理

算术逻辑单元ALU 的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL 硬件描述语言编辑而成,构成8位字长的ALU 。参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位2进制计数器LPM_COUNTER 产生,计数时钟是Sclk (图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N 为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU 功能如表2-1所示。

表2-1

ALU181的运算功能

选择端 高电平作用数据

S3 S2 S1 S0 M=H M=L 算术操作

逻辑功能 Cn=L (无进位)

Cn=H (有进位)

0 0 0 0 A F =

A F = 1加A F =

0 0 0 1 B A F += B A F +=

)(B A F +=加1

0 0 1 0 B A F =

B A F +=

B A F +=+1

0 0 1 1 0=F

=F 减1(2的补码)

0=F

0 1 0 0 AB F =

B A A F 加=

B A A F 加=加1

0 1 0 1 B F = )(B A F +=加B A

)(B A F +=加B A +1

0 1 1 0 B A F ⊕=

B A F 减=

1减减B A F =

0 1 1 1 B A F = B A F +=

1)(减B A F +=

1 0 0 0 B A F +=

AB A F 加= AB A F 加=加1 1 0 0 1 B A F ⊕=

B A F 加= B A F 加=加1

1 0 1 0 B F =

AB B A F )加(+=

AB B A F 加)(+=加1

1 0 1 1 AB F = AB F =

1减AB F =

1 1 0 0 1=F

A A F 加=* 1加加A A F =

1 1 0 1 B A F +=

A B A F )加(+= A B A F )加(+=加1 1 1 1 0 B A F +=

A B A F )加(+=

A B A F )加(+=加1

1 1 1 1

A F =

A F =

1减A F =

注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加 注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。

三.实验步骤

(1)设计ALU元件

在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件制作成一个可调用的原理图元件。

(2)以原理图方式建立顶层文件工程

选择图形方式。根据图2-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。

将所设计的图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。

(3)器件选择

选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。

(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。

(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能

根据表2-1,从键盘输入数据A[7..0]和B[7..0],并设置S[3..0]、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。

图2-1 算术逻辑单元ALU实验原理图

四.实验任务

(1)按图2-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应的74373中;即首先将键3输入高电平,用键2、键1分别向A[7..0] 置数01010101(55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向B[7..0]置数10101010(AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图2-1中的两个74373锁存器中分别被锁入了加数55H和被加数AAH。可双击图2-1的ALU181元件,了解其VHDL描述。

(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK,可设置表2-1

的S[3..0]=0 ~ F。现连续按动键6,设置操作方式选择S[3..0]=9(加法操作),使数码管

8显示9,以验证ALU的算术运算功能:当键7设置cn=0(最低位无进位)时,数码

管7/6/5=0FF(55H+AAH=0FFH);

当键7设置cn=1(最低位有进位)时,数码管7/6/5=100(55H+AAH+1=100H);

(3)若设定键8为高电平,即M=1,键KEY6控制时钟SCLK,设置S[3..0]=0~F,KEY7

设置cn=0或cn=1,验证ALU的逻辑运算功能,并记录实验数据。

表2-2 A[7..0],B[7..0]设置值检查

F[7..0] SW_B 寄存器内容S3 S2 S1 S0 M BUS

A[7..0] B[7..0]

01010101 1010101010

01010101 1010101010

(4) 验证ALU181的算术运算和逻辑运算功能,ALU181模块功能可参照表2-1。

表2-3给定了寄存器DRl=A[7..0]和DR2=B[7..0]的数据(十六进制),要求根据此数据对

照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。

(4)表2-4列出了8种常用的算术与逻辑运算要求指定的操作内容,正确选择运算器数据

通路、控制参数S3、S2、S1、S0、M,并将实验结果值填入括号内,表中给定原始数据

DR1=A[7..0]和DR2=B[7..0],以后的数据取自前面运算的结果。

表2-3

S3 S2 S1 S0 A[7..0] B[7..0]

算术运算M=0

逻辑运算(M=1)cn=0(无进位)cn=1(有进位)

0000 A A 5 5 F=(0AA )F=(0AB )F=(155 )000 1 A A 5 5 F=(0FF )F=(100 )F=(100 )0010 A A 5 5 F=(1AA )F=(1AB )F=(055)001 1 A A 5 5 F=(000 )F=(1FF )F=(000 )0100 F F 0 1 F=(1FD )F=(1FE )F=(1FE )010 1 F F 0 1 F=(1FD )F=(1FE )F=(1FE )0110 F F 0 1 F=(0FE )F=(0FD )F=(0FE )011 1 F F 0 1 F=(1FF )F=(1FE )F=(0FE )1000 F F F F F=(1FE )F=(1FF )F=(000 )100 1 F F F F F=(1FE )F=(1FF )F=(1FF )1010 F F F F F=(0FE )F=(0FF )F=(0FF )101 1 F F F F F=(0FF )F=(0FE )F=(0FF )1100 5 5 0 1 F=(0AA )F=(0AB )F=(001 )110 1 5 5 0 1 F=(0AA )F=(0AB )F=(1FF )1110 5 5 0 1 F=(054 )F=(055 )F=(055 )111 1 5 5 0 1 F=(055 )F=(054 )F=(055 )表2-4 8种常用的算术与逻辑运算

操作S3 S2S1S0 M Cn DR1 DR2 运算关系及结果显示Cn4 逻辑乘1011 1 0 66 FF D R1.D R2→D R2(66)0 传送1010 1 0 66 FF D R1→D R2(66)0 按位加0110 1 0 66 FF D R

1 D R2→D R2(99)0

取反0101 1 0 66 FF

1

DR→D R2(99) 1 加1 0000 0 1 66 FF D R2+1→D R2(00) 1

求负0010 0 1 00 FF

DR+1→D R2(01) 1

2

加法1001 0 0 66 22 D R1+D R2→D R2(88)0 减法0110 0 0 66 22 D R1–D R2→D R2(44)0

实验三节拍脉冲发生器实验

一.实验目的

(1)掌握节拍脉冲发生器的设计方法和工作原理。(2)理解节拍脉冲发生器的工作原理。

二.实验原理

计算机之所以能够按照人们事先规定的顺序进行一系列的操作或运算,就是因为它的控制部分能够按一定的先后顺序正确地发出一系列相应的控制信号。这就要求计算机必须有时序电路。控制信号就是根据时序信号产生的。本实验说明时序电路中节拍脉冲发生器的工作原理。

1、连续节拍发生电路设计(图4-1-1):

可由4个D触发器组成,可产生4个等间隔的时序信号T1~T4,其中CLK1为时钟信号,由实验台右边的方波信号源clock0提供,可产生1Hz~12MHz的方波信号频率。实验者可根据实验自行选择信号频率。当RST1为低电平时,T1输出为“1”,而T2、T3、T4输出为“0”;当RST1由低电平变为高电平后,T1~T4将在CLK1的输入脉冲作用下,周期性地轮流输出正脉冲,机器进入连续运行状态(EXEC)。

图4-1-1节拍脉冲发生器的工作原理

T1~T4以及CLK1、RST1的工作波形如图4-1-2所示。示例工程文件是T4.bdf。硬件实验验证方法如图4-1-1所示,下载T4.SOF 文件,选择实验模式1,Clock0接4Hz,键8控制RST1,高电平时可以看到,发光管1、2、3、4分别显示T1、T2、T3、T4的输出电平(实验结果与仿真波形图4-1-2比较!)。

图4-1-2 节拍脉冲发生器工作波形

图4-1-3单步运行电路工作原理

图4-1-4单步运行电路工作波形

2、单步节拍发生电路(图4-1-3):

将图4-1-1电路稍加改变即可得到图4-1-3所示的单步运行电路。该电路每当RST1出现一个负脉冲后,仅输出一组T1、T2、T3、T4节拍信号,直到RST1出现下一个负脉冲,波形如图4-1-4所示。

示例工程文件是T5.bdf。硬件实验验证方法如图4-1-3所示,下载T5.SOF 文件,选择实验模式1,Clock0接4Hz(选择范围是1Hz-50MH),键8控制RST1。每出现一个负脉冲,发光管1、2、3、4分别显示T1、T2、T3、T4的输出电平一次(实验结果与仿真波形图4-1-4比较!)。

3、单步/连续节拍发生电路(图4-1-5):。

增加两个2-1多路选择器,可将图4-1-3电路改变为图4-1-5所示电路。S0是单步或连续节拍发生控制信号,当S0=0,选择单步运行方式;当S0=1,选择连续运行方式。图4-1-6为此电路的仿真波形。

示例工程文件是TS5.bdf。硬件实验验证:下载TS5.SOF 文件,选择实验模式1,Clock0接4Hz,键8控制RST1,键7控制S0,发光管1、2、3、4分别显示T1、T2、T3、T4的输出电平(实验结果与仿真波形图4-1-6比较!)。

图4-1-5单步/连续运行电路工作原理

图4-1-6单步运行电路工作波形

三.实验步骤

(1) 硬件验证测试连续节拍发生电路(图4-1-1),实验结果与仿真波形图4-1-2比较!

(2) 硬件验证测试单步节拍发生电路(图4-1-3),实验结果与仿真波形图4-1-4比较!

(3) 硬件验证测试单步/连续节拍发生电路(图4-1-5),实验结果与仿真波形图4-1-6

比较!

(4) 绘出相应的时序波形图。

四.实验报告

(1)实验原理。(2)绘制相应的时序波形图。(3)实验结果分析、

讨论。

实验四程序计数器PC与地址寄存器AR实验

一.实验目的

1.掌握地址单元的工作原理。

2.掌握的两种工作方式,加1计数和重装计数器初值的实现方法;

3.掌握地址寄存其从程序计数器获得数据和从内部总线获得数据的实现方法。二.实验原理

地址单元主要由三部分组成:地址寄存器和多路开关。

程序计数器PC用以指出下一条指令在主存中的存放地址,CPU正是根据PC的内容去存取指令的。因程序中指令是顺序执行的,所以PC有自增功能。程序计数器提供下一条程序指令的地址,如电路图4-2-1所示,在T4时钟脉冲的作用下具有自动加1的功能;在LDPC信号的作用下可以预置计数器的初值(如子程序调用或中断相应等)。当LDPC为高

电平时,计数器装入data[ ]端输入的数据。aclr是计数器的清0端,高电平有效(高电平清零);aclr为低电平时,允许计数器正常计数。

图4-2-1程序计数器原理图

地址寄存器AR(74273)锁存访问内存SRAM的地址。273中的地址来自两个渠道。一是程序计数器PC的输出,通常是下一条指令的地址;二是来自于内部数据总线的数据,通常是被访问操作数的地址。

为了实现对两路输入数据的切换,在FPGA的内部通过总线多路开关BUSMUX进行选择。LDAR与多路选择器的sel相连,当LDAR为低电平,选择程序计数器的输出;当LDAR

为高电平时,选择内部数据总线的数据。

图4-2-2 程序计数器工作波形

三.实验步骤

1.按照图4-2-1程序计数器原理图编辑、输入电路,实验台选择NO.0工作模式。对输入原理图进行编译、引脚锁定、并下载到实验台。示例工程文件是PC_unit.bdf。硬件实验验证(与仿真波形图4-2-2比较!)。实验说明:

(1)下载pc_unit.sof ;(2)用模式键选模式“0”,再按一次右侧的复位键;

(3)键2和键1可输入8位总线数据B[7..0](此值显示于发光管D1~D8和数码管2/1);CLR(键5)按2次(0→1→0),产生一正脉冲,高电平清零;LDAR(键6)=0时,BUSMUX 输出程序计数器PC的值;LDAR=1时,BUSMUX输出B[7..0]总线数据。LDPC(键7):程序计数器PC预置控制端,当LDPC=1时,将B[7..0]总线数据装入程序计数器PC;当LDPC=0时,程序计数器PC处于计数自动工作状态,对T4进行计数;T4(键8):程序计数器PC的计数时钟CLK,键8按动两次产生一个计数脉冲。

2.通过B[7..0]设置程序计数器的预加载数据。当LDPC=0时,观察程序计数器自动加1的功能;当LDPC=1时,观察程序计数器加载输出情况,示例操作:

1、所有键置0,键2/1输入A5;按键5→PC计数器清0(0→1→0);

2、连续按动键8,可以从数码8/7上看到AR的输出,即PC值;

3、按键6→’1’,选通直接输出总线上的数据A5作为PC值,按键8,产生一个脉冲上升沿,即可看到AR(显示在数码8/7)的输出为A5;

4、使键6=0,仍选通PC计数器输出,这时键2/1输入86,按键7产生一个上升脉冲

(0→1→0),即用LDPC将86加载进PC计数器;

5、连续按动键8,可以发现AR的输出在86上累加输出:8

6、8

7、88等。

四.实验报告

(1)实验原理。(2)绘制相应的时序波形图。(3)实验结果分析、讨论。

实验五总线控制实验

一.实验目的

1.理解总线的概念及特性。2.掌握总线传输控制特性。

二.实验原理

1.总线的基本概念

总线是多个系统部件之间进行数据传输的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。所谓总线就是指能为多个功能部件服务的一组公用信息线。

2.实验原理

实验所用总线实验传输框图如图4-1所示。它将几种不同的设备挂在总线上,有存储器、输入设备、输出设备、寄存器。这些设备在传统的系统中需要有三态输出控制,然而在FPGA 的内部没有三态输出控制结构,因此必须采用总线输出多路开关结构加以控制。按照传输要求恰当有序地控制它们,就可以实现总线信息传输。

三.实验内容

1.实验要求

根据挂在总线上的几个基本部件,设计一个简单的流程。

(1)输入设备将数据打入寄存器R0。 (2)输入设备将另一个数据打入地址寄存器AR 。

(3)将寄存器R0中的数据写到当前地址的存储器中。(4)将当前地址的存储器中的数用数码管显示。

图5-4是总线控制的时序仿真波形图。 2.实验步骤

(1)实验电路如图5-2所示。写使能WE=1允许写,=0禁止写,允许读;inclock 为数据DATA 锁存时钟。具体操作可参考图5-3。

(4)、工程文件是BUS-4.bdf ,下载BUS-4.sof 到实验台的FPGA 中;

(5)、实验内容1,根据图5-2完成实验操作:选择实验模式“0”;再按一次右侧的复位键(用一接线将实验板上键9的输入端插针与适配板上FPGA 的第P196针相连,以便能用键9控制OUT 锁存器的时钟;):初始状态;1、键4、键3控制设备选择端:sel[1..0]=00(键4/键3=00,);2、此时由键2/键1输入的数据(26H,显示于数码管2/1)直接进入BUS (数码管8/7显示),键5、6、7为低电平;3、键8=1(允许RAM 写入)完成图5-2所示的操作:4、键5发正脉冲(0-1-0),将数据打入寄存器R0;5、键2/键1再输入数据(如37H);6、键6发正脉冲(0-1-0),将数据打入地址寄存器AR ;7、键2/键1再输入数据(如48H);8、键7发正脉冲(0-1-0),将数据写入RAM (此时必须键8输出‘1’,注意此时进入RAM 的数据48H 是放在地址37H 单元的);9、键2/键1再输入数据(如59H);10、键9发正脉冲(0-1-0),将数据写入寄存器OUT (数码管6/5将显示此数);11、键4、键3分别选择sel[1..0]=00、01、10、11,从数码管8/7上观察被写入的各寄存器中的数据。

(6)、实验内容2:先将数据28H 写入RAM 的地址(4AH ),再将数据1BH 送进R0,最后将刚才写入RAM 中地址(4AH )的数据读出送到OUT 口。依据总线电路图5-3,操作如下:

数据输入开关

地址寄存器

AR

存储器 RAM

数码管 LED

寄存器 R0

SW-B

LDAR

CS

W/R LED-B W/R R0-B LDR0

总线

图5-1 总线实验传输框图

图5-4 总线控制的时序仿真波形图 1、用一接线将实验板上键9的输入端插针与适配板上FPGA 的第P196针相连,以便能用键9控制OUT 锁存器的时钟;键3、4、5、6、7、8都为低电平,使键4/键3=00,即总线多路选择器sel[1..0]=00,选择由键2/键1输入的数据4AH (地址),直接进入BUS ;

2、按键6两次(0-1-0),产生一个正脉冲,将地址数据4AH (地址)锁入地址寄存器AR ,如图5-3所示,此数据直接进入RAM 的address 端;

3、按键2/键1,输入数据28H (数据),此时直接进入总线BUS ,并进入RAM 的data 数据端;按键8=1(RAM 写允许);按键7两次,将数28H 写入RAM (地址为4AH ),最后按键8=0,写禁止,读允许。

4、由键2/键1输入的数据1BH ,按键5两次(0-1-0),产生一个正脉冲,即此数写入R0寄存器。

5、读RAM 送到OUT :由键2/键1输入的数据4AH ,按键5两次,使4AH 进入AR ;

6、 按键7两次,RAM 中4AH 单元中的数据28H 输出,再使键4/键3=10,即总线多路选择器sel[1..0]=10,此时RAM 数据口的28H 进入总线BUS (可从数码管8/7上看到);

7、按键9一次(此键是单脉冲),RAM 口的28H 即被锁如输出口OUT 寄存器,由数码管6/5显示。

图5-2 总线数据传输练习操作步骤

3、键盘/显示定义详细说明:

1)键2、键1输入D[7..0],输入的数据同时显示在数码2和数码3上。2)键4、键3输入控制设备选择端sel[1..0],如图5-2所示,键4/键3控制总线多路选择器,选择不同设备的数据进入总线:sel[1..0]= 00:输入设备INPUT 数据进入总线BUS ;= 01:寄存器R0中的数据进入总线BUS ;= 11:地址寄存器AR 的数据进入总线BUS ;= 10:存储器RAM 的数据进入总线BUS ;4)总

线BUS 上的输出数据显示在数码8和数码7上;5)键

5控制寄存器R0的输入选通锁存端;6)键6控制地址寄存器AR 输入选通锁存端;7)键7控制LPM_RAM 数据DATA 输入锁存端;8)键8控制LPM_RAM 写入允许WE 端,=1有效; 9)键9控制输出设备OUTPUT 的输入选通端,输出数据显示在数码6和数码5上,要求首先用一接线将实验板上键9的输入端插针与适配板上FPGA 的第P196针相连。

图5-3 总线控制实验线路图

四.实验报告

(1)实验原理。(2) 在思考题中选作2~3题,给出实现方案和具体的操作步骤。

(3) 绘制相应的时序波形图。

(4) 实验结果分析、讨论。

五.思考题实验题

要进行以下数据传输,应如何控制输入/输出选通信号,通过数据总线实现多个部件之间的数据传输?请给出实现方案和具体的操作步骤。完成以下7道总线传输实验练习题,写出实验的详细过程,并配以仿真波形图加以说明:

练习题编号功能助记符

1 2 3 4 5 6 7 把INPUT设置的数据写入R0

把INPUT设置的数据写入RAM某单元

把RAM某单元内容读入R0

把R0内容读入RAM某单元

把R0内容输出显示

把RAM某单元内容输出显示

把INPUT设置的数据直接输出显示

IN R0,KEY

IN RAM,KEY

LD R0,RAM

ST RAM,R0

OUT LED,R0

OUT LED,RAM

OUT LED,KEY

计算机组成原理实验总结:

通过几次的实验,我对计算机的组成原理有了进一步的深刻了解,对计算机的组成构造也理解更深刻,而且这几天的实践,使我熟练的掌握Quartus Ⅱ软件的使用和在Quartus Ⅱ上进行电路模拟和仿真,自己能动手设计简单的计算机的逻辑部件,当然只是很基本的,实际的逻辑部件比我们实验的要复杂的多,所以以后会更加重视动手的能力,自己多亲自做做,印象和理解会更深

在最后感谢老师抽出宝贵的周末时间为我们辅导!

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

计算机组成原理 实验4

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

T3 CLR 图4-2 程序计数器(PC)原理图 本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码): 助记符机器指令码说明 IN0010 0000IN R0 ADD0000 0000R0 + R0 R0 OUT0011 0000R0 OUT JMP addr1110 0000 ********addr PC HLT0101 0000停机 其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。根据以上要求,设计数据通路图,如图4-3所示。 本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表4-1所示。

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

计算机组成原理实验七

图16 启停单元布局图 序电路由1片74LS157、2片74LS00、4个LED PLS2、PLS3、PLS4)组成。当LED发光时 图17

图17 时序单元布局图 (二)启停、脉冲单元的原理 1.启停原理:(如图18) 启停电路由1片7474组成,当按下RUN按钮,信号输出RUN=1、STOP=0,表示当前实验机为运行状态。当按下STOP 按钮,信号RUN=0、STOP=1,表示当前实验机为停止状态。当 系统处于停机状态时,微地址、进位寄存器都被清零,并且可 通过监控单元来读写内存和微程序。在停止状态下,当HALT 时有一个高电平,同时HCK有一个上升沿,此时高电平被打入 寄存器中,信号输出RUN=1、STOP=0,使实验机处于运行状态。

图18 启停单元原理图 2.时序电路: 时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图19)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步)、GO (全速)和HALT(暂停)。当实验机处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图19 时序电路图 实验步骤 1.交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN 亮;暂停:RUN灭)。 2.把HALT信号接入二进制拨动开关,HCK接入脉冲单元的PLS1。按下表接线 接入开关位号 信号定 义 HCK PLS1孔 HALT H13孔 3.按启停单元中的停止按钮,置实验机为停机状态,HALT=1。 4.按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升

计算机组成原理实验五

上海大学计算机学院 《计算机组成原理实验》报告一 姓名:学号:教师: 时间:机位:报告成绩: 实验名称:指令系统实验 一、实验目的:1. 读出系统已有的指令,并理解其含义。 2. 设计并实现一条新指令。 二、实验原理:利用CP226实验仪(用74HC754即8D型上升沿触发器)上的K16…K23 开关为数据总线DBUS设置数据,其他开关作为控制信号,一条指令执行完 毕PC会自动加1,系统顺序执行下一条指令,但系统要进入一个新的指令序 列时,如跳转、转子程序等,必须给PC打入新的起始值——新指令序列的 入口地址。实验箱实现把数据总线的值(目标地址)打入PC的操作,以更新 PC值。 三、实验内容:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 四、实验步骤:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) ①在初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键观 察64H,65H,66H,67H, 地址中原有的微指令,分析并查表确定其功能。 ②在EM状态下,Adr打入A0,DB打入64;按NX键,Adr显示A1,DB 打入E8。 ③在μEM状态下,在E8H、E9H、EAH、EBH下分别打入:FFDED8、CBFFFF、 FFFFFF、FFFFFF。 ④给μPC状态下,打入μPC(00)、PC(A0)、A(11)、W(00),按3次 NX输入R0(77)。 ⑤按下STEP键,观察实验现象。 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 ⑥继续按STEP键,直到进入E8状态下。 ⑦在EM状态下,打入Adr为77,DB为56。 ⑧按STEP键执行指令,观察实验现象。 五、实验现象:OUT寄存器的值为5A。 六、数据记录、分析与处理:实验结果和预期的一样。 七、实验结论:1、机器指令64对应的各微指令码为:FF77FF、D7BFEF、FFFE92、CBFFFF。其功能为:将R0寄存器的值打入地址寄存器MAR;存贮器EM将MAR输出地址所对应的值打入W寄存器;ALU直通门输出的值打入A寄存器,A、W中的值进行“与”运算,结果在A输出;PC+1,读出下一条指令并立即执行。 八、建议:暂无。

计算机组成原理实验报告

实验报告书 实验名称:计算机组成原理实验 专业班级:113030701 学号:113030701 姓名: 联系电话: 指导老师:张光建 实验时间:2015.4.30-2015.6.25

实验二基本运算器实验 一、实验内容 1、根据原理图连接实验电路

3、比较实验结果与手工运算结果,如有错误,分析原因。 二、实验原理 运算器可以完成算术,逻辑,移位运算,数据来自暂存器A和B,运算方式由S3-S0以及CN来控制。运算器由一片CPLD来实现。ALU的输入和输出通过三态门74LS245连接到CPU内总线上。另外还有指示灯进位标志位FC和零标志位FZ。 运算器原理图: 运算器原理图 暂存器A和暂存器B的数据能在LED灯上实时显示。进位进位标志FC、零标志FZ 和数据总线D7…D0 的显示原理也是如此。 ALU和外围电路连接原理图:

ALU和外围电路连接原理图运算器逻辑功能表:

三、实验步骤 1、按照下图的接线图,连接电路。 2、将时序与操作台单元的开关KK2 置为‘单拍’档,开关KK1、KK3 置为‘运行’档。 3、打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。 4、用输入开关向暂存器A 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’,灭为‘0’。 ②置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的 A7…A0 八位LED 灯显示。 5、用输入开关向暂存器B 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。 ②置LDA=0,LDB=1,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111 置入暂存器B 中,暂存器B 的值通过ALU 单元的 B7…B0 八位LED 灯显示。 6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0 、LDA=0、LDB=0,然后按表2-2-1 置S3、S2、S1、S0 和Cn的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010 ,运算器作逻辑与运算,置S3、S2、

计算机组成原理_实验报告四(含答案)

湖南科技学院 电子与信息工程学院 实验报告 课程名称: 姓名: 学号: 专业: 班级: 指导老师:

实验四微程序控制组成实验 一、实验目的及要求 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机。 2.用微程序控制器控制模型计算机的数据通路。 3.执行给定的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。 二、实验电路 本次实验将前面几个实验中的所模块,包括运算器、存储器、通用寄存器堆等同微程序控制器组合在一起,构成一台简单的模型机。这是最复杂的一个实验,也将是最有收获的一个实验。 在前面的实验中,实验者本身作为“控制器”,完成了对数据通路的控制。而在本次实验中,数据通路的控制将交由微程序控制器来完成。实验机器从内存中取出一条机器指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。 实验电路大致如下面框图所示。其中控制器是控制部件,数据通路是执行部件,时序发生器是时序部件。需使用导线将各个部件控制信号与控制器相连。 三、实验主要仪器设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 四、实验任务 1.对机器指令组成的简单程序进行译码。将下表的程序按机器指令格式手工汇编成二进制机器代码, 此项任务请在预习时完成。 2. 3.使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH。

4.使用控制台命令将任务1中的程序代码存入内存中(注意起始地址为30H),以及将内存地址为 11H的单元内容设置为0AAH。 5.用单拍(DP)方式执行一遍程序,执行时注意观察各个指示灯的显示并做好记录(完成实验表格), 从而跟踪程序执行的详细过程(可观察到每一条微指令的执行过程)。 6.用连续方式再次执行程序。这种情况相当于计算机正常的工作。程序执行到STP指令后自动停机。 读出寄存器中的运算结果,与理论值比较。 五、实验步骤和实验结果记录 1.程序译码。 2.实验接线(本实验接线比较多,需仔细) 只要把上表种同列的信号用线连接即可,一共接线33条。 接好线后,将编程开关拨到“正常位置”。合上电源,按CLR#按钮,使TEC-5实验实验系统处于初始状态。 3.实验任务3:使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH的操作步骤及结果记录。 (1)掌握写寄存器WRF的原理和步骤(详见实验参考资料)。 (2)操作过程如下:

计算机组成原理实验五存储器读写实验

实验五 存储器读写实验实验目的 1. 掌握存储器的工作特性。 2. 熟悉静态存储器的操作过程,验证存储器的读写方法。 二、实验原理 表芯片控制信号逻辑功能表

2. 存储器实验单元电路 芯片状态 控制信号状态 DO-D7 数据状态 M-R M -W 保持 1 1 高阻抗 读出 0 1 6116-^总钱 写人 1 0 总线-*6116 无效 报警 ^2-10 D7—DO A7—A0

團2-8存储器实验电路逻辑图 三、实验过程 1. 连线 1) 连接实验一(输入、输出实验)的全部连线。 2) 按逻辑原理图连接M-W M-R 两根信号低电平有效信号线 3) 连接A7-A0 8根地址线。 4) 连接B-AR 正脉冲有效信号 2. 顺序写入存储器单元实验操作过程 1) 把有B-AR 控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处 于无效 状态。 2) 在输入数据开关拨一个实验数据,如“ 00000001”即16进制的01耳 把IO-R 控制开关拨下,把地址数据送到总线。 3) 拨动一下B-AR 开关,即实现“1-0-1 ”产生一个正脉冲,把地址数据送地 址寄存器保存。 4) 在输入数据开关拨一个实验数据,如“ 10000000',即16进制的80耳 把IO-R 控 制开关拨下,把实验数据送到总线。 3. 存储器实验电路 0 O O 0 0 olo O O O O 0 00 OUTPUT L/O :W 8-AR £ ■」2 ■七 ol^Fgr' L P O 74LS273 A7- AO vz 0 o|o 0 r 6116 A7 INPUT D7-O0 [olololololololol T2

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

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术2010级2班学生姓名毛世均 1010101046 指导教师郭玉峰 撰写日期:二○一二年六月四日

SA4=1 1.根据上边的逻辑表达式,分析58页图6-2的P1测试和P4测试两条指令的微地址转移方向。 P1测试:进行P1测试时,P1为0,其他的都为1, 因此SA4=1, SA3=I7,SA2=I6,SA1=,SA0=I4 微地址011001,下址字段为001000下址字段001000译码后,高两位不变,仍然为00,低四位受到机器指令的高四位I7-I4的影响。 机器指令的高四位为0000时,下一条微指令地址为001000,转到IN 操作。机器指令高四位0010时,下一条微指令地址为001010,转到MOV 操作。机器指令高四位为0001时,下一条微指令地址为001001,转到ADD 操作。机器指令高四位为0011时,下一条微指令地址为001011,转到OUT 操作。机器指令高四位为0100时,下一条微指令地址001100,转到JMP 操作 P4测试:进行P4测试时,P4为0,其他的都为1. 因此SA4=SA3=SA2=1,SA1=CA2,SA0=CA1 微地址000000,下址字段为010000. 010000被译码之后,高四位不变,0100低两位由CA2和CA1控制。CA2和CA1的值是由单片机的键盘填入控制的。 当实验选择CtL2=1时,CA2和CA1被填入0和1,这时低两位被译码电路翻译成01,所以下一条微地址就是010001,然后进入写机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和0,这时低两位被译码电路翻译成10,所以下一条微地址就是010010,然后进入读机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和1,这时低两位被译码电路翻译成 11,所以下一条微地址就是010011,然后进入运行机器指令的状态。 2.分析实验六中五条机器指令的执行过程。

计算机组成原理实验报告

计算机组成原理实验报告-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

计算机组成原理实验报告 ——微程序控制器实验一.实验目的: 1.能看懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及 执行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程和相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序和数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 微指令由下地址字段及控制字段组成.TH—UNION教学机的微指令格式如下: 其中高八位为下地址字段.其余各位为控制字段. 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址. 下地址的形成由下地址字段及控制字段中的CI3—SCC控制.当为顺序执行时,下地址字段不起作用.下地址为当前微指令地址加1;当为转移指令(CI3— 0=0011)时,由控制信号SCC提供转移条件,由下地址字段提供转移地址. 2)控制字段

计算机组成原理实验报告5- PC实验

2.5 PC实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.5.15 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1 功能。 二.实验目的:1、了解模型机中程序计数器PC的工作原理及其控制方法。2、了解程序执行过程中顺序和跳转指令的实现方法。 三.实验电路:PC 是由两片74HC161构成的八位带预置记数器,预置数据来自数据总线。记数器的输出通过74HC245(PCOE)送到地址总线。PC 值还可以通过74HC245(PCOE_D)送回数据总线。 PC 原理图 在CPTH 中,PC+1 由PCOE 取反产生。 当RST = 0 时,PC 记数器被清0 当LDPC = 0 时,在CK的上升沿,预置数据被打入PC记数器 当PC+1 = 1 时,在CK的上升沿,PC记数器加一 当PCOE = 0 时,PC值送地址总线

PC打入控制原理图 PC 打入控制电路由一片74HC151 八选一构成(isp1016实现)。 当ELP=1 时,LDPC=1,不允许PC被预置 当ELP=0 时,LDPC 由IR3,IR2,Cy,Z确定 当IR3 IR2 = 1 X 时,LDPC=0,PC 被预置 当IR3 IR2 = 0 0 时,LDPC=非Cy,当Cy=1时,PC 被预置 当IR3 IR2 = 0 1 时,LDPC=非Z,当Z=1 时,PC 被预置 连接线表 四.实验数据及步骤: 实验1:PC 加一实验

置控制信号为: 按一次STEP脉冲键,CK产生一个上升沿,数据PC 被加一。 实验2:PC 打入实验 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据12H 置控制信号为: 每置控制信号后,按一下STEP键,观察PC的变化。 五.心得体会: 经过上一个实验的练习,在做这个实验的时候更加得心应手,了解了模型机中程序计数器PC的工作原理及其控制方法,还有了解了程序执行过程中顺序和跳转指令的实现方法。

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

《计算机组成原理》 实 验 报 告 学院:数学与计算机学院 专业:软件工程 班级学号: 学生姓名: 实验日期: 2014-11-8 指导老师: 成绩评定: 西华大学数学与计算机学院计算机组成原理实验 室 实验四存储器和总线实验 一、实验目的 熟悉存储器和总线的硬件电路

二、实验要求 按照实验步骤完成实验项目,熟悉存储器的读、写操作,理解在总线上数据传输的方法。 三、实验说明 (一)存储器和总线的构成 1.总线由一片74LS245、一片74LS244组成,把整个系统分为内部总线和外部总线。二片74LS374锁存当前的数 据、地址总线上的数据以供LED显示。(如图8)

图8 总线布局图 2.存储器采用静态RAM(1片6264) 3.存储器的控制电路由一片74LS32和74LS08组成。如图9

图9 存储器控制电路布局图(二)存储器和总线的原理

1.总线的原理:由于本系统内使用8根地址线、8根数据线,所以使用一片74LS245作为数据总线,另一片 74LS244作为地址总线(如图10)。总线把整个系统分为内部数据、地址总线和外部数据、地址总线,由于数据总线需要进行内外部数据的交换,所以由BUS信号来控制数据的流向,当BUS=1时数据由内到外,当 BUS=0时数据由外到内。 图10 总线单元 2.由于本系统内使用8根地址线、8根数据线,所以6264的A8~A12接地,其实际容量为256个字节(如图11)。 6264的数据、地址总线已经接在总线单元的外部总线 上。存储器有3个控制信号:地址总线设置存储器地 址,RM=0时,把存储器中的数据读出到总线上;当 WM=0,并且EMCK有一个上升沿时,把外部总线上的数据写入存储器中。为了更方便地编辑内存中的数 据,在实验机处于停机状态时,可由监控来编辑其中的数据。

计算机组成原理实验6

第六节 CPU组成与机器指令执行实验 一、实验目的 (1)将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机; (2)用微程序控制器控制模型机数据通路; (3)通过CPU运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。 二、实验电路 本次实验用到前面四个实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。因此,在基本实验中,这是最复杂的一个实验,也是最能得到收获的一个实验。 在前面的实验中,实验者本身作为“控制器”,完成数据通路的控制。而在本次实验中,数据通路的控制将由微程序控制器来完成。CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列来完成的,即一条机器指令对应一个微程序。 三、实验设备 (1)TEC-9计算机组成原理实验系统一台 (2)双踪示波器一台 (3)直流万用表一只 (4)逻辑测试笔一支 四、实验任务 (1)对机器指令系统组成的简单程序进行译码。 (2)按照下面框图,参考前面实验的电路图完成连线,控制器是控制部件,数据通路(包括上面各模块)是执行部件,时序产生器是时序部件。连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应接到IR1、IR0上。 开关控制 控制台时序发生器 时序信号 开关控制指示灯信号控制信号时序信号 控制信号 微程序控制器数据通路 指令代码、条件信号

计算机组成原理实验1.

计算机组成原理实验1 运算器(脱机)实验 通过开关、按键控制教学机的运算器执行指定的运算功能,并通过指示灯观察运算结果。实验原理: 为了控制Am2901运算器能够按照我们的意图完成预期的操作功能,就必须向其提供相应的控制信号和数据。 控制信号包括 1、选择送入ALU的两路操作数据R和S的组合关系(实际来源)。 2、选择ALU的八种运算功能中我们所要求的一种。这可通过提供三位功能选择码I5、 I4、I3实现。 3、选择运算结果或有关数据以什么方式送往何处的处理方案,这主要通过通用寄存器 组合和Q寄存器执不执行接收操作或位移操作,以及向芯片输出信息Y提供的是 什么内容。这是通过I8、I7、I6三位结果选择码来控制三组选择门电路实现的。 外部数据包括 1、通过D接收外部送来的数据 2、应正确给出芯片的最低位进位输入信号C n 3、关于左右移位操作过程中的RAM3、RAM0、Q3和Q0的处理。 4、当执行通用寄存器组的读操作时,由外部送入的A地址选中的通用寄存器的内容送 往A端口,由B地址选中的通用寄存器的内容送往B端口,B地址还用作通用寄 存器的写汝控制。 对于芯片的具体线路,需说明如下几点: 1、芯片结果输出信号的有无还受一个/OE(片选)信号的控制。 2、标志位F=0000为集电极开路输出,容易实现“线与”逻辑,此管脚需经过一个电阻 接到+5V。 3、RAM3、RAM0、Q3和Q0均为双向三态逻辑,一定要与外部电路正确连接。 4、通用寄存器组通过A端口、B端口读出内容的输出处均有锁存器线路支持。 5、该芯片还有两个用于芯片间完成高速进位的输出信号/G和/P。 6、Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄 存器的打入信号。 实验步骤如下: (1)选择运算器要完成的一项运算功能,包括数据来源,运算功能,结果保存等;(2)需要时,通过数据开关向运算器提供原始数据; (3)通过24位的微型开关向运算器提供为完成指定运算功能所需要的控制信号; (4)通过查看指示灯或用电表量测,观察运算器的运行结果(包括计算结果和特征标志)。实验准备 12为微型开关的具体控制功能分配如下: A口和B口地址:送给Am2901器件用于选择源与目的操作数的寄存器编号; I8~I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位控制码; Sci,SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理Am2901产生的状态标志位的结果。

计算机组成原理实验五参考

实验五CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 第二步,接线 本实验的接线比较多,需仔细。 1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。

2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。

3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。 合上电源。按CLR#按钮,使实验系统处于初始状态。 第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值 在本操作中,我们打算使R2 = 60H,R3 = 61H。 1.令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮, 使实验系统处于初始状态。 2.在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。 该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储 器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1 和AR2。

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

上海大学计算机学院 实验名称:指令系统实验 一、实验目的 1. 读出系统已有的指令,并理解其含义。 2. 设计并实现一条新指令。 二、实验原理 微程序和机器指令,实验箱的机器指令系统,实验箱机器指令系统的布线,实验箱机器指令系统的工作原理,实验箱PC的打入原理,程序存储器模式下的操作。 三、实验内容 1. 考察机器指令64的各微指令信号,确定该指令的功能。 (假设R0=77, A=11, 77单元存放56H数据,64指令的下一条指令为E8) 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT”操作。 3*. 修改机器指令F0,使其完成“A+R2的结果右移一位的值到OUT”的操作 四、实验步骤 实验任务一:

考察机器指令64的各微指令信号,确定该指令的功能。 实验步骤: 1.初始化系统(Reset),进入μEM,在Adr字段送入64,按NX键,可查看其对应的微指令: 64: FF 77 FF 65: D7 BF EF 66:FF FE 92 67:CB FF FF 2.分析其二进制代码,分析其控制功能 64: 1111 1111 0111 0111 1111 1111 从寄存器R?中取出地址打入地址寄存器MAR。 65: 1110 0111 1011 1111 1110 1111 把地址寄存器MAR的存储器值EM打入寄存器W。 66:1111 1111 1111 1110 1001 0010 把寄存器A和寄存器W中的数据进行或运算后打入寄存器A和标志位C,Z。 67:1100 1011 1111 1111 1111 1111 读出下一条指令并立即执行。 四条指令功能:把寄存器A和寄存器R?中地址内存的数据进行或运算,结果保存在寄存器A中,然后执行下一条指令。 实验任务二: 1.分解任务:修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT”操作的操作。第一步完成A+W;并把“左移一位的值送OUT”;第二步完成取指令。 2.编制微指令:由“控制总线功能对应表”,可确定这四步基本操作的微指令码为:

计算机组成原理实验

计算机组成原理 实验报告 学院(系):软件学院 专业:软件设计 班级:软件设计一班 学号:1415925365 姓名:沈烨 2016年11月24日

实验1 Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动CacheSim。 2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。 4、读取cache-traces.zip中的trace文件。 5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系? Cache 的容量与块长是影响cache效率的重要因素; Cache 容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache 容量达到一定值时,命中率已不因容量的增加而又明显的提高; 2、Cache块大小对不命中率有何影响? Cache 当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率可能下降; 3、替换算法和相联度大小对不命中率有何影响? 替换算法中:LRU算法的平均命中率比FIFO的高 LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序; Cache 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

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

2.6 存储器EM实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.5.29 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序存储器EM 的读写操作。 二.实验目的:了解模型机中程序存储器EM 的工作原理及控制方法。 三.实验电路: 存储器EM 由一片6116RAM 构成,是用户存放程序和数据的地方。存储器EM 通过一片74HC245 与数据总线相连。存储器EM 的地址可选择由PC或MAR 提供。 存储器EM 的数据输出直接接到指令总线IBUS,指令总线IBUS 的数据还可以来自一片74HC245。当ICOE 为0 时,这片74HC245 输出中断指令B8。 EM原理图

连接线表 四.实验数据及步骤: 实验1:PC/MAR 输出地址选择 置控制信号为: 以下存贮器EM实验均由MAR提供地址 实验2:存储器EM 写实验 将地址0 写入MAR 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据00H

置控制信号为: 按STEP键, 将地址0 写入MAR 将数据11H写入EM[0] 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据11H 置控制信号为: 按STEP键, 将数据11H写入EM[0] 将地址1 写入MAR 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据01H 置控制信号为: 按STEP键, 将地址1 写入MAR 将数据22H写入EM[1] 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据22H

计算机组成原理实验五参考

计算机组成原理实验五 参考 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

实验五 CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 地址指令机器代码 00H LDAR0,[R2]58H 01H LDA R1,[R3]5DH 02H ADD R0,R104H 03H JC +596H 04H AND R2,R33EH 05H SUB R3,R21BH 06H STA R3,[R2]4BH 07H MUL R0,R124H 08H STP60H 09H JMP [R1]84H 第二步,接线 本实验的接线比较多,需仔细。 1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。 2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、

LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、 ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。 3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。 合上电源。按CLR#按钮,使实验系统处于初始状态。 第三步,利用设置通用寄存器R2、R3的值

计算机组成原理实验1

计算机组成原理实验日志 实验题目: 运算器组成实验 实验目的: (1)了解运算器的组成结构; (2)掌握运算器的工作原理; ⑶学习运算器的设计方法; (4)掌握简单运算器的数据传输通路; (5)验证运算功能发生器74LS181的组合功能。 实验主要步骤: (1)(按图1.1-2连接实验电路并检查无误。图中将学生需要连接的信号线用小圆圈 标明(其他实验相同,不再说明)。 图1.1-2算术逻辑实验接线图 (2)打开电源开关。 (3)用输入开关向暂存器DR1置数。 ①拨动输入开关,形成二进制数01100101或其他数值)。(数据显示:灯亮 为0,灭为1)。 ②使SWITCH UNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU 输入三态门)、LDDR1=1、LDDR2=0。 ③按动微动开关KK2(产生T4),则将二进制数01100101置入DR1中。 (4)用输入开关向暂存器DR2置数。

①拨动输入开关,形成二进制数10100111或其他数值)。 ②SW-B=0、ALU-B=1 保持不变,改变LDDR1、LDDR2,使LDDR1=0、 LDDR2=1。 ③按动微动开关KK2(产生T4),则将二进制数10100111置入DR2中。⑸检验DR1和DR2中存的数是否正确。 ①关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器。 ②置S3、S2、S1、S0、M为1、1、1、1、1,总线显示灯显示DR1中的数。 ③置S3、S2、S1、S0、M为1、0、1、0、1,总线显示灯显示DR2中的数。(6)改变运算器的功能设置,观察运算器的输出。 ①SW-B=1、ALU-B=0保持不变。 ②按表1.1-2置S3、S2、S1、S0、M、Cn的数值,并观察总线显示灯显示的结果。 例如: 置S3、S2、S1、S0、M、Cn为1、0、0、1、0、1,运算器进行加法运算。 置S3、S2、S1、S0、M、Cn为0、1、1、0、0、0,运算器进行减法运算。 ⑺验证74LS181的算术运算和逻辑运算功能(采用正逻辑)。 ①在给定DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,并将该输出填入表1.1-2中。 ②参考表1.1-1给出的74LS181的逻辑功能表,验证74LS181的算术运算和逻辑运算功能(采用正逻辑),且与理论分析进行比较和验证。 实验结果: DR1置入01H DR1置入02H 加法,总线显示03H 减法,总线显示01H 心得体会: 通过本次实验初步了解了实验器材,加法原理和操作。

相关文档
最新文档