计算机组成原理专题实验
- 格式:docx
- 大小:651.66 KB
- 文档页数:10
计算机组成原理实验一、实验目的本实验旨在通过实际操作,加深对计算机组成原理的理解,掌握计算机硬件的基本原理和工作方式。
二、实验设备和材料1. 计算机主机:型号为XXX,配置了XXX处理器、XXX内存、XXX硬盘等。
2. 显示器:型号为XXX,分辨率为XXX。
3. 键盘和鼠标:标准配置。
4. 实验板:包括CPU、内存、存储器、输入输出接口等模块。
5. 逻辑分析仪:用于分析和调试电路信号。
6. 示波器:用于观测电路信号的波形。
三、实验内容1. 实验一:CPU的工作原理a. 将实验板上的CPU模块插入计算机主机的CPU插槽中。
b. 连接逻辑分析仪和示波器,用于观测和分析CPU的工作信号和波形。
c. 打开计算机主机,启动操作系统。
d. 运行一段简单的程序,观察CPU的工作状态和指令执行过程。
e. 通过逻辑分析仪和示波器的数据分析,了解CPU的时钟信号、数据总线、地址总线等工作原理。
2. 实验二:内存的存储和读写a. 将实验板上的内存模块插入计算机主机的内存插槽中。
b. 打开计算机主机,启动操作系统。
c. 编写一个简单的程序,将数据存储到内存中。
d. 通过逻辑分析仪和示波器的数据分析,观察内存的写入和读取过程,了解内存的存储原理和读写速度。
3. 实验三:存储器的工作原理a. 将实验板上的存储器模块插入计算机主机的存储器插槽中。
b. 打开计算机主机,启动操作系统。
c. 编写一个简单的程序,读取存储器中的数据。
d. 通过逻辑分析仪和示波器的数据分析,观察存储器的读取过程,了解存储器的工作原理和数据传输速度。
4. 实验四:输入输出接口的工作原理a. 将实验板上的输入输出接口模块插入计算机主机的扩展插槽中。
b. 打开计算机主机,启动操作系统。
c. 编写一个简单的程序,通过输入输出接口实现数据的输入和输出。
d. 通过逻辑分析仪和示波器的数据分析,观察输入输出接口的工作过程,了解数据的传输和控制原理。
四、实验结果分析1. 实验一:通过观察CPU的工作状态和指令执行过程,可以验证CPU的时钟信号、数据总线、地址总线等工作原理是否正确。
计算机组成原理实验(接线、实验步骤)实验⼀运算器[实验⽬的]1.掌握算术逻辑运算加、减、乘、与的⼯作原理;2.熟悉简单运算器的数据传送通路;3.验证实验台运算器的8位加、减、与、直通功能;4.验证实验台4位乘4位功能。
[接线]功能开关:DB=0 DZ=0 DP=1 IR/DBUS=DBUS接线:LRW:GND(接地)IAR-BUS# 、M1、M2、RS-BUS#:接+5V控制开关:K0:SW-BUS# K1:ALU-BUSK2:S0 K3:S1 K4:S2K5:LDDR1 K6:LDDR2[实验步骤]⼀、(81)H与(82)H运算1.K0=0:SW开关与数据总线接通K1=0:ALU输出与数据总线断开2.开电源,按CLR#复位3.置数(81)H:在SW7—SW0输⼊10000001→LDDR2=1,LDDR1=0→按QD:数据送DR2置数(82)H:在SW7—SW0输⼊10000010→LDDR2=0,LDDR1=1→按QD:数据送DR1 4.K0=1:SW开关与数据总线断开K1=1:ALU输出与数据总线接通5. S2S1S0=010:运算器做加法(观察结果在显⽰灯的显⽰与进位结果C的显⽰)6.改变S2S1S0的值,对同⼀组数做不同的运算,观察显⽰灯的结果。
⼆、乘法、减法、直通等运算1.K0K1=002.按CLR#复位3.分别给DR1和DR2置数4.K0K1=115. S2S1S0取不同的值,执⾏不同的运算[思考]M1、M2控制信号的作⽤是什么?运算器运算类型选择表选择操作S2 S1 S00 0 0 A&B0 0 1 A&A(直通)0 1 0 A+B0 1 1 A-B1 0 0 A(低位)ΧB(低位)完成以下表格ALU-BUS SW-BUS# 存储器内容S2S1S0 DBUS C输⼊时:计算时:DR1:01100011DR2:10110100(与)DR1:10110100DR2:01100011(直通)DR1:01100011DR2:01100011(加)DR1:01001100DR2:10110011(减)DR1:11111111DR2:11111111(乘)实验⼆双端⼝存储器[实验⽬的]1.了解双端⼝存储器的读写;2.了解双端⼝存储器的读写并⾏读写及产⽣冲突的情况。
实验一:数字逻辑——交通灯系统设计子实验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 数字显示的正确性,设计出正确的真值表。
计算机组成实验报告计算机组成实验报告(共3篇)篇一:《计算机组成与结构》实验报告11 .实验目的:1).学习和了解TEC-2000 十六位机监控命令的用法;2).学习和了解TEC-2000 十六位机的指令系统;3).学习简单的TEC-2000 十六位机汇编程序设计;2.实验内容:1).使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;2).使用 A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用G 命令连续运行该程序,用T、P 命令单步运行并观察程序单步执行情况;3、实验步骤1).关闭电源,将大板上的COM1 口与PC 机的串口相连;2).接通电源,在PC 机上运行PCEC.EXE 文件,设置所用PC 机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可;3).置控制开关为00101(连续、内存读指令、组合逻辑、16 位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。
其它实验相同;4).按一下“RESET”按键,再按一下“START”按键,主机上显示:TEC-2000 CRT MONITOR Version 1.0 April 2001Computer Architectur Lab.,Tsinghua University Programmed by He Jia >5).用R 命令查看寄存器内容或修改寄存器的内容a.在命令行提示符状态下输入:R↙;显示寄存器的内容图片已关闭显示,点此查看图片已关闭显示,点此查看b.在命令行提示符状态下输入:R R0↙;修改寄存器R0 的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示:寄存器原值:_在该提示符下输入新的值,再用R 命令显示寄存器内容,则R0 的内容变为0036。
图片已关闭显示,点此查看6).用D 命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H 地址开始的连续128 个字的内容;连续使用不带参数的 D 命令,起始地址会自动加128(即80H)。
《计算机组成原理》实验报告一一、实验目的:编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
通过本次实验, 学习、掌握运行汇编程序的相关知识。
1、二、实验内容:2、熟悉实验用微机的软、硬件配置(1)硬件: Intel Celeron 500GHz CPU、128M内存(8M作共享显存)、intel810芯片主板、集成i752显卡、maxtro20G硬盘、ps/2接口鼠标、PS/2接口键盘。
(2)软件:DOS 操作系统Windows98 seMASM汇编语言程序3、熟悉运行汇编语言所需的应用程序汇编程序使MASM连接程序使用LINK程序调试程序使用DEBUG程序4、熟悉汇编语言源程序上机操作过程(1)编辑源文件(选择可使用的文本编辑器)(2)汇编源程序文件(3)连接目标文件(4)运行可执行文件5、汇编操作举例用edit编辑myprog.asm文件;(见下图)用MASM.exe编译myprog.asm生成myprog.obj文件;C:\masm\bin> masm.exe由图中可以看出:0 个警告错误0个严格错误汇编通过, 生成mygrog.obj目标文件(如果有严格错误, 汇编不能通过, 必须返回编辑状态更改程序。
)用link.exe命令链接myhprog.obj生成myprog.exe文件!C:\masm\bin> link.exeC:\masm\bin> myprog.exe运行程序结果为:屏幕显示“Hi! This is a dollar sign terminated string.”三、实验总结:1.可以在DOS或Windows状态编辑汇编源程序2.可以使用EDIT 或记事本编辑汇编源程序, 源程序必须以.asm为扩展名。
在记事本中保存文件时, 可以加双引号“myprog.asm”,文件名就不会出现myprog.asm.txt的错误3.熟悉相关的DOS 命令cd 进入子目录mkdir 建立子目录xcopy *.* /s 拷贝当前目录下所有文件及子目录format a: 格式化A盘4.在Windows 系统下运行汇编程序, 有时会有问题, 建议大家熟悉DOS命令,DOS编辑工具, 在DOS状态下运行汇编程序。
《计算机组成原理》综合性实验实验一、复杂模型机设计实验实验二、用CPLD实现模型计算机的设计实验实验三、具有中断处理功能的模型机设计实验实验四、具有并行处理功能的模型机设计实验实验五、具有定时功能的模型机设计实验实验一、复杂模型机设计实验1.1模型计算机设计的基本指导思想设计一台完整的计算机,大致需按如下的顺序来考虑。
1) 确定设计目标确定所设计计算机的功能和用途。
2) 确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
3) 总体结构与数据通路总体结构设计包含确定各部件设置以及它们之间的数据通路结构。
在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。
对于部件设置,比如要确定运算器部件采用什么结构,控制器是微程序控制还是硬联控制等。
综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。
数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。
4) 设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度,确定每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。
5) 确定微程序地址根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。
6) 微指令代码化根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码,写入到控制存储器中的相应单元中。
7) 组装、调试在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。
当所有功能模块都调试正常后,进入总调试。
连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。
计组实验报告(共10篇)计组实验报告计算机组成原理实验报告一一、算术逻辑运算器1. 实验目的与要求:目的:①掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
②掌握简单运算器的数据传输通道。
③验算由74LS181等组合逻辑电路组成的运输功能发生器运输功能。
④能够按给定数据,完成实验指定的算术/逻辑运算。
要求:完成实验接线和所有练习题操作。
实验前,要求做好实验预习,掌握运算器的数据传送通道和ALU 的特性,并熟悉本实验中所用的模拟开关的作用和使用方法。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
实验完成后,要求每个学生写出实验报告。
2. 实验方案:1.两片74LS181(每片4位)以并/串联形式构成字长为8为的运算器。
2.8为运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连,运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连,DR1和DR2寄存器是用于保存参加运算的数据和运算的结果。
寄存器的输入端于数据总线相连。
3.8位数据D7~D0(在“INPUT DEVICE”中)用来产生参与运算的数据,并经过一个输出三态门(74LS245)与数据总线相连。
数据显示灯(BUS UNIT)已与数据总线相连,用来显示数据总线上所内容。
4.S3、S2、S1、S0是运算选择控制端,由它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。
5.M是算术/逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算。
6.Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。
逻辑运算与进位无关。
7.ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
低电平有效。
实验1 通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用.二、实验要求掌握通用寄存器R3~R0的读写操作.三、实验原理实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。
图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。
RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。
DRCK信号为寄存器组打入脉冲,上升沿有效.准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2—3-3 通用寄存器数据通路四、实验内容1.实验连线连线信号孔接入孔作用有效电平2.寄存器的读写操作①目的通路当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表.通用寄存器“手动/搭接”目的编码②通用寄存器的写入通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:③源通路当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表.通用寄存器“手动/搭接”源编码④ 通用寄存器的读出关闭写使能,令K18(RWR )=1,按下流程分别读R0、R1、R2、R3。
五、实验心得通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。
实验2 运算器实验一、实验目的掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能.二、实验要求完成算术、逻辑、移位运算实验,熟悉ALU 运算控制位的运用.三、实验原理实验中所用的运算器数据通路如图2-3—1所示。
ALU 运算器由CPLD 描述。
运算器的输出FUN 经过74LS245三态门与数据总线相连,运算源寄存器A 和暂存器B 的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O 输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
计算机组成原理综合实验报告一、实验目的本次计算机组成原理综合实验旨在深入理解计算机组成的基本原理,通过实际操作和设计,巩固所学的理论知识,并培养实践动手能力和创新思维。
二、实验设备本次实验所使用的设备包括计算机硬件实验平台、数字逻辑实验箱、示波器、万用表等。
三、实验内容1、运算器实验设计并实现一个简单的运算器,能够完成加法、减法、乘法和除法运算。
通过实验,深入理解运算器的工作原理,包括数据的输入、运算过程和结果的输出。
2、控制器实验构建一个基本的控制器,实现指令的读取、译码和执行过程。
了解控制器如何控制计算机的各个部件协同工作,以完成特定的任务。
3、存储系统实验研究计算机的存储系统,包括主存和缓存的工作原理。
通过实验,掌握存储单元的读写操作,以及如何提高存储系统的性能。
4、输入输出系统实验了解计算机输入输出系统的工作方式,实现与外部设备的数据传输。
四、实验步骤1、运算器实验步骤(1)确定运算器的功能和架构,选择合适的逻辑器件。
(2)连接电路,实现加法、减法、乘法和除法运算的逻辑。
(3)编写测试程序,输入不同的数据进行运算,并观察结果。
2、控制器实验步骤(1)分析控制器的工作流程和指令格式。
(2)设计控制器的逻辑电路,实现指令的译码和控制信号的生成。
(3)编写测试程序,验证控制器的功能。
3、存储系统实验步骤(1)连接存储单元,设置地址线、数据线和控制线。
(2)编写读写程序,对存储单元进行读写操作,观察数据的存储和读取情况。
(3)通过改变缓存策略,观察对存储系统性能的影响。
4、输入输出系统实验步骤(1)连接输入输出设备,如键盘、显示器等。
(2)编写程序,实现数据的输入和输出。
(3)测试输入输出系统的稳定性和可靠性。
五、实验结果1、运算器实验结果通过测试程序的运行,运算器能够准确地完成加法、减法、乘法和除法运算,结果符合预期。
2、控制器实验结果控制器能够正确地译码指令,并生成相应的控制信号,使计算机各个部件按照指令的要求协同工作。
计算机组成原理实验报告课程名称计算机组成原理实验学院计算机专业班级学号学生姓名指导教师20年月日实验一:基础汇编语言程序设计实验1实验目的●学习和了解TEC-XP+教学实验监控命令的用法;●学习和了解TEC-XP+教学实验系统的指令系统;●学习简单的TEC-XP+教学实验系统汇编程序设计。
2实验设备及器材●工作良好的PC机;●TEC-XP+教学实验系统和仿真终端软件PCEC。
3实验说明和原理实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。
实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。
4实验内容1)学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC;2)学习使用WINDOWS界面的串口通讯软件;3)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;4)使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
5实验步骤1)准备一台串口工作良好的PC机器;2)将TEC-XP+放在实验台上,打开实验箱的盖子,确定电源处于断开状态;3)将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里;4)取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;5)将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),6)控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;7)打开电源,船型开关盒5V电源指示灯亮;8)在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可; (8)按一下"RESET"按键,再按一下"START"按键,主机上显示:6实验截图及思考题【例3】计算1到10的累加和。
实验(一)基础汇编语言程序设计1、实验目的1.学习和了解TEC-XP教学实验系统监控命令的用法;2.学习和了解TEC-XP教学实验系统的指令系统;3.学习简单的TEC-XP教学实验系统汇编程序设计。
2、实验内容1、学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。
2、使用监控程序R命令显示修改寄存器的内容,D命令显示寄存器的内容,E命令修改存储器的内容。
3、使用A命令写一段小程序,U命令反汇编刚输入的程序,使用G命令连续运行该程序,用T,P命令单步运行并观察程序单步执行情况。
3、实验步骤1.用R命令查看寄存器内容或修改寄存器的内容。
2.用D命令显示存储器内容。
3.用E命令修改存储器内容。
4.用D命令显示这几个单元的内容。
5.用A命令键入一段汇编源程序1)在命令行提示符状态下输入:2)用U命令反汇编刚输入的程序3)用G命令运行前面刚键入的源程序4)用P或T命令,单步执行这段程序,观察指令执行结果6.举例编写汇编程序,用“A”命令输入,运行并观察结果1)例1:设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。
1>在命令行提示符状态下输入:2>用“G”命令运行程序在命令行提示符状态下输入:G 2000执行上面输入的程序。
光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。
2)例2:设计一个小程序,用次数控制在终端屏幕上输出‘0’到‘9’十个数字符。
1>在命令行提示符状态下输入:2>用“G”命令运行程序在命令行提示符状态下输入:G 2020:例二【思考题】类似的,若要求在终端屏幕上输出“A”“Z”共26个英文字母,应如何修改例一中给出的程序,请验证之。
3)例3:从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示,遇数字符结束输入过程。
1>在命令行提示符状态下输入:2>在命令行提示符状态下输入:G 2040光标闪烁等待键盘输入,若输入0~9十个数字符,则在屏幕上回显;若输入非数字符,则屏幕不再显示该字符,出现命令提示符,等待新命令。
计算机组成原理实验报告一、实验目的本次计算机组成原理实验的主要目的是深入理解计算机的内部结构和工作原理,通过实际操作和观察,巩固和拓展课堂上学到的理论知识,培养实践动手能力和解决问题的能力。
二、实验设备本次实验所使用的设备包括计算机主机、逻辑分析仪、示波器、面包板、各种芯片(如 74LS 系列、8255 芯片等)、导线若干。
三、实验内容1、算术逻辑运算单元(ALU)实验通过使用芯片搭建一个简单的算术逻辑运算单元,实现加法、减法、与、或等基本运算,并观察运算结果。
2、存储单元实验构建一个存储单元,了解存储器的读写操作和存储原理,包括随机存储器(RAM)和只读存储器(ROM)。
3、控制器实验设计一个简单的控制器,实现指令的译码和执行,理解计算机如何按照指令序列进行工作。
4、总线结构实验研究计算机内部的总线结构,包括数据总线、地址总线和控制总线,了解它们在信息传输中的作用。
四、实验原理1、算术逻辑运算单元算术逻辑运算单元是计算机中进行算术和逻辑运算的核心部件。
它通常由加法器、减法器、逻辑门等组成。
通过对输入的操作数进行相应的运算操作,产生输出结果。
2、存储单元存储器用于存储程序和数据。
随机存储器(RAM)可以随时读写,但其数据在断电后会丢失;只读存储器(ROM)中的数据在制造时就已确定,只能读取不能修改,且断电后数据不会丢失。
3、控制器控制器是计算机的指挥中心,负责从存储器中取出指令,对指令进行译码,并产生控制信号,控制各个部件的操作。
4、总线结构总线是计算机内部各个部件之间传输信息的公共通道。
数据总线用于传输数据,地址总线用于传输地址信息,控制总线用于传输控制信号。
五、实验步骤(1)按照实验电路图,在面包板上正确连接 74LS 系列芯片,如74LS181 等,构建加法器和逻辑运算电路。
(2)通过改变输入信号的值,使用逻辑分析仪观察输出结果,验证运算的正确性。
2、存储单元实验(1)使用芯片搭建随机存储器(RAM)和只读存储器(ROM)电路。
计算机科学技术系王玉芬2012年11月3日基础实验部分该篇章共有五个基础实验组成,分别是:实验一运算器实验实验二存储器实验实验三数据通路组成与故障分析实验实验四微程序控制器实验实验五模型机CPU组成与指令周期实验实验一运算器实验运算器又称作算术逻辑运算单元(ALU),是计算机的五大基本组成部件之一,主要用来完成算术运算和逻辑运算。
运算器的核心部件是加法器,加减乘除运算等都是通过加法器进行的,因此,加快运算器的速度实质上是要加快加法器的速度。
机器字长n位,意味着能完成两个n位数的各种运算。
就应该由n个全加器构成n位并行加法器来实现。
通过本实验可以让学生对运算器有一个比较深刻的了解。
一、实验目的1.掌握简单运算器的数据传输方式。
2.掌握算术逻辑运算部件的工作原理。
3. 熟悉简单运算器的数据传送通路。
4. 给定数据,完成各种算术运算和逻辑运算。
二、实验内容:完成不带进位及带进位的算术运算、逻辑运算实验。
总结出不带进位及带进位运算的特点。
三、实验原理:1.实验电路图图4-1 运算器实验电路图2.实验数据流图图4-2 运算器实验数据流图3.实验原理运算器实验是在ALU UNIT单元进行;单板方式下,控制信号,数据,时序信号由实验仪的逻辑开关电路和时序发生器提供,SW7-SW0八个逻辑开关用于产生数据,并发送到总线上;系统方式下,其控制信号由系统机实验平台可视化软件通过管理CPU来进行控制,SW7-SW0八个逻辑开关由可视化实验平台提供数据信号。
(1)DR1,DR2:运算暂存器,(2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。
(3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。
(4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。
(5)M:M=0执行算术操作;M=1执行逻辑操作。
(6)/CN :/CN=0表示ALU运算时最低位加进位1;/CN=1则表示无进位。
计算机组成原理实验报告——微程序控制器实验1.一. 实验目的:2.能看懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执行流程。
并可以自己设计几条指令, 并理解其功能, 格式及执行流程, 在教学计算机上实现。
3.深入理解计算机微程序控制器的功能与组成原理4.深入学习计算机各类典型指令的执行流程5.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念6.学习微程序控制器的设计过程和相关技术二. 实验原理:微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。
其工作原理分为:1.将程序和数据通过输入设备送入存储器;2.启动运行后从存储器中取出程序指令送到控制器去识别, 分析该指令要求什么事;3.控制器根据指令的含义发出相应的命令(如加法、减法), 将存储单元中存放的操作数据取出送往运算器进行运算, 再把运算结果送回存储器指定的单元中;4、运算任务完成后, 就可以根据指令将结果通过输出设备输出三. 微指令格式:1)微地址形成逻辑TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址.下地址的形成由下地址字段及控制字段中的CI3—SCC控制.当为顺序执行时,下地址字段不起作用.下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC提供转移条件,由下地址字段提供转移地址.2)控制字段控制字段用以向各部件发送控制信号,使各部件能协调工作。
控制字段中各控制信号有如下几类:①对运算器部件为了完成数据运算和传送功能, 微指令向其提供了24位的控制信号, 包括:4位的A、B口地址, 用于选择读写的通用积存器3组3位的控制码I8-I6、I5-I3、I2-I6, 用于选择结果处置方案、运算功能、数据来源。
3组共7位控制信号控制配合的两片GAL20V83位SST, 用于控制记忆的状态标志位2位SCI, 用于控制产生运算器低位的进位输入信号2位SSH, 用于控制产生运算器最高, 最地位(和积存器)移位输入信号②对内存储器I/O和接口部件, 控制器主要向它们提供读写操作用到的全部控制信号, 共3位, 即MRW③对CPU内部总线数据来源的控制, 主要通过3位编码标记为DCD, 来选择把哪一组数据发送到内部总线(IB)上。
计算机组成原理专题实验课程设计方案学院:电信学院班级:计算机16学号:2110505136姓名:冯旭指导老师:姜欣宁提交日期:2014年4月1日设计目的通过对一个简单模型机的设计与实现,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
指令集的设计1.机器位数及寻址特性及时间特性计划设计一个16位系统,提供256字的寻址空间和16个16位的通用寄存器。
寻址方式提供立即数寻址、寄存器寻址和直接寻址3种方式。
计划每条指令由两个机器周期完成(第一个机器周期取指令,第二个机器周期执行指令),每个机器周期固定占4个时钟周期。
2.指令类型计划提供16种指令,其中算逻类指令8条,其他类指令8条。
指令采用类似MIPS的方式,即只能使用load和store指令来访问存储器,一切运算均在寄存器之间进行。
同时由于所设计的系统是简化系统不含I/O设备,所以指令集中不提供I/O类指令。
具体指令及其所采用的寻址方式,如下所示:非算逻类指令:指令名指令格式指令含义LOAD Load dr,addr 将地址addr中的数存入dr寄存器STORE Storedr,addr 将dr寄存器中的数写入地址addr所指的空间JMP Jmp addr 跳转到地址addrJNE Jne addr 若标志位z无效跳转到地址addrJC Jc addr 若标志位c有效跳转到地址addrNOP nop 空指令MOV Mov dr,sr 将sr寄存器中的值复制到sr寄存器MOVI Movi dr,imm 将8位立即数imm写入dr寄存器算逻类指令:ADD Add dr,sr 将dr寄存器中的值与sr寄存器中的值相加,结果存dr寄存器SUB Sub dr,sr 将dr寄存器中的值与sr寄存器中的值相减,结果存dr寄存器AND And dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑与,结果存dr寄存器OR Or dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑或,结果存dr寄存器NOT Not dr 将dr寄存器中的值按位取反SHL Shl dr,sr 将dr寄存器中的值逻辑左移sr中值那么多位SHR Shr dr,sr 将dr寄存器中的值逻辑右移sr中值那么多位INC Inc dr 将dr寄存器中的值自增13.指令格式我们采用16位固定位指令格式,根据操作数寻址方式的不同,对这16位可以划分为两种不同的理解方式,即可以认为是提供两种相似的格式:其中操作码部分均为4位,占指令中15到12的高4位。
计算机组成原理专题实验课程设计方案学院:电信学院班级:计算机16学号:2110505136姓名:冯旭指导老师:姜欣宁提交日期:2014年4月1日设计目的通过对一个简单模型机的设计与实现,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
指令集的设计1.机器位数及寻址特性及时间特性计划设计一个16位系统,提供256字的寻址空间和16个16位的通用寄存器。
寻址方式提供立即数寻址、寄存器寻址和直接寻址3种方式。
计划每条指令由两个机器周期完成(第一个机器周期取指令,第二个机器周期执行指令),每个机器周期固定占4个时钟周期。
2.指令类型计划提供16种指令,其中算逻类指令8条,其他类指令8条。
指令采用类似MIPS的方式,即只能使用load和store指令来访问存储器,一切运算均在寄存器之间进行。
同时由于所设计的系统是简化系统不含I/O设备,所以指令集中不提供I/O类指令。
具体指令及其所采用的寻址方式,如下所示:非算逻类指令:指令名指令格式指令含义LOAD Load dr,addr 将地址addr中的数存入dr寄存器STORE Storedr,addr 将dr寄存器中的数写入地址addr所指的空间JMP Jmp addr 跳转到地址addrJNE Jne addr 若标志位z无效跳转到地址addrJC Jc addr 若标志位c有效跳转到地址addrNOP nop 空指令MOV Mov dr,sr 将sr寄存器中的值复制到sr寄存器MOVI Movi dr,imm 将8位立即数imm写入dr寄存器算逻类指令:ADD Add dr,sr 将dr寄存器中的值与sr寄存器中的值相加,结果存dr寄存器SUB Sub dr,sr 将dr寄存器中的值与sr寄存器中的值相减,结果存dr寄存器AND And dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑与,结果存dr寄存器OR Or dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑或,结果存dr寄存器NOT Not dr 将dr寄存器中的值按位取反SHL Shl dr,sr 将dr寄存器中的值逻辑左移sr中值那么多位SHR Shr dr,sr 将dr寄存器中的值逻辑右移sr中值那么多位INC Inc dr 将dr寄存器中的值自增13.指令格式我们采用16位固定位指令格式,根据操作数寻址方式的不同,对这16位可以划分为两种不同的理解方式,即可以认为是提供两种相似的格式:其中操作码部分均为4位,占指令中15到12的高4位。
DR和SR均为通用寄存器的编号,各占4位,ADDR/IMM部分为地址或立即数(8位)占指令中最低8位。
根据指令中操作数的数量和寻址类型的不同选用不同的格式,其主导思想为:1,涉及到地址和立即数的指令均采用第二类指令,若用不到dr(如jmp指令)则将dr部分置0不用;2,涉及到两个寄存器的指令均采用第一类指令,此时指令的低4位部分置0不用;3,对于操作数只设计一个寄存器的指令,均将寄存器号放在dr字段,则低8位不用。
具体分配为:指令类型采取格式无操作数指令(nop) 1单寄存器操作数指令(inc) 2单地址操作数指令(jmp) 2寄存器-寄存器指令(adddr,sr) 1寄存器-立即数/地址指令(loaddr,addr) 2系统硬件电路的设计基本模块与时钟计划采用上一阶段设计完成的算逻部件ALU,寄存器组REGFILE,主存MM作为系统的3个基本功能模块,并在本阶段再设计一个指令寄存器IR,一个程序计数器PC和一个控制部件CU。
为了更好地访问主存,还需要设计存储器地址寄存器MAR和存储器数据寄存器MDR。
利用这些基本模块通过一定的连接和控制逻辑来实现整个系统系统电路图的设计通过分析指令格式的设计,我们发现所有指令只有4个组成部分,分别为:(1)15到12位的操作码OP;(2)11到8位的目的寄存器号DR;(3)7到4位的源寄存器号SR;(4)7到0位的立即数或地址。
可以在读到指令之后立即将它们分离出来,供给其他部件访问。
这样一来原来需要保存到CU之中的操作码op也可以通过输入端的形式来向CU提供,从而又简化了CU的设计。
为了快速地将提取出来的寄存器号送到寄存器组RF的地址输入端上,可以采用专用通道加多路选择器的方式来完成,这样就可以在非常短的时间内为RF的ADDR端提供所需地址,同时还不占用总线。
而代价仅仅是多了一个多路选择器的选择信号。
本设计的特点是:采用了一条分时复用的地址/数据总线,各个器件的各个控制信号相互独立,采用多路选择器来完成数据的选通。
另外,在将指令读到IR之后立即将它按指令格式中的规定,划分为几个部分,供其他部件快速访问主要部件的描述ALU的设计内设A和B两个16位寄存器,使用时须先将两个(一个)操作数通过W信号写入器件内部。
在写入时,若选择信号SEL为0则表示写入到A寄存器,若选择信号SEL为1则表示写入到B寄存器。
数据的写入采用的是同步控制方式,即如公共特性说明部分提到的在W有效的CLK下降沿将数据打入器件。
而结果的计算采用的是异步方式,只要使能信号有效就不断根据操作码OP和操作数寄存器的值来计算结果并通过输出端输出最新结果。
MM、RF这两个器件比较相似,它们的主要功能为根据地址端的信号输入将数据读出或写入。
它们的控制信号只要EN、W、R和CLK,它们的数据输入和输出都是16位的,MM的地址输入是8位,二RF的地址输入是4位的。
它们均采用按字编址方式。
MAR、MDR这两个器件的实现完全一致,它们在本质上说是一个16位的锁存器。
在使能信号有效时,它们可根据CLK和W信号的控制将输入端上的数据打入到器件内部,并在输出端上输出它们。
当使能信号变为无效时,输出将保持为在使能信号变为无效前最后一刻的输出,而不管其他控制信号和输入如何变化。
PC在写入和输出功能方面它与MAR和MDR器件完全一致。
PC器件的独特之处在于它还有一个“+1”信号,该信号可以让PC内部的计数器自增一,完成指向下一个地址的作用。
它的控制方式和W信号类似,即在使能信号有效且“+1”信号有效的CLK下降沿完成动作。
IRIR没有使能端,它的数据输入只需配合CLK和W信号即可。
它的特点在于它可以它设置了4个输出端,分别是OP,DR,SR,IMM/ADDR,它们将器件中保存的指令按字段划分开来,供后续功能部件使用。
这些输出是异步的,即只要打入了新的指令,输出就会随之发生变化。
OP对应指令的高四位,即15到12位;DR对于指令的次高四位,即11到8位;SR对于指令的次末四位,即7到4位;IMM/ADDR对应指令的末八位,即7到0位。
MUX多路选择器的控制信号的名字均以MUX的首字母“M”开头并用下划线连接它所控制的功能部件名,例如MUX1_SEL是控制向MDR送数据的多路选择器的控制信号。
设计中用到的多路选择器都是两输入的,所以控制信号只要一位就可以了,在图2中已用0和1标出了控制信号为0/1是选通的输入端是哪一个。
另外当多路选择器的使能信号无效时,输出将保持在使能信号失效前最后一刻的输出。
各多路选择器的输入输出关系如下:多路选择器名控制信号名控制为0时对应的输入控制为1时对应的输入MUX1 MUX1_SEL 总线MM的Dout端MUX2 MUX2_SEL IMM/ADDR PCMUX3 MUX3_RF_SEL DR SR结束存取数指令store 、load:在T1周期,将目的寄存器DR中寄存器地址给RF,并在同时,在总线上将IMM/ADDR寄存器的值打入MAR。
在T2周期读出选中的寄存器中的值到总线上,并将总线上的这个值写入到MDR中。
在T3周期根据MAR和MDR中的信息完成MM的写入。
T4周期空置。
取数指令load的执行周期和取指令周期的动作类似,区别在于地址是从IMM/ADDR寄存器输出而不是PC,数据最终写到寄存器组而不是指令寄存器IR。
而关于寄存器组中具体寄存器地址的的给出与存数指令store相似。
其数据通路如下:Load:Store:跳转类指令:这些指令完成的就是一个PC的写入动作,写入的源可以是PC本身,也可以是指令中IMM/ADDR字段的值,区别在于在什么情况下写入,即状态寄存器PSW中值的情况(认为jmp指令直接得到肯定的判断结果)。
执行过程为:在T1周期由CU根据情况对MUX2给出合适的选通信号。
在T2周期,将MUX2出口处的数据写入到PC中。
T3和T4周期空置。
其数据通路如下:单操作数类算逻指令:考虑到多路选择器的输出是有延时的,而读命令又是上升沿触发的,所以给出寄存器组内地址和读取寄存器组中的数据不能放在同一个节拍内完成,应该分开。
在T1周期,给出MUX3的控制信号,选中DR。
在T2周期,在时钟上升沿读出寄存器中的值到总线上,在时钟下降沿将总线上的值打入到ALU中,并进行运算。
在T3周期,将ALU的输出引脚接到总线上,并将总线上的值打入到DR给出的寄存器中。
T4周期空置。
其数据通路如下:双操作数类算逻指令:从寄存器组中读出一个数需要2个节拍,写入一个数需要1个节拍,如果这样的话那么完成一个双操作数的算逻指令需要2+2+1=5个节拍,这超过了我们规定的4个节拍。
经过分析可以发现,我们可以将取第二个操作数的第一拍和取第一个操作数的第二拍合并起来在一个节拍内完成。
这是因为,R命令是在时钟上升沿作用的,而此时第二个操作数的地址还没有被MUX3给出,要等一会地址引脚的值才会变为新的值,而在此之前从寄存器组中读书的操作已经完成了。
所以这类命令的执行过程为:在T1周期,让MUX3给出SR的值。
在T2周期,读出寄存器组输出的值到总线并写入到ALU的A寄存器,并让MUX3给出DR的值。
在T3周期,读出寄存器组输出的值到总线并写入到ALU的B寄存器。
在T4周期,将ALU计算的结果写回到寄存器组中(地址为DR的值)。
其数据通路如下:设计总结通过紧张有序的课程设计实践,不仅让我对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与模型机的硬件结构和怎么去设计微程序等过程有了进一步的了解, 也让我觉得自己的动手能力有了很大的提高;自信心也增强了,在课程设计中自己动脑子解决遇到的问题,书本上的知识有了用武之地,这巩固和深化了自己的知识结构。