计算机组成原理实验报告1计算机组成原理实验报告一、实验计算机的组成1、软件组成软件系统的组成和实现功能:软件:解释BASIC语言汇编语言支持监控程序(指令)级模拟教学机模拟:运算器、控制器模拟(微程序级或硬连线控制器级模拟)主存储器模拟,总线、接口模拟输入设备/输出设备模拟运行环境:PC机,Windows系统从计算机组成原理课程教学实验的角度看,该计算机软件系统组成也是完整的,支持简单的高级语言BASIC(包括浮点运算指令和基本函数运算功能),汇编语言(支持基本伪指令功能)和二进制的机器语言,配有自己的监控程序,以及PC机仿真终端程序等。2、硬件组成硬件系统的组成和实现功能:软件:解释BASIC语言汇编语言支持监控程序硬件:运算器,控制器(多种实现:微程序或硬连线控制器,中小规模器件或FPGA器件实现)主存储器,总线,接口输入设备,输出设备硬件与电路:逻辑器件和设备由以上可知,该计算机硬件系统组成中,功能部件是完整齐备的,运算器、控制器、存储器、输入输出接口、计算机总线等配备齐全,还可以接通PC机仿真终端执行输入输出操作,同时实现了微程序和硬连线两种方案控制器。从CPU的具体设计和实现技术来说,既支持用中小集成度器件实现CPU的方案,也支持选用高集成度的FPGA门阵列实现CPU的方案,体现了CPU系统设计的最新水平。运算器与控制器1)控制器控制器概述:控制器分别用微程序方式与硬布线方式两种方案实现,实验者可以方便地选择使用其中任何一种。这能方便地比较两种控制器各自的优缺点,和设计过程的相同的、不同的步骤与方法。在选用器件时,微程序方案中选用了美国AMD公司的微程序定序器Am2910芯片,保证微程序设计的规范与实用性;控存体选用唯读存储器(ROM)芯片,通过对该ROM的编程写入方式支持动态微程序设计。硬布线方案中,节拍逻辑与时序控制信号形成部件(组合逻辑线路)选用了GAL20V8现场可编程器件和MacroArrayCMOSHighdensity(简写为MACH)器件,这对简化控制器的逻辑设计与实现至关重要,也有利于进一步掌握数字系统设计自动化和逻辑模拟的新知识。控制器部件详细介绍:组合逻辑的控制器主要由程序计数器PC(选用运算器内的一个通用累加器实现,未明计算机组成原理实验报告2显表示的图中)、指令寄存器IR、节拍发生器Timing、和时序控制信号产生部件MACH435(或MACH5)芯片等组成。硬布线控制器(又称组合逻辑)的主体部分由程序计数器PC(16位长度,是Am2901的R5),指令寄存器IR(16位长度),节拍发生器(4位触发器的节拍状态)和时序控制信号形成部件(1片100条引脚的现场可编程的CPLD器件)4部分组成。程序计数器PC用于保存下一条将要执行的指令在内存中的单元地址,有增量功能(PC+1→PC),并可以接受新的指令地址。在到内存读取指令之前,需要把PC中的内容送到内存地址寄存器,给出被读指令在内存中的单元地址。在教学计算机中,程序计数器PC选用运算器内部的一个16位的累加器实现。指令寄存器IR用于保存当前正在执行的指令的主要内容,在读取指令的周期接收从内存中读出来的一条指令,以便提供本指令的操作码和使用的数据或者数据地址。在教学计算机中,指令寄存器IR选用两片由8位的D触发器构成的寄存器实现。节拍发生器Timing用于使用几个触发器的不同的编码状态来区分和标示指令的执行步骤,指令执行步骤的衔接是通过节拍发生器的编码状态转换完成的。在教学计算机中,节拍发生器Timing选用一片简单PLD器件GAL20V8芯片实现。时序控制信号产生部件用于产生并提供每一条指令的每一个执行步骤使用的全部时序控制信号,它要依据指令寄存器的操作码和节拍发生器的状态编码信号,可能还有运算器运算产生的标志位信号(C、Z、S)等,通过由与_或两级门电路产生并提供出一条指令的一个执行步骤使用的全部控制信号,这些信号可以直接送到每个被控制对象,或者经过译码器送到被控制对象。在教学计算机中,时序控制信号产生部件选用一片有100个引脚的CPLD器件实现,两个译码器选用三八译码器74LS138芯片实现。指令寄存器IR节拍发生器Timing时序控制信号产生部件(由与_或两级组合逻辑门电路组成)程序计数器PC时序控制信号DC2译码器DC1译码器CLKCLK............CZS教学计算机的硬布线控制器组成框图2)运算器运算器概述:运算器中配置了两组独立的8位字长的运算器,各自由2片位片结构的运算器器件组成;还有四位的状态标志寄存器和教学实验所需的相关逻辑部件。全部的算术与逻辑运算均在这里完成;还完成几种寻址方式的实际地址计算;它也是主要的数据、地址传送的通路。要特别说明的一点是,堆栈指针SP和控制器中的程序计数器PC,都是用这里的几个通用寄存器来实现的,以节省器件与简化实验机的实现。运算器部件详细介绍:教学计算机的运算器部件的主体由4片4位的运算器芯片Am2901彼此串接构成。它输出16位的数据运算的结果(用Y表示)和4个结果特征位(用Cy、F=0000、OVER、F15标志),它的输入(用D表示)只能来自于内部总线。确定运算器运算的数据来源、运算功能、结果处置方案,需要使用控制器提供的I8~I0、B3~B0、A3~A0共17个信号。计算机组成原理实验报告3运算器的输出直接连接到地址寄存器AR的输入引脚,用于提供地址总线的信息来源。运算器的输出还经过两个8位的244器件的控制(使用DCI译码器的/YTOIB信号)被送到内部总线IB,用于把运算器中的数据或者运算结果写入内存储器或者输入输出接口芯片。运算器产生的4个结果特征位的信息需要保存,为此必须设置一个4位的标志寄存器FLAG,用于保存这4位结果特征信息,标志寄存器的输出分别用C、Z、V、S表示。控制标志寄存器何时和如何接收送给它的信息,需要使用控制器提供的SST2~SST0三位信号。运算器还需要按照指令执行的要求,正确地得到最低位的进位输入信号,最低位和最高位的移位输入信号,为此还需要配置另外一个标示为SHIFT的线路,在控制器提供的SSH和SCI1~SCI0三位信号的控制下,产生运算器最低位的进位输入信号,最低位和最高位的移位输入信号。运算器主要芯片及功能介绍:Am2901芯片是一个4位的位片结构的、完整的运算器器件,其内部组成如下图所示,作为教学内容的实例具有很好的典型性。Am2901芯片的内部组成框图1).Am2901的内部组成从图上可以看到,该芯片的第一个组成成分是一个4位的算逻运算部件ALU,它的输出为F,两路输入分别用R和S标记,还有送入ALU最低位的进位信号Cn。它能实现R+S、S-R、R-S三种算术运算功能,和R∨S、R∧S、R∧S、R⊕S、R⊕S五种逻辑运算功能。在给出运算结果的同时,还送出向高位的进位输出信号Cn+4,溢出标志信号OVR,最高位的状态信号F3(可能用作符号位),以及运算结果为零的标志信号F=0000。该芯片的第二个组成成分是由16个4位的通用寄存器组成的寄存器组。它是一个用双RAM34I6I7I8I2I1I0I5I4I3F3OVRCn+4F=0000CnQ0RAM0B地址A地址Q3/OESR4输入D输出Y二选一ALU二选一三选一三选一A16个B通用寄存器三选一Q寄存器FA锁存器B锁存器44计算机组成原理实验报告4端口(A口和B口)控制读出、单端口(B口)控制写入的部件。为了对其进行读写,需通过A地址(寄存器编号)、B地址(寄存器编号)指定被读写的寄存器。两路读出数据分别用A、B标记,经锁存器线路可以送到ALU的R、S输入端的多路选择器,A口读出数据还可以用作该芯片的可选输出信号之一。寄存器组的写入数据由一组多路选择器给出,并由B地址选择写入的寄存器。该芯片的第三个组成成分是一个4位的Q寄存器,主要用于实现硬件的乘法、除法指令,能对本身的内容完成左、右移位的功能,能接收ALU的输出,输出送到ALU的S输入端。该芯片的其余组成成分是5组多路数据选择器电路,每组都由4套电路组成,一套电路对应一个数据位,通过它们,实现芯片内部上述三个组成成分之间的联系,也实现该芯片和其外界信息的输入与输出操作,这包括:①一组4位的二选一器件控制把运算器内的两路4位输出数据(A口数据、ALU的运算结果数据)送出芯片,标记为Y;②一组4位的二选一和③一组4位的三选一器件,分别用于组合外部送来信息D,通用寄存器组的双路读出信息A和B,乘商寄存器Q的信息,以决定ALU的两路输入R和S的数据来源;④一组4位的三选一器件,完成从ALU的输出结果,ALU输出结果左移一位的值,ALU输出结果右移一位的值中选择其一,作为通用寄存器的写入信息,实现的是通用接存器接收及移位功能。在左右移位时,其最高位和最低位可以送出或接收相应位的信息,图中用RAM3和RAM0标记,它们都是由能进行双向传送的三态门电路实现的;⑤一组4位的三选一器件,用于完成Q寄存器内容的左右移位,或接收ALU的输出结果的操作功能。在进行左右移位操作时,与通用寄存器移位类似的是,这里存在Q3和Q0的双向传送问题。2)AR由什么芯片构成,引脚,读写工作原理结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):型号TPDPD读写工作原理:输出端Q0~Q7可直接与总线相连。当三态允许控制端OE为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,D被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。74Ls373内部结构图如下所示:计算机组成原理实验报告5引脚:D0~D7数据输入端OE三态允许控制端(低电平有效)LE锁存允许端Q0~Q7输出端真值表:DnLEOEQnHHLHLHLLXLLQ0XXH高阻3)查找送往AR的PC是2901中的R几?R54)74LS244及74LS245的内部结构、功能74LS244为3态8位缓冲器,一般用作总线驱动器。74LS244没有锁存的功能。地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。当微处理器与存储器交换信号时,首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。计算机组成原理实验报告6它主要用于三态输出,作为地址驱动器、时钟驱动器、总线驱动器和定向发送器等。其真值表如下:74Ls244真值表74LS244真值表L表示低电平H表示高电平X表示不定状态Z表示高阻态74ls24574LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。5)138译码器与139译码器比较计算机组成原理实验报告7139译码器内部138译码器内部为38译码器,139是两个独立的24译码器。二、实验机工作原理2.1、TEC-XP计算机组成原理实验箱简介1.教学机系统配置了两个不同实现方案的CPU系统,一个CPU沿袭传统的设计思路,