《计算机组成原理实验 2.1 总线与寄存器赖晓铮.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理实验 2.1 总线与寄存器赖晓铮.ppt(14页珍藏版)》请在三一办公上搜索。
1、计算机组成原理 实验系列,一、总线与寄存器二、进位加法器三、比较器(仲裁器)四、计数器五、运算器六、存储器七、时序发生器八、微程序控制器九、硬布线控制器,赖晓铮 博士 华南理工大学laixzQQ:68046508,(一)总线与寄存器 实验,实验内容:构建一条8位总线的寄存器数据通路,将若干寄存器通过总线连接起来。通过拨码开关手动输入数据到某个寄存器;或者从一个寄存器向另一个寄存器赋值。同时,利用移位寄存器实现数据的置数、左移、右移等功能。比较以下器件两两之间的异同:触发器74LS74和74LS175,寄存器74LS273和74LS374,寄存器74LS273和移位寄存器74LS194。,实验目
2、的:掌握总线以及数据通路的概念及传输特性。理解锁存器、通用寄存器及移位寄存器的组成和功能。,(一)总线与寄存器 实验 电路图,拨码开关与总线缓冲器(注意观察74LS244左右电平),三态门74LS244,【1】总线实验,实验步骤:#SW_BUS=#R0_BUS=#DR_BUS=#SFT_BUS=1;启动仿真,手动拨码开关在总线DIN上置位数据0 x55。比较拨码开关所在的总线DIN与总线BUS上的数据。令#SW_BUS=0,三态门74LS244导通,记录BUS总线上的数据,与总线BIN相比较:,单位D触发器:74LS74 四位D触发器:74LS175,D触发器逻辑功能表,【2】D触发器实验,实
3、验步骤:令#R0_BUS=#DR_BUS=#SFT_BUS=1,#SW_BUS=0,启动仿真,手动拨码开关输入数据到BUS总线,改变74LS74的D端(即BUS总线的BUS_0)状态,按照后页逻辑功能表置位74LS74的#Sd端、#Rd端,观察并记录CLK端上升沿、下降沿跳变时刻的Q端和#Q端状态。手动拨码开关输入数据到BUS总线,使74LS175的D端(即BUS总线的BUS_0)分别接高,低电平,观察并记录CLK上升沿、下降沿跳变时刻的Q端、#Q端状态。观察当74LS175的端置0后,74LS175输出Q端、#Q端的变化。比较74LS175和74LS74的异同。,寄存器R0:74LS374
4、数据缓冲寄存器DR:74LS273,74LS273&374逻辑功能表,【3】寄存器实验,实验步骤:令#R0_BUS=#DR_BUS=#SFT_BUS=1;#SW_BUS=0,启动仿真,三态门74LS244导通,手动拨码开关输入数据0 xAA 到总线,观察此时寄存器74LS374和74LS273输出端的状态。令寄存器R0(74LS374)的R0_CLK端上升沿跳变,把总线上的数据0 xAA存入R0。令#SW_BUS=1,三态门74LS244阻断,观察总线BUS的状态。令#R0_BUS=0,74LS374输出选通,观察总线BUS的状态。令寄存器DR(74LS273)的DR_CLK端上升沿跳变,把总
5、线上的0 xAA数据存入DR。观察寄存器74LS273的输出端。再令#R0_BUS=1;观察寄存器74LS374的输出端,请比较器件74LS244、74LS273和74LS374的异同。,【3】寄存器实验,实验步骤:7)手动拨码开关输入新数据0 x55到总线BUS(#SW_BUS=0)。此时,新的数据会冲掉R0寄存器保存的原有数据0 xAA么?若再令#R0_BUS=0,会出现什么情况?8)假设手动拨码开关分别打入数据0 xAA和0 x55到R0寄存器(74LS374)和DR寄存器(74LS273),并且同时令#R0_BUS=0和#DR_BUS=0,会出现什么情况?在总线上可以同时选择多个寄存器
6、输出(导通输出端三态门)么?,四位双向移位寄存器 74LS194,【4】移位寄存器实验,实验步骤:令#R0_BUS=#DR_BUS=#SFT_BUS=1,#SW_BUS=0;启动仿真,通过拨码开关送入总线BUS任意八位二进制数,赋值74LS194的输入端D0D1D2D3。按照后页的逻辑功能表置位74LS194的MR、S1、S0、SL、SR端,观察并记录CLK端上升沿和下降沿跳变时刻输出端Q0Q1Q2Q3的状态。移位寄存器74LS194的“左移”功能可以作为把寄存器存储的8位二进制数据做“2”的乘法操作;其“右移”功能则作为把寄存器存储的8位二进制数据做“2”的除法操作。请问在执行上述操作的过程
7、中,74LS194的SL端和SR端应该连接“1”还是“0”?,思考题:为何常见的CPU都是8位、16位或32位总线?可以使用7位或10位的总线么?计算机总线的位数是由什么决定的?32位CPU是否一定比8位CPU的处理能力强?74LS194的SL端和SR端是提供D0D1D2D3端移入数据还是保存D0D1D2D3端移出数据?假设要保存74LS194的D0D1D2D3端移出的数据,该怎么修改寄存器电路?把原码数据0 x5A和0 x9A分别加载到移位寄存器74LS194,然后两个数据都分别执行一次“左移”(即“2”乘法操作)。请问哪个数据会出现错误?假设把补码数据0 x5A和0 x9A加载到移位寄存器74LS194中,分别执行一次“左移”(即“2”乘法操作),请问哪些数据会出现错误?,(一)总线与寄存器 实验,The End!,