计算机组成原理课程设计
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

计算机组成原理课程设计 PowerPoint PPT Presentation


  • 131 Views
  • Uploaded on
  • Presentation posted in: General

计算机组成原理课程设计. 脱机方式下微码装入及执行. 实验六 脱机方式下微码装入及执行. 一、 相关单元介绍 Clock Unit, Ins Unit, Manual Unit, Main Control Unit, ALU Unit, Reg Unit, Address Unit, Input/Output Device, Mem Unit. Main Control Unit. ① 控制存储器 CM.

Download Presentation

计算机组成原理课程设计

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3989554

计算机组成原理课程设计

脱机方式下微码装入及执行


3989554

实验六 脱机方式下微码装入及执行

  • 一、相关单元介绍

    Clock Unit, Ins Unit, Manual Unit, Main Control Unit, ALU Unit, Reg Unit, Address Unit, Input/Output Device, Mem Unit


Main control unit

Main Control Unit


3989554

① 控制存储器CM

  • CM由3片2816(2K×8位)组成,存放24位的微指令。3片2816的高位地址A10~A7均接地,因此,控存的实际容量为128×24位,即可以存放128条微指令。


3989554

① 控制存储器CM

  • 控存的地址端接有7个微地址显示灯,控存的地址

    • 可以由微地址锁存器µAR提供(手动“编程PROM”或“校验READ”状态下);

    • 也可以由后继微地址修改逻辑来提供(“运行RUN”状态下),或者由PC机控制送出(联机状态下)。

  • 控存中的24位微码,高16位送微指令寄存器µIR保存并译码,低7位(下址字段)送散转逻辑电路。


3989554

微控器逻辑框图


3989554

② 微地址锁存器µAR

  • µAR由一片74LS374(8位锁存器)构成,用于锁存手动操作时由开关拨入的微地址MA6~MA0,并提供给控存。

  • µAR的输入端以排针的形式引出,标记为MA6~MA0,用以连接手动单元(MANUAL UNIT)的开关;输出端接至控存的地址输入端;但µAR的输出使能OE#则同样由GAL芯片控制产生。


3989554

③ 微指令寄存器µIR

  • 微指令寄存器µIR的功能是存放从控存CM中读出的高16位的微码M23~M8(低7位M6~M0是下址字段,M7为空)

  • µIR由两片74LS273(8位寄存器)组成的。

    • 清零端CLR#接CLR开关,在总清时µIR清零。

    • 数据输入端接控存CM的数据I/O端;

    • 数据输出端,一面以排针M13~M8的形式直接引出,另一面,M23~M14另送微指令译码器进行译码。M23~M0的定义参见3.5.3微指令的格式一节。


3989554

④ 微指令译码器

  • 微指令译码器由两片74LS138和两片GAL芯片组成,其功能是根据微指令的格式及各字段的定义,将µIR送来的编码字段进行译码,产生全机所需要的各种微操作控制信号,以实现该条微指令功能。


3989554

⑤ 控存地址寄存器CMAR

  • CMAR功能是:由输入信号SE6#~SE0#控制修改当前微指令的下址字段M6~M0(即MA6~MA0),以产生即后继微地址。

  • CMAR由四片74LS74(2位带清零预置端的寄存器)和一片74LS245(8位三态缓冲器)连接而成,四片74LS74的清零端均接CLR开关,预置端则分别接自输入信号SE6#~SE0#,因为预置端低电平有效,所以当SEi#=0时,相应的Mi即MAi被置1。


3989554

⑤ 控存地址寄存器CMAR

  • 四片74LS74的输入端接控存CM的数据输出端的最低7位M6~M0,经过预置端SE6#~SE0#的修改,形成输出信号MA6~MA0,连接至三态缓冲器(74LS245)的输入,输出则作为后继微地址送至控存2816的地址输入端,以寻址下条微指令。三态门74LS245的使能信号E#由编程开关的控制电路产生。


3989554

⑥ 开关与显示灯

  • 微控器单元包含有一组逻辑开关和两组发光二极管显示灯:

    • 微代码输入开关MK23~MK0:通过三片三态缓冲器74LS245(8位)接在控存的数据总线上,用于手动拨入24位微码。三态门74LS245的DIR接地,即数据传送B到A;其使能信号E# 则由编程开关的控制电路产生,控制三态门的打开和关闭。


3989554

⑥ 开关与显示灯

  • 微地址输入开关MAK6~MAK0:通过微地址锁存器74LS 374接控存的地址线MA6~MA0。

  • 微代码显示灯MD23~MD0:经驱动接控存的数据总线上,用于指示当前读出的微指令的24位微码。

  • 微地址显示灯MA6~MA0:经驱动接控存的地址线,用于指示下条微指令的7位微地址(修改过的后继微地址)。


3989554

⑦ 编程开关及控制电路

  • 微控器单元设有一个编程开关,它有三种状态:PROM(编程)、READ(校验)、RUN(运行)。根据编程开关的状态,控制电路产生本单元中各芯片的控制或使能信号,来实现各种不同的手动和联机操作。

    • 编程开关处于编程状态“PROM”时:

      • 可以实现手动输入微码。

    • 编程开关处于校验状态“READ”时:

      • 可以实现手动校验微码。


3989554

⑦ 编程开关及控制电路

  • 编程开关处于运行状态“RUN”时:

    • 可以实现运行微程序。此时,控存执行的是读操作,控存的地址是由后继微地址修改逻辑提供的,控存的数据则一面由24位的微代码显示灯显示输出,一面在时钟控制下送至µIR并译码产生微操作控制信号。


3989554

⑦ 编程开关及控制电路

  • 因此,在“RUN”状态下

    • 微地址锁存器µAR(374)的输出无效(输出使能信号OE#=1)

    • 微代码输入开关的三态门(245)关闭(使能信号E#=1)

    • 后续微地址三态门(245)打开(使能信号E#=0)

    • 控存(2816)读有效(片选CS#=0,输出使能OE#=0,写使能WE#=1)。

    • 此时,若启动时序电路,即可从微地址显示灯所指示的微地址开始向下运行。


3989554

二、微指令格式


3989554

三、实验原理

  • 微控器单元(MAIN CONTROL UNIT)、时序电路单元(CLOCK UNIT)。

  • 通过微控器单元中的编程开关(三个状态)来控制实现微码装入、校验、执行。微码装入与校验时的微地址,由手动单元(MANUAL UNIT)的开关拨入(经排线连接)。


3989554

四、实验接线

  • 时序电路单元(CLOCK UNIT)中的T1~T4信号,必须送至MAIN CONTROL UNIT的T1~T4(通过排线),其它各个单元使用的时序信号T1~T4均已和MAIN CONTROL UNIT的T1~T4连好。


3989554

五、实验步骤

  • 装入微码。

    • 方法一:脱机手工装入。

      • 将微控器单元(MAIN CONTROL UNIT)右上角的编程开关置于“PROG”状态。

      • 将时序电路单元(CLOCK UNIT)中的RUN#/STEP开关置于“STEP”状态。

      • 从手动单元(MANUAL UNIT)中的开关“MA6~MA0”上拨入微地址MA6~MA0。


3989554

五、实验步骤

  • 从微代码开关MK23~MK0上拨入微代码,24位开关对应着24位显示灯(灯亮表示“1”,灯灭表示“0”)。

  • 按动START按键,启动时序,即将24位微代码写入到控存(2816)的相应单元(由微地址MA6~MA0所指定)中。

  • 重复步骤①~⑤,即可将微指令代码一条条装入控存。

  • 方法二:联机装入。


  • 3989554

    五、实验步骤

    • 校验微码。

      • 方法一:手动校验。

        • 将编程开关置于“READ”状态。

        • 将时序电路单元(CLOCK UNIT)中的RUN#/STEP开关置于“STEP”状态。

        • 从手动单元(MANUAL UNIT)中的开关“MA6~MA0”上拨入微地址MA6~MA0。


    3989554

    五、实验步骤

    • 按动START按键,启动时序,读出微代码,观察显示灯MD23~MD0的状态(灯亮表示“1”,灯灭表示“0”),检查读出的微代码是否与写入的相同。如果不同,则将编程开关重新置于“PROG”状态,再执行操作3,装入正确的微代码即可。

  • 重复步骤①~④,即可校验每一条微指令代码。


  • 3989554

    五、实验步骤

    • 执行微程序。

      • 方法一:单步运行。

        • 将编程开关置于“RUN”状态。

        • 将时序电路单元(CLOCK UNIT)中的RUN#/STEP开关置于“STEP”状态。


    3989554

    五、实验步骤

    • 操作CLR开关(在实验板的右下角),使CLR信号“1→0→1”,从而使微地址MA6~MA0清零,即本机的微程序运行入口为0000000B(00H)。

    • 按动START按键,启动时序电路,每按动一次START按键,即读出(执行)一条微指令代码,然后停机。此时,实验台上的微地址显示灯MA6~MA0和微代码显示灯MD23~MD0的状态(灯亮表示“1”,灯灭表示“0”)指示所读出的微指令的地址和代码。


    3989554

    五、实验步骤

    • 执行微程序。

      • 方法二:连续运行。

        • 将编程开关置于“RUN”状态。

        • 将时序电路单元(CLOCK UNIT)中的RUN#/STEP开关置于“RUN”状态。

        • 操作CLR开关,使CLR信号“1→0→1”,从而使微程序运行入口为00H。

        • 按动START按键,启动时序电路,则可以连续读出(执行)微指令代码。

        • 片刻之后,将RUN#/STEP开关置于“STEP”状态,即可停机。


    3989554

    六、实验要求

    • 1、将微码表中的微代码全部装入控存并校验。

    • 2、从零地址开始执行微程序,观察并记录微地址的变化顺序,解释为什么。

    • 3、观察微地址显示灯MA6~MA0和微代码显示灯MD23~MD0的最低7位MD6~MD0状态是否始终保持一致?从理论上讲,是否应该这样?分析为什么。

    • 4、若要强制使微程序从07H单元开始执行,请结合微控器的结构和原理,说明你的方法,并实现。(提示:使用控制信号SE6#~SE0#来实现)


  • Login