精华内容
下载资源
问答
  • 2020-11-03 16:57:01

    程序:
    程序由一些指令组成

    指令:
    这里的指令指 MOV AX,BX这样的汇编指令

    机器指令:
    机器指令是指令翻译后的结果,比如上面的指令翻译结果为89D8

    微指令:
    机器指令是由数个微指令组成,且每一个时钟周期对应一个微指令,比如MOV AX,BX,应该由这些微指令组成:
    取值周期:
    时钟周期①:(PC)->MAR (控制信号PCout = 1,MARin = 1)
    时钟周期②:M->MDR (控制信号MEMR = 1,MDRinE = 1)
    时钟周期③:(PC)+1->PC (控制信号 +1(具体看逻辑设计是否直接提供自加操作,若无,就用ALU自加)
    时钟周期④:MDR->IR(控制信号 MDRout = 1,IRin = 1)
    时钟周期⑤:IR译码 (控制信号 根据译码寄存器提供的控制字)

    因为该程序无简址操作,所以微程序中无间址周期
    若指令为MOV AX,[DI]这样的指令则应有间址周期

    执行周期:
    时钟周期①:(BX)->BUS->AX (控制信号Bout =1 Ain = 1)
    执行结束

    微命令
    根据微指令的设计方式(水平或垂直),一个微指令应该有数个(水平)或者一个(垂直)微命令

    水平微指令有 控制字段,判断测试字段(P字段),后续地址字段
    设计算机只有这些,包括PCout PCin MARout MARin MDRin MDRout MDRinE MDRoutE MEMR MEMW IRin PC+1 IR译码

    那么就应该按照功能的不同分别编码
    这里以水平微指令举例
    比如PC,应该编为 00 无操作,01 PCin ,10 PCout ,11无操作
    那么(PC)->MAR对应的控制字应该为 10(PCout) 01(MARin) 000(MDR无操作) 00(MEM无操作) 0(IR无操作) 0(PC+1无操作) 0(IR译码无操作)
    即 100100000000
    注:这里的编码不包括 后去的判断测试字段与后续地址字段

    其中10(PCout)即一个微命令

    微操作
    微操作即一个微命令对应的具体操作,将微命令交予执行部件后,由执行部件具体执行
    例如10(PCout)交予了PC寄存器,那么PC寄存器会根据控制字向总线上输出PC内的值

    更多相关内容
  • PLC的程序控制指令PPT教案.pptx
  • 文章目录

    程序控制指令

    程序控制类指令的本质是:控制程序的执行方向
    决定程序执行方向的因素:CSIP
    程序控制类指令的操作对象是:IPCS和IP
    控制程序执行方向的方法:

    在这里插入图片描述

    程序控制指令包含4类:转移指令循环控制过程调用中断控制



    一、 转移指令

    转移是通过修改下一条要执行指令的偏移地址段地址和偏移地址实现程序的转移
    分为:

    在这里插入图片描述

    1.1 无条件转移指令 JMP

    分为直接转移间接转移
    分为段内(16位) 和 段间(32位)

    在这里插入图片描述

    直接和间距的区别就是,前者是直接给地址,后者通过寄存器或者其他

    段间和段内的区别就是,前者32位(CS:IP 故32位),后者是16位(就ip,所以16位)

    1.1.1 段内直接

    JMP Label
    Label: 指向下一条代码的地址

    1.1.2 段内间接

    如果我们是通过指令里面的寄存器 或者 存储器操作数给出的目标地址,就称为间接转移。例如:

    MOV BX, 1200H
    JMP BX    //运行完了之后 IP = 1200H,这里 BX 是寄存器操作数
    

    另外一种表现形式:

    MOV BX, 1200   //注意:这里不是 H 
    JMP WORD PTR [BX]  //这样一来,我们把数据段里面 标号为 1200和 1201 的两个单元分别赋给 IP的低位和高位
    

    段内间接例子在这里插入图片描述





    还是以上面的为例,如果我们的 Label 符号是 32 位的地址,那么就表示 段间转移

    同样,段间转移也分为了 段间直接转移段间间接转移
    段间直接转移就是我们在指令里面直接给出 32 位目标地址(CS:IP)
    段间间接转移就是需要通过 32 位的存储器操作数(注意不能是寄存器了)给出目标地址。

    1.1.3 段间直接

    对于段间直接转移,指令格式是:JMP FAR Label(FAR 代表远地址)

    1.1.4 段间间接

    那么对于段间间接转移,我们可以用下面的表述:

    JMP DWORD PTR[BX]    //[BX]指向的是存储器操作数
    

    段间间接例题:

    在这里插入图片描述




    1.2 有条件转移指令 …

    1. 根据单个条件标志的设置情况转移
      在这里插入图片描述
      这种转移指令常常用于适用于测试某一次运算的结果并根据其不同特征产生程序分支不同的处理的情况

    2. 比较两个无符号数,并根据比较的结果转移
      在这里插入图片描述

    3. 比较两个带符号数,并根据比较的结果转移
      在这里插入图片描述

    4. 常用
      在这里插入图片描述




    二、循环转移指令

    循环控制指令有几个要点:

    • 循环范围:以当前 IP 为中心的 -128~ +127的范围内循环
    • 循环次数:循环的次数必须要由 CX 寄存器指定。
    • 循环指令也分为无条件循环 LOOP条件循环指令 LOOPZ/ LOOPNZ

    2.1 无条件循环指令 LOOP

    格式:LOOP Label
    等价于:(这个有点不确定)

    DEC CX
    JNZ 符合地址
    

    循环的条件是:当 CX ≠ 0时。

    在这里插入图片描述

    2.2 条件循环指令 LOOPZ/ LOOPNZ

    功能:先使得 CX -1,再根据 CX 的值以及 ZF 的值去决定是否循环。

    1. LOOPZ(相等则循环):当 CX ≠ 0,且 ZF = 1时循环
    2. LOOPNZ(不相等则循环):当 CX ≠ 0,且 ZF = 0时循环

    因此,条件循环指令前面需要跟能够改变 ZF 状态的指令,用以控制循环




    三、过程调用指令

    过程调用,就是类似于我们在 C++ 里面的主程序中调用子函数一样。
    那么话说回来,我们在刚刚所讨论的转移类指令,是程序运行到某个地方之后,就跳转到另外一段代码,不会再回到原处了。
    但是对于过程调用指令,我们跳转到子程序运行完了之后,是需要回到原来的地方继续执行主程序的。
    用下面的图说明一下
    在这里插入图片描述
    注意:我们执行完子程序返回的位置是原来跳转位置的后一条指令!

    因此,既然需要返回原来的位置,也就不能忘了初心。
    过程调用指令需要保护返回地址(也就是 段基地址 和 偏移地址)。即我们需要把 CS 和 IP 里面的内容压栈。

    3.1 基本格式

    调用指令:CALL <子过程的入口地址>
    返回指令:RET

    分为直接转移间接转移
    分为段内(16位) 和 段间(32位)
    在这里插入图片描述

    3.2 段内 直接/间接 调用例子

    在这里插入图片描述

    3.3 段间 直接/间接 调用例子

    在这里插入图片描述

    3.4 CALL指令执行对堆栈的影响

    在这里插入图片描述




    四、中断控制

    响应中断,即针对某个随机或异常事件执行一段处理程序,称为中断服务程序,本质上是一种特殊的过程调用,且全部是远过程调用。

    指令格式:INT n
    n=0 ~ 255

    执行过程:
    在这里插入图片描述

    中断指令的执行过程示例
    在这里插入图片描述

    中断指令例子

    在这里插入图片描述

    中断返回指令
    格式:IRET
    中断服务程序的最后一条指令,负责恢复断点 、恢复标志寄存器内容

    展开全文
  • CPU的功能和基本结构CPU的功能运算器控制器CPU的基本结构指令执行过程三个...程序控制器的特点指令流水线基本概念指令流水的定义流水线的表示方法性能指标吞吐率加速比效率影响因素结构相关(资源冲突)数据相关(数据...


    笔记📗

    计算机组成原理-计算机硬件的基本组成
    计算机组成原理-计算机的功能部件及层次结构
    计算机组成原理-计算机性能指标
    计算机组成原理-数制与编码(进制转换)
    计算机组成原理-定点数的表示和运算
    计算机组成原理-浮点数的表示与运算
    计算机组成原理-算术逻辑单元ALU
    计算机组成原理-存储系统
    计算机组成原理-高速缓冲存储器
    计算机组成原理-指令系统 (指令、操作码、地址码、指令寻址、数据寻址)

    资源💾

    计算机组成原理PPT:链接: https://pan.baidu.com/s/1EqL9NmQ-0glDNIFPBfUmVg 密码: sfwg
    配套书籍:链接: https://pan.baidu.com/s/1cZx27Gfooj2uAhSP9sbrRA 密码: j5ms


    CPU的功能和基本结构

    CPU的功能

    「中央处理器」(CPU)由「运算器」和「控制器」组成。

    「控制器」主要是负责协调并且控制计算机各部件执行程序的指令序列,包括「取指」、「分析」和「执行」指令;

    「运算器」的功能是对数据进行加工。CPU的功能具体包括:

    1. 指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
    2. 操作控制。一条指令的功能往往由若干操作信号的组合来实现,从而控制这些部件单招指令的要求进行动作。
    3. 时间控制。对各种操作加以时间上的控制。
    4. 数据加工。对数据进行算术逻辑运算。
    5. 中断处理。对计算机运行过程中出现的异常情况和特殊请求进行处理。

    运算器

    「运算器」接收从「控制器」送来的命令并执行相应的动作,对数据进行加工和处理。「运算器」是计算机对数据进行加工处理的中心,主要由算术逻辑单元(ALU)、暂存寄存器、累加寄存器(ACC)、通用寄存器组、程序状态字寄存器(PSW)、移位器、计数器(CT)等组成。

    算术逻辑单元

    主要功能是进行算术/逻辑运算

    暂存寄存器

    用于暂存从主存读来的数据,该数据不能存放在通用寄存器中,否则会破坏原有内容。对于应用程序而言,暂存寄存器是透明的。

    累加寄存器

    是一个通用寄存器,用于暂时存放ALU运算的结果信息,可以作为加法运算的一个输入端。

    通用寄存器组

    如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息。SP是堆栈指针,用于表示栈顶的地址。

    程序状态字寄存器

    保留由算术逻辑运算指令或测试指令的结果而建立的各种状态细信息,如溢出标志(OF)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的位参与并决定微操作的形成。

    移位器

    对操作数或者运算结果进行移位操作。

    计数器

    控制乘除运算的操作步数。

    控制器

    「控制器」是整个系统的指挥中枢,在「控制器」的控制下,「运算器」、「存储器」和「输入/输出设备」等功能部件构成一个有机的整体,根据指令的要求指挥全机协调工作。「控制器」的基本功能是执行指令,每条指令的执行时由「控制器」发出的一组微操作实现的。

    「控制器」分为硬布线控制器微程序控制器两种。

    「控制器」由程序计数器(PC)、指令寄存器(IR)、指令译码器、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)、时序系统和微操作信号发生器等组成。

    MAR和MDR在逻辑上是属于存储器的。

    程序计数器

    用于指出下一条指令在主存中的存放地址。CPU根据PC的内容去主存中寻找指令。因为程序中的指令通常是顺序执行的,所以PC有自增功能。

    指令寄存器

    用于保存当前正在执行的指令。

    存储器地址寄存器

    用于存放即将访问的主存单元的地址。

    存储器数据存储器

    用于存放向主存中写入的内容或者从主存中读出的内容。

    时序系统

    用于产生各种时序信号,由统一的时钟(CLOCK)分频得到。

    微操作信号发生器

    根据IR的内容(指令)、PSW的内容(状态信息)及时序信号,产生控制整个计算机系统所需要的各种控制信号,其结构有组合逻辑和存储逻辑型两种。

    CPU内部的寄存器可以分为两类:

    一类是用户可见的寄存器,可以对这类寄存器编程,如通用寄存器组、程序状态字寄存器;

    另外一类是用户不可见的寄存器,对用户是透明的,不可以对这类寄存器编程、如存储器地址寄

    存器、存储器数据寄存器、指令寄存器等。

    CPU的基本结构


    指令执行过程

    三个时间周期

    参考:时钟周期、机器周期、指令周期的概念及三者之间的关系;定时器及计数器

    时钟周期

    「时钟周期」也称为振荡周期,定义为时钟脉冲的倒数(也可以理解为是单片机外接晶振的倒数,例如12M的晶振,其时钟周期为 1 12 μ s \frac{1}{12} \mu s 121μs,周期受硬件影响),是一个时钟脉冲所需要的时间。在计算机组成原理中又叫做「T周期」或者「节拍脉冲」。是计算机中的最基本的、最小的时间单位

    机器周期

    在计算机命令操作过程中,通常将一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作,例如,取指令、存储器读、存储器写等基本操作,这每一项的工作称之为一个「基本操作」。完成一个「基本操作」所需要的时间称为「机器周期」。

    指令周期

    「指令周期」是执行一条指令所需要的时间,一般由若干个「机器周期」组成,指令不同,所需的「机器周期」数也不同。对于一条简单的单字节指令,在取指令周期中,将指令取出到指令寄存器中,立即通过指令译码器译码,不需要其他的「机器周期」。但是对于一些其他的复杂指令,例如转移指令、乘法指令则需要两个或者两个以上的「机器周期」。

    三者之间的关系就是:「时钟周期」是最小的时间单位,多个「时钟周期」组成一个「机器周期」,多个「机器周期」可以完成一条完整指令,组成一条「指令周期」。

    定长机器周期

    「机器周期」所占用的节拍脉冲数是相同的,需要以最长的基本操作作为基准

    不定长机器周期

    一条完整指令中的不同「机器周期」阶段是不同的。

    指令周期流程

    指令周期的数据流

    取指周期

    1. 当前指令地址送至存储器地址寄存器,记做: ( P C )   − >   M A R (PC) \ -> \ MAR (PC) > MAR
    2. CU发出控制信号,经过控制总线传到主存,这里是读信号,记做: 1   − >   R 1 \ -> \ R 1 > R
    3. 将MAR所指的主存中的内容经数据总线送入MDR,记做: M ( M A R )   − >   M D R M(MAR) \ -> \ MDR M(MAR) > MDR
    4. 将MDR中的内容(该从主存中取出的指令)送入IR,记做: ( M D R ) − > I R (MDR) -> IR (MDR)>IR
    5. CU发出控制信号,形成下一条指令地址,记做: ( P C ) + 1   − >   P C (PC) + 1 \ -> \ PC (PC)+1 > PC

    间址周期

    1. 将指令的地址码送入到MAR中,记做: A d ( I R )   − >   M A R Ad(IR) \ -> \ MAR Ad(IR) > MAR A d ( M D R )   − >   M A R Ad(MDR) \ -> \ MAR Ad(MDR) > MAR,从MDR或者IR取都可,当前周期内数据都是同一条指令。
    2. CU发出控制信号,启动主存执行读操作,记做: 1   − >   R 1 \ -> \ R 1 > R
    3. 将MAR中所指的主存中的数据经过数据总线送入到MDR,记做: M ( M A R )   − >   M D R M(MAR) \ -> \ MDR M(MAR) > MDR
    4. 将有效地址送至指令的地址码字段,记做: M D R   − >   A d ( I R ) MDR \ -> \ Ad(IR) MDR > Ad(IR)

    执行周期

    执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果,不同指令的执行周期操作不同。

    中断周期

    中断:暂停当前任务去执行其他任务。为了可以恢复当前任务,所以需要保存断点。一般使用堆栈来保存断点,这里用SP表示栈顶地址。

    1. CU控制SP减1,修改后的地址送入到MAR中,记做: ( P C ) − 1   − >   S P (PC) - 1 \ -> \ SP (PC)1 > SP ( S P )   − >   M A R (SP) \ -> \ MAR (SP) > MAR。本质上就是将断点存入到主存中的某个存储单元,假设其地址为a,则记做: a   − >   M A R a \ -> \ MAR a > MAR
    2. CU发出控制信号,启动主存做写操作,记做: 1   − >   W 1 \ -> \ W 1 > W
    3. 将断点(PC内容)送入到MDR,记做: ( P C )   − >   M D R (PC) \ -> \ MDR (PC) > MDR
    4. CU控制将中断程序的入口地址(由向量地址形成部件产生)送入到PC,记做: 向 量 地 址   − >   P C 向量地址 \ -> \ PC  > PC

    数据通路的功能和基本结构

    数据通路的功能

    「数据通路」:数据在功能部件之间传送的路径。

    「数据通路部件」:「数据通路」路径上的部件,例如ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。

    「数据通路」描述了信息从哪里来,途中要经过哪些寄存器或多路开关,最后送往哪个寄存器。

    数据通路的基本结构

    「内部总线」:是指同一个部件,例如CPU内部各寄存器及运算部件之间的总线

    「系统总线」:是指同一台计算机系统的各部件之间,如CPU、内存、通道和各类I/O接口间相连的总线

    CPU内部单总线

    将所有寄存器的输入端和输出端都连接到一条公共通路上,这种结构简单,数据传输过程中存在较多的冲突现象,性能较低。

    寄存器之间数据传送

    比如将PC的内容送至MAR,实现传送操作的流程及控制信号为:

    ( P C )   − >   B u s (PC) \ -> \ Bus (PC) > Bus P C o u t PC_{out} PCout有效,PC内容送总线

    B u s   − >   M A R Bus \ -> \ MAR Bus > MAR M A R i n MAR_{in} MARin有效,总线内容送MAR

    主存及CPU之间的数据传送

    比如CPU从主存读取指令,实现传送操作的流程及控制信号为:

    ( P C )   − >   B u s   − >   M A R (PC) \ -> \ Bus \ -> \ MAR (PC) > Bus > MAR P C o u t PC_{out} PCout M A R i n MAR_{in} MARin有效,当前需要需要执行的指令地址通过Bus传递给MAR

    1   − >   R 1 \ -> \ R 1 > R CU发出命令,通过控制总线

    M E M ( M A R )   − >   M D R MEM(MAR) \ -> \ MDR MEM(MAR) > MDR M D R i n MDR_{in} MDRin有效

    M D R   − >   B u s   − >   I R MDR \ -> \ Bus \ -> \ IR MDR > Bus > IR M D R o u t MDR_{out} MDRout I R i n IR_{in} IRin有效,当前的指令从存储器数据寄存器中取出,经过Bus传递给IR

    执行算术或逻辑运算

    比如一条加法指令,微操作序列及控制信号为:

    A d ( I R )   − >   B u s   − >   M A R Ad(IR) \ -> \ Bus \ -> \ MAR Ad(IR) > Bus > MAR M D R o u t MDR_{out} MDRout M A R i n MAR_{in} MARin有效

    1   − >   R 1 \ -> \ R 1 > R CU通过控制总线发出读命令

    M E M ( M A R )   − > 数 据 总 线   − >   M D R MEM(MAR) \ -> 数据总线 \ -> \ MDR MEM(MAR) >线 > MDR M D R i n MDR_{in} MDRin有效

    M D R   − >   B u s   − > Y MDR \ -> \ Bus \ -> Y MDR > Bus >Y M D R o u t MDR_{out} MDRout Y i n Y_{in} Yin有效,操作数通过内部总线传递给Y

    ( A C C ) + ( Y )   − >   Z (ACC) + (Y) \ -> \ Z (ACC)+(Y) > Z A C C o u t ACC_{out} ACCout A L U i n ALU_{in} ALUin有效,CU向ALU发送加命令

    Z   − >   A C C Z \ -> \ ACC Z > ACC Z o u t Z_{out} Zout A C C i n ACC_{in} ACCin有效,结果存储至ACC中

    注意:内部单总线方式需要配合而暂存寄存器使用

    两个操作数分别来自于主存和 R 0 R_0 R0,最后的结果会存回 R 0 R_0 R0,则从主存取出的操作数就会直接放在暂存寄存器中,就不会破坏运算前 R 0 R_0 R0中的内容。

    CPU内部多总线

    将所有寄存器的输入端和输出端都连接到多条公共通路上,相比之下内部单总线一个时钟内只允许传输一个数据,指令执行效率很低,因此采用多总线的方式,可以同时在多个总线上传送不同的数据,提高效率。

    专用数据通路方式

    根据指令执行过程中的数据和地址的流动防线安排线路,避免使用共享的总线,性能较高,但是硬件量大。

    使用多路选择器根据控制信号选择一路输出

    参考:MUX 数据选择器

    MUX,数选择器,是一种可以从多个输入信号中选择一个信号进行输出的器件。

    使用三态门控制每一路是否输出

    参考:三态门的理解

    三种状态:高电平、低电平、高阻态

    低电平是低于某个电压值才被称作是低电平,而高阻态输出电阻无穷大,相当于断路,是为了避免总线上的信号干扰。

    例如: R 0 o u t R_{0_{out}} R0out为1时, R 0 R_0 R0中的数据输出到A端,当 R 0 o u t R_{0_{out}} R0out为0时, R 0 R_0 R0中的数据无法输出到B端.


    控制器的功能和工作原理

    1. 运算器部件通过数据总线与内存储器、输入设备和输出设备传送数据;
    2. 输入设备和输出设备通过接口电路与总线相连接;
    3. 内存储器、输入设备和输出设备从地址总线接收地址信息,从控制总线得到控制信号,通过数据总线和其他部件传送数据;
    4. 控制器部件从数据总线接收指令信息,从运算器部件中接收指令转移地址,将指令地址送到地址总线,向系统中的部件提供它们所需要的控制信号。

    控制器的功能

    控制器是计算机系统的指挥中心,控制器的主要功能有:

    1. 从主存中取出一条指令,并指出下一条指令在主存中的位置;
    2. 对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作;
    3. 指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。

    硬布线控制器

    「硬布线控制器」的基本原理是根据指令的要求、当前的时序及外部和内部的状态,按时间的顺序发送一系列微操作控制信号。由于复杂的组合逻辑门电路和一些触发器构成,因此称之为组合逻辑控制器

    输入

    1. 指令寄存器 O P ( I R )   − >   C U OP(IR) \ -> \ CU OP(IR) > CU

      控制信号的产生与操作码有关

    2. 时钟

      一个时钟脉冲发一个操作命令或者一组需要同时执行的操作命令

    3. 标志

      如条件转移指令,根据相应的标志位决定下一步操作

    4. 外来信号

      中断请求信号INTR

      总线请求信号HRQ

    输出

    1. CPU内部的控制信号

      寄存器之间的数据传输,PC的修改,控制ALU进行相应的运算

    2. 到控制总线的控制信号

      到存储器:访存控制信号 M R E Q ‾ \overline{MREQ} MREQ、读命令 R D ‾ \overline{RD} RD 、写命令 W R ‾ \overline{WR} WR

      到I/O设备:访问I/O设备的控制信号 I O ‾ \overline{IO} IO

      中断响应信号INTA、总线响应信号HLDA

    CPU的控制方式

    产生不同微操作命令序列所用的时序控制方式。

    同步控制方式

    整个系统所有的控制信号均来自一个统一的时钟信号,通常是以最长的微操作序列和最繁琐的微操作作为标准,采取完全统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行不同的指令

    同步控制方式的优点是控制电路简单,缺点是运行速度慢。

    异步控制方式

    异步控制方式不存在基准时标信号,各部件按照自身固有的速度工作,通过应答方式进行联络。

    异步控制方式的有点事运行速度快,缺点是控制电路比较复杂

    联合控制方式

    对各种不同的指令的微操作实行大部分采用同步控制、小部分采用异步控制的方法。

    安排微操作序列的原则

    1. 微操作的先后顺序不得随意修改
    2. 被控对象不同的微操作尽量安排在一个节拍内完成
    3. 占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

    组合逻辑设计

    微程序控制器

    「微程序控制器」采用存储逻辑实现,也就是将微操作信号代码化,使得每条机器指令转化成一段微程序并存入专门的存储器(控制存储器)中,微操作控制信号由微指令产生

    「微命令与微操作」:一条「机器指令」可以分解成一个「微操作」序列,这些「微操作」是计算机中最基本的不可再分解的操作。「微命令」是控制部件执行部件发出的各种控制命令,而「微操作」和「微命令」一一对应。「微命令」是「微操作」的控制信号,「微操作」是「微命令」的执行过程。

    PS: 微命令有相容性互斥性之分。「相容性微命令」是指那些可以同时产生共同完成某一些「微操作」的「微命令」。「互斥微命令」是指在机器中不允许同时出现的「微命令」。

    「微指令与微周期」:「微指令」是若干「微命令」的集合。存放「微指令」的控制存储器的单元地址称作是「微地址」。「微指令」的基本格式:

    1. 「微操作码」:用于产生某一步操作所需的各种操作控制信号
    2. 「微地址码」:用于控制产生下一条要执行的微指令地址

    「微周期」通常是从控制存储器读取一条微指令并执行相应的微操作所需的时间。

    「程序与微程序」:程序是指令的有序集合,用于完成特定的功能。「微程序」是「微指令」的有序集合,一条指令的功能由一段「微程序」来实现。

    基本组成

    控制存储器

    控制存储器(CM)是微程序控制器的核心部件,用于存放各指令对应的微程序,控制存储器可用只读存储器ROM构成。

    微指令寄存器

    用于存放从CM中取出的微指令地址,位数同微指令字长相等。

    微地址形成部件

    用于产生初始微地址和后继微地址,以保证微指令的连续执行。

    微地址寄存器

    接收从位地址形成部件送来的微地址,为在CM中读取微指令做准备。

    微指令格式

    微指令格式和微指令的编码方式有关,通常分为水平型垂直型指令两种。

    水平型指令

    优点:微程序短,执行速度快

    缺点:微指令长,编写微程序较麻烦

    垂直型指令

    类似机器指令操作码的方式,由微操作码字段指定微指令的功能。

    优点:微指令短、简单、规整,便于编写微程序

    缺点:微程序长,执行速度慢,工作效率低

    混合型微指令

    在垂直的基础上增加一些不太复杂的并行操作。

    微指令较短,以便于编写,微程序也不长,执行速度加快

    微指令编码方式

    直接编码(直接控制)方式

    在微指令的操作控制字段中,每一位代表一个微操作命令

    某位为“1”表示该控制信号有效

    优点:简单、直观、执行速度快,操作并行性好

    缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控制存储器的容量极大。

    字段直接编码方式

    将微指令的控制字段分成若干“段”,每段经译码后发出控制信号

    微命令字段分段的原则

    互斥性微命令分在同一短中,相容性微命令分在不同段内。

    每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。

    一般每个小段还要流出一个状态,表示本字段不发出任何的微命令。因此,当某个字段的长度为3位时,最多只能表示7个互斥的微命令,通常000表示不操作

    优点:可以缩短微指令字长。

    缺点:要通过译码电路后再发出发出微命令,因此比直接编码方式慢。

    字段间接编码方式

    一个字段的某些微命令需要由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称为隐式编码。

    优点:可进一步缩短微指令字长

    缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段。

    某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有多少位?

    互斥性微命令需要分在同一个段中。

    第1个互斥类有7个微命令,要留出1个状态表示不操作,因此需要8种不同的状态,故需要3个二进制位。

    之后4个互斥类各需要表示4、13、6、7种不同的状态,分别对应2,、4、3、3个二进制位。

    故操作控制字段的总位数为: 3 + 2 + 4 + 3 + 3 = 15 3+2+4+3+3=15 3+2+4+3+3=15

    硬布线和微程序控制器的特点

    硬布线控制器的特点

    优点:由于控制器的速度取决于电路延迟,所以速度快

    缺点:由于将控制部件视为专门产生固定时序控制信号的逻辑电路,所以把用最少原件和取得最高速度作为设计目标,一旦设计完成,就不可能通过其他额外修改添加新功能

    微程序控制器的特点

    优点:同组合逻辑控制器相比,微程序控制器具有规整性、灵活性、可维护性等一系列优点;

    缺点:由于微程序控制器采用了存储程序原理,所以每条指令都从控制存储器中取一次,影响速度。

    对比


    指令流水线

    基本概念

    计算机的流水线把一个重复的过程分解成若干个子过程每个子过程与其他的子过程并行执行。由于采用流水线技术只需要增加少量的硬件就可以将计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术。

    指令流水的定义

    一条指令的执行可以分为多个阶段。例如将一条指令分成三个阶段:

    「取指」:根据PC内容访问主存储器,取出一条指令送到IR中。

    「分析」:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数。

    「执行」:根据操作码字段,完成指令规定的功能,即将运算结果写到寄存器或主存中。

    当多条指令在处理器中执行时,可以采用以下三种方式:

    顺序执行

    指令按照顺序执行,前 一条指令执行完后,才启动下一条指令。如果取指、分析、执行三个阶段都相等的话,均为t,则顺序执行n条指令所用的时间T为: T = 3 n t T=3nt T=3nt

    一次重叠执行方式

    第k条指令的执行阶段和第k+1条指令的取值阶段同时进行,则执行n条指令所需的时间为: T = ( 1 + 2 n ) t T=(1+2n)t T=(1+2n)t


    二次重叠执行方式

    可以将第k+1条指令的取指阶段提前到与第k条指令的分析期间完成,则执行n条指令所需的时间为: T = ( 2 + n ) t T=(2+n)t T=(2+n)t

    image-20210101203104763

    流水线的表示方法

    指令执行过程图

    时空图

    性能指标

    吞吐率

    T P = n T k TP=\frac{n}{T_k} TP=Tkn

    n是任务数, T k T_k Tk是处理完n个任务所用的时间

    在输入流水线中的任务连续的理想情况下,一条k段线性流水线能够在k+n-1个时钟周期内完成n个任务。k为流水线的段数, Δ t \Delta t Δt为时钟周期,则流水线的实际吞吐率为: T P = n ( k + n − 1 ) Δ t TP=\frac{n}{(k+n-1)\Delta t} TP=(k+n1)Δtn

    连续输入的任务数 n   − >   ∞ n \ -> \ \infty n > 时,最大吞吐率为 T P m a x = 1 Δ t TP_{max}=\frac{1}{\Delta t} TPmax=Δt1

    加速比

    完成同一批任务,不使用流水线所用的时间与使用流水线所用的时间之比,称之为流水线的加速比。

    T 0 T_0 T0表示不使用流水线时的执行时间,即顺序执行所用的时间; T k T_k Tk表示使用流水线时的执行时间

    则流水线加速比(S)的基本公式为 S = T 0 T k S=\frac{T_0}{T_k} S=TkT0,若独立完成一个任务的耗时为 k Δ t k\Delta t kΔt,则顺序完成n个任务的耗时 T 0 = n k Δ t T_0=nk\Delta t T0=nkΔt

    T k = ( k + n − 1 ) Δ t T_k=(k+n-1)\Delta t Tk=(k+n1)Δt,实际加速比为 S = k n Δ t ( k + n − 1 ) Δ t = k n k + n − 1 S=\frac{kn\Delta t}{(k+n-1)\Delta t}=\frac{kn}{k+n-1} S=(k+n1)ΔtknΔt=k+n1kn

    连续输入的任务数 n   − >   ∞ n \ -> \ \infty n > 时,最大加速比为 S m a x = k S_{max}=k Smax=k

    效率

    流水线上的设备利用率称之为流水线的效率。

    在时空图上,流水线的效率定义为定义n个任务占用的时空区有效面积与n个任务所用的时间与k个流水段所围成的时空区总面积之比

    影响因素

    结构相关(资源冲突)

    由于多条指令在同一时刻争用同于资源而形成的冲突称为结构相关

    解决办法:

    1. 后一相关指令暂停一周期
    2. 资源重复配置:数据存储器+指令存储器

    数据相关(数据冲突)

    数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关。

    解决办法:

    1. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞(stall)和软件插入“NOP”两种方法。
    2. 数据旁路技术。
    3. 编译优化:通过编译器调整指令顺序来解决数据相关

    控制相关(控制冲突)

    超标量流水线

    超标量流水线技术

    每个时钟周期内可并发多条独立的指令,即以并行操作的方式将两条或者多条指令编译并且执行,为此配置多个功能部件。

    超流水技术

    在一个时钟周期内再分段,在一个时钟周期内一个功能部件使用多次。不能调整指令的执行顺序,靠编译程序解决优化问题。

    超长指令字

    由编译程序挖掘出指令间潜在的并行性,将多条可以并行操作的指令组合成一条,具体多个操作码字段的超长指令字。需要采用多个处理部件。

    image-20210101214650637

    展开全文
  • 计算机组成原理 微程序控制器实验

    千次阅读 多人点赞 2022-05-19 19:19:57
    程序控制器实验 实验环境 计算机组成原理实验环境 实验目的 掌握微程序控制器的组成原理和工作过程。 理解微指令和微程序的概念,理解微指令指令的区别与联系。 掌握指令操作码与控制存储器中微程序的对应方法...

    微程序控制器实验

    实验环境

    计算机组成原理实验环境

    实验目的

    1. 掌握微程序控制器的组成原理和工作过程。
    2. 理解微指令和微程序的概念,理解微指令与指令的区别与联系。
    3. 掌握指令操作码与控制存储器中微程序的对应方法。熟悉根据指令操作码从控制存储器中读出微程序的过程。

    实验要求

    1. 做好实验预习,读懂实验电路图,熟悉实验元器件的功能特性和使用方法。
    2. 按照实验内容与步骤的要求,独立思考,认真仔细地完成实验。
    3. 写出实验报告。

    实验电路

           本实验使用的主要元器件有: 4 位数据锁存器 74LS175,2Kx8 EPROM2716,时序发生器,或门、与门、开关、指示灯等。芯片详细说明请见附录。
           图 8.1 为实验电路图,其中3片EPROM2716构成控制存储器,1片74LS175为微地址寄存器,与74LS175 数据输入引脚相连的输入信号线及6个门电路构成了地址转移逻辑。注意,2716输出信号中带后缀“#”的信号为低电平有效信号,不带后缀“#”的信号为高电平有效信号。为简化电路结构,本实验没有使用微命令寄存器,并且在虚拟实验系统中,将3片EPROM组合为一个虚拟EPROM组件。本实验使用的EPROM和时序发生器一样, 均为虚拟实验系统提供的虚拟组件。

           实验电路中涉及的主要控制信号如下:

    1. CE :2716 芯片的片选信号。为 0 时 2716 正常工作,实验中将其接地,恒置为 0 。
    2. OE :2716 读信号。 CE = 0 , OE = 0 时为读操作,实验中将其接地,恒置为 0 。
    3. CLR : 芯片 74LS175 的清零信号,低电平有效。
    4. T1:微地址加载信号,在 T1 的上升沿将微地址锁存到 74LS175 。
    5. IR5 ~IR7 指令操作码的输入信号,这几条信号线本应与指令寄存器的输出引脚相连,但在本实验中,与数据开关相连,指令操作码通过数据开关手动设置。
      图8.1微程序控制器电路

    实验原理

           在存储逻辑型计算机中,一条机器指令对应了一个微程序,不同的机器指令对应了不同的微程序,执行一条指令其实就是运行其对应的一个微程序,微程序由微指令组成,是微指令的有序集合。微程序是在设计一台计算机时就预先设计好并且固化在只读存储器中的,以后每当要执行某条指令时,只需找到并运行其对应的微程序。
           控制存储器专门用于存放微程序,在本实验中,控制存储器由 3 片 EPROM2716 组成,为了减少连线的复杂度,虚拟实验系统把三片 EPROM2716 集成到一片芯片上,因此,本实验所用到的是 EPROM2716 x 3 (2Kx24位),其中地址输入引脚为 A10 ~ A0 ,实验中仅用到 A3 ~ A0 ,高 7 位地址线 A4 ~ A10 接地,实际存储容量为 16 x 3 字节。Q0 ~ Q23 这 24 个输出引脚与 24 位的微指令相对应。
           微指令格式如表 8-1 所示,采用全水平型,字长 24 位,其中操作控制字段 19 位,全部采用直接表示法,不使用译码器,每一位表示一个微命令,用于发出全机的操作控制信号;顺序控制字段 5 位,包括后续微地址 μA3 ~ μA0 和判别位 P1 ,用于决定下一条微指令的地址。
    表8-1微指令格式
           地址转移逻辑电路用于产生下一条微指令的地址,主要由两级与门、或门构成。地址转移逻辑需要用到的数据信号有:后续微地址 μA3 ~ μA0 、判别位 P1 、指令操作码 IR7 ~ IR5 。当判别位 P1 = 0 时,下一条微指令的地址即为后续微地址 μA3 ~ μA0 ;当判别位 P1 = 1 时,下一条微指令的地址由指令操作码 IR7 ~ IR5 决定,一般是将操作码进行简单变换,把变换后的值作为下一条微指令的地址,此地址就是该操作码对应的微程序的入口地址。
           微地址寄存器 74LS175 为控制存储器提供微指令地址。当 CLR = 0 时,微地址寄存器清零,从控制存储器 00H 地址开始执行微程序,地址转移逻辑生成下一条微指令的地址。此后,每当 T1 上升沿到来时,新的微指令地址会打入微地址寄存器,控制存储器随即输出这条微指令,地址转移逻辑继而生成下一条微指令的地址。如果时序信号连续发生,微指令也会按一定的顺序接连输出。
           为了教学简单明了,本实验仅用到四条机器指令: IN (输入)、ADD (加法)、STA (存数)、JMP (无条件转移),操作码分别为 000、001、 010、 011,指令格式如表 8-2 所示。
    表8.2机器指令格式
           上述四条指令的微程序流程设计如图 8.2 所示,其中一个方框就对应一条微指令, 方框右上角的数字为八进制表示的微地址。一个方框也表示一个CPU周期,执行一条微指令需要一个CPU周期。四条指令对应四个微程序,每个微程序包括N条微指令,需要执行N个CPU周期。
           图 8.2 中的每条微指令都按照表 8-1 的格式编写了二进制代码,并预存在控制存储器芯片 EPROM2716 x 3 中。其中部分微指令二进制代码如表 8-3 所示,注意:微地址用八进制表示。
    图8.2微程序流程图
    表8-3 微程序二进制代码表
    在这里插入图片描述
    图8.3控制器虚拟实验电路
                                                                                 图 8.3 控制器虚拟实验电路
    (2) 电路预设置:将 EPROM2716 芯片的CE 、OE 、A4、A5 引脚置 0 ,微地址寄存器 74LS175 的 CLR 置 0 ,时序发生器的 Step 置 1 。
    (3) 打开电源。此时由于 CLR = 0 ,微地址寄存器清零,给出微程序入口地址 00H,控制存储器随之输出第 00 号微指令。
    (4) 将 CLR 设置为 1 ,否则微地址寄存器会一直处于清零状态。
    (5) 将 IR7 ~ IR5 均设置为 0 ,思考并回答问题:若此时连续不断地发出时序信号,微程序的执行流程是怎样的?
    00->01->02->03->10->02->03->10->02->03
    (6) 连续单击 Start 按钮,观察微指令的输出顺序,检验控制存储器输出的微指令是否与表 8-3 中的相符,验证上一步预测的顺序是否正确。
    (7) 设置 IR7 ~ IR5 的不同组合,用单步方式分别读出 ADD 、STA 和 JMP 三条指令的微程序,用后续微地址和判别指示灯跟踪微程序执行及转移情况,将表 8-3 中缺少的微程序代码补充完整。

    微地址 微指令(对应下面的指示灯,若显示不一样样则没有成功)
    04: 000001001001001111100101
    05: 000001101010000111000110
    06: 100101101100000011100010
    07: 000001001000001111101100
    14: 000001011000000111000010
    15: 000001000000010111100010

    (8) 思考并回答问题:若不改变控制器实验电路,IN、ADD、STA 和 JMP 四条指令的微程序在控制存储器中的存放位置是否可以随意安排?有什么限制??为什么?

    具体连线步骤

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实验验证

    电路预设置

    将 EPROM2716 芯片的 OE、CE 、A4、A5 引脚置 0 ,微地址寄存器 74LS175 的 CLR 置 0,时序发生器的 Step 置 1 。
    在这里插入图片描述
    打开电源
    在这里插入图片描述
    点击 Start 按钮,此时由于 CLR = 0,微地址寄存器清零,给出微程序入口地址 00H ,控制存储器随之输出第 00 号微指令。
    在这里插入图片描述
    将 CLR 设置为 1 (否则微地址寄存器会一直处于清零状态),点击 Start 按钮。此时显示的是图 8.3 微程序二进制代码表 01 号单元的微指令。
    在这里插入图片描述
    点击 Start 按钮。根据图 8.2 微程序流程图 02 地址,此时显示的是图 8.3 微程序二进制代码表 02 号单元的微指令。
    在这里插入图片描述
    点击 Start 按钮。根据图 8.2 微程序流程图 03 地址,此时显示的是图 8.3 微程序二进制代码表 03 号单元的微指令。
    在这里插入图片描述
    再次 Start 按钮将显示 10 地址,从这开始点击Start将进入00 -> 01 -> 02 -> 03 -> 10 -> 02 -> 03 -> 10 -> 02 -> 03 循环
    后面的地址是由操作码决定的,要先改变要更改操作码,
    四条机器指令: IN (输入)、ADD (加法)、STA (存数)、JMP (无条件转移),操作码分别为 000、001、 010、 011

    001操作码

    操作码设置为001,点击 Start 按钮。根据图 8.2 微程序流程图显示 04 地址在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 05 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 06 地址
    在这里插入图片描述
    点击 Start 按钮,显示 11 再次点击返回到 02 单元
    在这里插入图片描述
    点击 Start 进入 02 -> 03 -> 04 -> 05 -> 06 -> 11 -> 02 循环

    010操作码

    更改操作码,点击 Start 按钮,根据图 8.2 微程序流程图显示 03 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 12 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 07 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 14 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 02 地址
    在这里插入图片描述
    点击 Start 按钮 进入 02-> 03->12->07->14 循环

    011操作码

    更改操作码,点击 Start 按钮,根据图 8.2 微程序流程图显示 13 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 15 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 02 地址
    在这里插入图片描述
    点击 Start 按钮,根据图 8.2 微程序流程图显示 03 地址
    在这里插入图片描述
    点击 Start 按钮,进入 02 -> 03 ->13 -> 15 -> 02 循环

    思考与分析

    1. 微程序控制器主要由哪些部件组成?各部件的功能是什么?
    2. 本实验中,地址转移逻辑电路是怎样利用判别测试字段(P字段)实现微程序分支的?
    3. 如果把微程序控制器看作一个黑盒子,那么它的输入信号有哪些?这些信号是哪些部件提供给它的?她的输出信号有哪些?这些信号是发送给哪些部件的?
    展开全文
  • 计算机组成原理实验 实验4 微程序控制器实验 设计一条加法指令
  • 计算机组成原理实验:微程序控制实验

    万次阅读 多人点赞 2021-02-07 15:20:32
    学生实验报告 实验课名称:计算机组成原理 实验项目名称:微程序...微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操
  • 程序控制器(1)微程序、微指令和微命令在计算机中,一条指令的功能是通过按一定次序执行一系列基本操作完成的,这些基本操作称为微操作。例如,前面讲到的加法指令,分成四步(取指令、计算地址、取数、加法运算)...
  • 程序控制器设计.doc

    2022-06-20 21:37:02
    程序控制器主要由控制存储器、微指令寄存器和 地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部 分。 (1)控制寄存器 控制寄存器用来存放实现全部指令系统的所有微程序,它是一种...
  • 程序控制器的基本原理详细图解

    千次阅读 2021-07-15 02:41:04
    程序控制器的基本原理详细图解1、控制存储器:控制存储器是微程序控制器中的核心部件,通常由只读存储器ROM器件实现,简称控存。2、微指令:控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制...
  • 一条微指令能定义多个可并行的微命令。 1.1.1基本格式 优点:微程序短,执行速度快; 缺点:微指令长,编写微程序较麻烦。 1.2垂直型微指令 一条微指令只能定义一个微命令,由微操作码字段规定具体功能 1.2.1基本...
  • 程序控制器之微程序控制器构成

    千次阅读 2017-12-11 11:25:40
    程序控制器构成
  • 程序控制器之微指令

    千次阅读 2017-12-11 10:03:10
    指令
  • TD-CM3实验系统一套三、实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微...
  • 程序控制器之微命令编码

    千次阅读 2017-12-11 10:37:33
    命令编码
  • 程序控制指令之中断指令

    千次阅读 2018-12-11 21:23:26
    1. 中断指令 中断指令的执行过程 例: 2. 中断返回指令
  • 实验4微程序控制器实验

    千次阅读 2022-05-26 14:21:15
    实验4微程序控制器实验 4.1实验目的 (1)掌握微程序控制器的组成原理和工作过程。 (2)理解微指令和微程序的概念,理解微指令指令的区别和联系。 (3)掌握指令操作码与控制存储器中微程序的对应方法,
  • 1.掌握微程序控制器的组成、工作原理; 2.明确微程序、微指令、微命令的概念; 3.掌握微指令、微程序的设计及调试方法; 4.通过单步方式执行若干条微指令深入理解微程序...5.用逻辑分析仪测试微程序控制指令的转移
  • 关于微程序、微指令和微命令

    千次阅读 2022-02-28 17:02:50
    指令程序命令
  • 指令程序简单地说,计算机指令是指导计算机工作的指令命令程序是按一定顺序排列的一系列指令,计算机的工作过程就是执行程序的过程。1.说明计算机中的控制器通过指令指导机器工作,人们用指令表达他们的意图,...
  •  设计一台微程序控制的模型计算机 1) 拟定指令系统(含机器指令的字长、格式、寻址方式及指令的种类等) 2) 设计数据通路,给出模型机中所含的部件及其间的连接,以及信息在数据通路中传送时所需的微命令。 3) ...
  • 1.微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码...
  • 八微程序控制器 实验 实验内容 设计一个最简版本的CPU模型机利用时序发生器来产生CPU的预定时序通过微程序控制器的自动控制在数据通路中完成唯一的CPU功能程序跳转 实验目的 理解微程序思想和指令-微指令-微命令微...
  • 2、微程序控制器的功能:3、常用的两种下址产生方法:4、指令码如何与入口微地址对应:5、解释并比较微程序控制器的几种设计方法?6、 如何简化微程序流程图?7、电路设计过程中如果出现多个状态机怎么办? 一、...
  • 一条机器指令对应一个微程序; 一个微程序由多条微指令组成; 一条微指令由多个微操作组成; (因为微指令表示为多个bit位,如01000010,bit位=1表示微操作有效) 一个时钟周期或节拍执行一条微指令; 这也很好...
  • 程序控制器的基本原理:把一条指令的微操作控制信号序列,以二进制编码字(称为微指令)的形式编制成程序(称为微程序),并存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组操作控制信号,控制...
  • 程序控制技术

    千次阅读 多人点赞 2018-11-08 23:27:33
    1.微程序控制计算机提出的背景 2.微程序控制计算机的基本工作原理 3.微程序控制器 3.1控制存储器 3.2 微指令寄存器  3.3 地址转移逻辑 4.微程序设计技术  4.1微指令的格式 4.2 微指令的控制字段的编码...
  • 八微程序控制器 实验;微程序控制器版本的CPU;CPU指令格式;汇编助记符;数据通路电路图;NOP/HLT指令(I7I6I5 =000/111) ;微命令字段中每一位表示一个微命令 ;微程序控制存储器 电路图;T1源部件?总线BUS;微地址寄存器和...
  • 指令阶段属于公操作。取指令的公操作通常由 一个取指微程序 来完成。 机器开始运行时,自动将“取指微程序”的入口地址送入微地址寄存器。根据入口地址来从控存中读出微指令送到微指令寄存器。自此取指微程序...
  • 程序控制器的工作原理

    千次阅读 2021-07-15 10:36:39
    程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,231,865
精华内容 492,746
关键字:

哪些属于程序控制指令