77范文网 - 专业文章范例文档资料分享平台

计算机组成原理实验讲义(2)

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

借位。加、减运算在T4的上升沿送入C寄存器保存。与、乘、直通操作不影响进位C的状态,即进位C保持不变。

当ALU-BUS=1时,运算结果送往数据总线DBUS。加、减产生的进位C(借位)与控制台的C指示灯相连。

图4 数据通路总体图

2.DR1和DR2

DR1和DR2是运算操作数寄存器,DR1和ALU的B数据口相连,DR2和ALU的A数据口相连。DR1和DR2各由2片74HC298(U23,U24,U21,U22)组成。U23是DR1的低4位,U24是DR1的高4位;U21是DR2的低4位,U22是DR2的高4位。当M1=0且LDDR1=1时,在T3的下降沿,DR1接收来自寄存器堆B端口的数据;当M1=1且LDDR1=1时,在T3的下降沿,DR1接收来自数据总线DBUS的数据。当M2=0且LDDR2=1时,在T3的下降沿,DR2接收来自寄存器堆A端口的数据;当M2=1且LDDR2=1时,在T3的下降沿,DR2接收来自数据总线DBUS的数据。

3.多端口通用寄存器堆RF

多端口通用寄存器堆RF由一片ispLSI1016(U32)组成,它的功能和MC14580类似。寄存器堆中包含4个8位寄存器(R0,R1,R2,R3),有三个控制端口。其中两个端口控制读操作,一个端口控制写操作,三个端口可同时操作。RD1,RD0选择从A端口读出的寄存器,RS1,RS0选择从B端口读出的寄存器;WR1,WR0选择被写入的寄存器。WRD控制写操作。当WRD=0时,禁止写操作;当WRD=1时,在T2的上升沿将来自ER寄存器的数据写入由WR1,WR0选中的寄存器。

A端口的数据直接送往操作数寄存器DR2,B端口的数据直接送往操作数寄存器DR1。

除此之外,B端口的数据还通过1片74HC244(U15)送往数据总线DBUS。当RS-BUS#=0时,允许B端口的数据送到数据总线DBUS上;当RS-BUS#=1时,禁止B端口的数据送到数据总线DBUS。

4.暂存寄存器ER

暂存寄存器ER(U14)是1片74HC374,主要用于暂时保存运算器的运算结果。当LDER=1时,在T4的上升沿,将数据总线DBUS上的数据打入暂存寄存器ER。ER的输出送往多端口通用寄存器堆RF,作为写入数据使用。

5.开关寄存器SW-BUS

开关寄存器SW-BUS(U38)是1片74HC244,用于将控制台开关SW7-SW0的数据送往数据总线DBUS。当SW-BUS#=1时,禁止开关SW7-SW0的数据送往数据总线DBUS;当SW-BUS#=0时,允许开关SW7-SW0的数据送往数据总线DBUS。

6.双端口存储器RAM

双端口存储器由一片IDT7132(U36)及少量附加控制电路组成。IDT7132是2048字节的双端口静态随机存储器,本机实际使用256字节。IDT7132两个端口可同时进行读、写操作。在本机中,左端口的数据连线数据总线DBUS,可进行读、写操作,右端口数据和指令总线INS连接,输出到指令寄存器IR,作为只读端口使用。存储器IDT7132有6个控制引脚:CEL#,LRW,OEL#,CER#,RRW,OER#。CEL#,LRW,OEL#控制左端口读、写操作;CER#,RRW,OER#控制右端口读、写操作。CEL#为左端口选择引脚,低有效,为高时禁止左端口操作;LRW为高时,左端口进行读操作,LRW为低时,左端口进行写操作;OER#为低时,将左端口读出的数据放到数据总线DBUS上。CER#,RRW,OER#控制右端口读、写操作的方式与CEL#,LRW,OER#控制左端口读、写操作的方式类似,不过右端口读出的数据放到指令总线上而不是数据总线上。本机设计中,OER#已固定接地,RRW固定接高电平,CER#由CER反相产生。当CER=1时,右端口读出数据,并放到指令总线INS上;当CER=0时,禁止右端口操作。左端口的OEL#由LRW经反相产生,不需单独控制。当CEL#=0且LRW=1时,左端口进行读操作;当CER#=0且LRW=0时,在T3的上升沿开始进行写操作,将数据总线上的数据写入存储器。

7.地址寄存器AR1和AR2

地址寄存器AR1(U37)和AR2(U27,U28)提供双端口存储器的地址。AR1是1片GAL22V10,具有加1功能,提供双端口存储器左端口的地址。AR1从数据总线DBUS接收数据。AR1的控制信号是LDAR1和AR1-INC。当AR1-INC=1时,在T4的上升沿,AR1的值加1;当LDAR1=1时,在T4的上升沿,将数据总线DBUS的数据打入地址寄存器AR1。AR2由2片74HC298组成,有两个数据输入端,一个来自程序计数器PC,另一个来自数据总线DBUS。AR2的控制信号是LDAR2和M3。M3选择数据来源,当M3=1时,选中数据总线DBUS;当M3=0时,选中程序计数器PC。LDAR2控制何时接收地址,当LDAR=1时,在T2的下降沿将选中的数据源上的数据打入AR2。

8.程序计数器PC、地址加法器ALU2、地址缓存器R4

程序计数器PC、地址加法器ALU2、地址缓存器R4联合完成三种操作:PC加载,PC+1,PC+D。R4是一个由2片74HC298(U25,U26)构成的具有存储功能的两路选择器。当M4=1时,选中数据总线DBUS;当M4=0,从指令寄存器IR的低4位IR0-IR3接收数

据。当LDR4=1时,在T2的下降沿将选中的数据打入R4。ALU2由1片GAL22V10(U17)构成,当PC-ADD=1时,完成PC和IR低4位的相加,即PC加D。程序计数器PC是1片GAL22V10(U18),当PC-INC=1时,完成PC+1;当PC-ADD=1时,与ALU2一起完成PC+D的功能;当LDPC=1时,接收从ALU2和R4来的地址,实际是接收来自数据总线DBUS的地址,这些新的程序地址在T4的上升沿打入PC寄存器。

9.指令寄存器IR

指令寄存器IR是1片74HC374(U20)。它的数据端从双端口存储器接收数据(指令)。当LDIR=1时,在T4的上升沿将来自双端口存储器的指令打入指令寄存器IR保存。指令的操作码部分送往控制器译码,产生各种所需的控制信号。大多数情况下,指令的操作数部分应连到寄存器堆(用户自己连接),选择参与运算的寄存器。在某些情况下,指令的操作数部分也参与新的PC的计算。

本实验系统设计了12条基本的机器指令,均为单字长(8位)指令。指令功能及格式如表2所示。表2中的X代表随意值;RS1-RS0指的是寄存器堆的B端口选择信号RS1,RS0,RD1,RD0指的是寄存器堆的A端口选择信号RD1-RD0,不过由于运算结果需写回,因此它也同时指WR1,WR0,用户需将它们对应连接。另一点需说明的是,为了简化运算,指令JC D中的D是一个4位的正数,用D3 D2 D1 D0表示。

实验系统虽仅设计了12条基本的机器指令,但代表了计算机中常用的指令类型。必要时用户可扩充到16条指令或者重新设计指令系统。

表2 机器指令格式

名 称 加法 减法 乘法 逻辑与 存数 取数 无条件转移 条件转移 停机 中断返回 开中断 关中断 助记符 ADD Rd,Rs SUB Rd,Rs MUL Rd,Rs AND Rd,Rs STA Rd,[Rs] LDA Rd,[Rs] JMP [Rs] JC D STP IRET INTS INTC 功 能 Rd+Rs→Rd Rd-Rs→Rd Rd*Rs→Rd Rd&Rs→Rd Rd→[Rs] [Rs]→Rd [Rs]→PC 若C=1则 PC+D→PC 暂停运行 返回断点 允许中断 禁止中断 指令格式 R7 0 0 0 0 0 0 1 1 0 1 1 1 R6 0 0 0 0 1 1 0 0 1 0 0 1 R5 0 0 1 1 0 0 0 0 1 1 1 0 R4 0 1 0 1 0 1 0 1 0 0 1 0 R3 RS1 RS1 RS1 RS1 RS1 RS1 RS1 D3 × × × × R2 RS0 RS0 RS0 RS0 RS0 RS0 RS0 D2 × × × × R1 RD1 RD1 RD1 RD1 RD1 RD1 × D1 × × × × R0 RD0 RD0 RD0 RD0 RD0 RD0 × D0 × × × × 10.中断地址寄存器IAR

中断地址寄存器IAR是1片74HC374,用于保存中断发生时的断点地址。它直接使用LDIAR信号作为时钟脉冲。当IAR-BUS#=0时,它将断点地址送到数据总线DBUS上,以便用控制台上的数据指示灯观察断点地址。

以上介绍了数据通路的基本组成。数据通路所需的各控制信号,除了T1,T2,T3,T4

已在印制板上连接好以外,其余的控制信号在数据通路的下方都有插孔引出,实验时只要将它们和控制器产生的对应信号正确连接即可。实验中提供的电路图上,凡引出、引入线端带有短粗黑标记的信号,都是需要用户自己连接的信号。

1.6 控制器

控制器位于本实验系统的中上部,产生数据通路操作所需的控制信号。出厂时,提供了一个微程序控制器,使用户能够进行基本的计算机组成原理实验。在进行硬联线控制器实验,流水微程序控制器实验和流水硬联线控制器实验等课程设计时,用户可设计自己的控制器,部分或者全部代替出厂时提供的控制器。图5是控制器的框图。

1.控制存储器

控制存储器由5片28C64(U8,U9,U10,U11,U12)组成。28C64是电擦除的可编程ROM,存储容量为8K字节,本实验系统仅使用了64字节。微指令格式采用全水平型,微指令字长35位。其中顺序控制部分10位:后继微地址μA0-μA5,判别标志P0,P1,P2,P3;操作控制字段25位,全部采用直接表示法,用于控制数据通路的操作。

图5 控制器框图

标志位P3和控制台开关SWB、SWA结合在一起确定微程序的分支,完成不同的控制台操作。标志位P2与指令操作码(IR的高4位IR4,IR5,IR6,IR7)结合确定微程序的分支,转向各种指令的不同微程序流程。标志位P1标志一条指令的结束,与中断请求信号INTQ结合,实现对程序的中断处理。标志位P0与进位标志C结合确定微程序的分支,实现条件转移指令。

操作控制字段25位,全部采用直接表示法,控制数据通路的操作。在设计过程中,根据微程序流程图对控制信号进行了适当的综合与归并,把某些在微程序流程图中作用相同或者类似的信号归并为一个信号。下面列出微程序控制器提供的控制信号。信号名带后缀#者

为低电平有效,否则为高电平有效。

INTS INTC LDIR(CER) LDPCLDR4) PC-ADD PC-INC M4 LDIAR 置中断允许标志INTE为1。 清除中断允许标志INTE。 为1时,允许对IR加载,此信号也可用于作为双端口存储器右端口选择CER。 为1时,允许对程序计数器PC加载,此信号也可用于作为R4的加载允许信号LDR4。 为1时,进行PC+D操作。 为1时,进行PC+1操作。 当M4=1时,R4从数据总线DBUS接收数据;当M4=0时,R4从指令寄存器IR接收数据。 为1时,允许对中断地址寄存器IAR加载。 LDAR1(LDAR2) 为1时,允许对地址寄存器AR1加载,此信号也可用于作为对地址寄存器AR2加载。 AR1-INC M3 LDER IAR-BUS# SW-BUS# RS-BUS# ALU-BUS CEL# LRW 为1时,允许进行AR1+1操作。 当M3=1时,AR2从数据总线DBUS接收数据;当M3=0时,AR2从PC接收数据。 为1时,允许对暂存寄存器ER加载。 低有效,为0时将中断地址寄存器IAR送数据总线DBUS。 低有效,为0时将控制台开关SW7-SW0送数据总线DBUS。 低有效,为0时将寄存器堆RF的B端口送数据总线DBUS。 为1时,将ALU中的运算结果送数据总线DBUS。 低有效,为0时允许双端口存储器左端口进行读、写操作。 当LRW=1且CEL#=0时,双端口存储器左端口进行读操作;当LRW=0且CEL#=0时,双端口存储器左端口进行写操作。 为1时,允许对寄存器堆RF进行写操作。 WRD LDDR1(LDDR2) 为1时允许对操作数寄存器DR1加载。此信号也可用于作为对操作数寄存器DR2加载。 M1(M2) 当M1=1时,操作数寄存器DR1从数据总线DBUS接受数据;当M1=0时,操作数寄存器DR1从寄存器堆RF接收数据。此信号也可用于作为操作数寄存器DR2的数据来源选择信号。 选择运算器ALU的运算类型。 暂停微程序运行。 备用 S2,S1,S0 TJ NC0,NC1,NC2 NC3,NC4 上述控制信号连同时序电路提供的时序、控制信号位于控制器的下边。 2.微地址寄存器μAR

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机组成原理实验讲义(2)在线全文阅读。

计算机组成原理实验讲义(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/385652.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: