控制器组成及其部分原理情况说明

控制器的组成与里面涉及到的知识的总结

  • 指令寄存器(Instuction Register,IR)
    • 指令寄存器IR保存从存储器中读出的当前要执行的指令。指令分为两部分,由操作码和地址码构成。操作码用来表明指令的操作性质,如加法,减法等;地址码提供本条指令的操作数地址或形成操作数地址有关信息,操作码是必不可少的,地址码则视情况而定(如情况一:不需要操作数的控制指令,如空操作指令,停机指令等;情况二:隐含操作数的指令,如堆栈结构计算机的运算指令,其所需的操作数是隐含在堆栈中,由堆栈指针SP【Stack Pointer】指出;情况三:8086CPU的字符串处理指令,源操作数和目的操作数分别隐含在源变址寄存器SI【Source Index】),和目的变址寄存器DI【Destination Index】中。
  • 指令译码器(Instruction Decoder,ID)
    • 指令译码器ID用来对指令寄存器中的指令进行译码分析,指出指令的操作种类和寻址方式,指令译码器的输出作为微操作命令发生器的输入,是产生控制信号的主要依据。指令译码器主要是对操作码的译码分析。
      • 寻址方式
        • 指令寻址
          • 相对寻址
            • 相对寻址是指指令代码提供目标地址相对于当前指令地址的位移量,转移到的目标地址就是当前指令地址加上位移量。当同一程序被操作系统安排到不同的存储区域执行时,指令间的位移并没有改变,采用相对寻址也就无需改变转移地址,给操作系统的灵活调度提供了很大方便,所以是最常用的目标地址寻址方式。
          • 直接寻址和间接寻址
            • 直接寻址是指令代码中直接提供目标地址,间接寻址时指令代码指出寄存器或存储单员地址,目标地址来自寄存器或存储单元。如果用寄存器保存目标地址,则称为目标地址的寄存器间接寻址;如果用存储单元保存目标地址,则称为目标地址的存储器间接寻址。
        • 数据寻址
          • 立即数寻址
            • 在立即数寻址方式中,指令需要的操作数紧跟在操作码之后(注意在这里操作码后面不是跟着地址码)作为指令机器代码的一部分,并且随着取指操作从主存进入指令寄存器。这种操作数用常量形式直接表达,称为立即数。立即数寻址方式只用于指令的源操作数,如在传送指令中给寄存器和存储器单元赋值。 如将16位立即数1234H传送到AX寄存器的指令可以写 MOV AX,1234H;而1234H的寻址方式就是立即数寻址,因为1234H为立即数,直接使用便可。而将32位立即数33221100H传送到EAX寄存器的指令可以写为: MOV EAX,33221100H。后一条指令的机器代码是B800112233H(从这里面也可以看出在存储单元存储数据时的规则:按照低位字节存放在低地址单元,高位字节存放在高地址单元),其中,第一个字节B8是操作码,后4个字节是立即数。8086CPU规定,指令中有两个操作数时,左面的目的操作数,右面的为源操作数。
          • 寄存器寻址
            • 指令的操作数存放在寄存器中称为寄存器寻址,可以直接使用寄存器的名字表示它保存的数据。绝大对数指令采用通用寄存器寻址,部分指令支持专用寄存器。寄存器寻址方式简单快捷,指令字长短,是最常用的寻址方式。 如 MOV AX,1100H,1100H为立即数寻址方式,而AX为寄存器寻址。也可以说源操作数为立即数寻址,目的操作数为寄存器寻址。
          • 存储器直接寻址
            • 如果操作数在主存单元中,指令代码中直接给出操作数有效地址称为存储器直接寻址。按80X86CPU处理器访问存储器的方式,指令中给出的地址是操作数在数据段的偏移地址,用段地址(在数据段寄存器储存DS)与偏移地址相结合,才能得到操作数在主存的地址。 MOV DX,[1234H];这种有方括号的表达式即存储器直接寻址,地址码给出的为寄存器地址,寄存器里面存储的内容为偏移地址
          • 寄存器间接寻址
            • 寄存器间接寻址是将操作数的有效地址存放在寄存器中,MASM汇编程序要求用英文括号将寄存器名字括起来。例如指令 MOV DX,[BX] 的源操作数采用寄存器间接寻址,指令 MOV [ESI],ECX的目的操作数为寄存器间接寻址。在寄存器间接寻址中,寄存器的内容为偏移地址(和存储器直接寻址一样),相当于一个地址指针。利用寄存器间接寻址,可以方便地对数组的元素或字符串的字符进行操作。也就是说,将数组或字符串首地址(或末地址)赋值给通用寄存器,利用寄存器间接寻址方式可以访问数组的头一个(或最后一个)元素,在加减数组元素所占的字节数就可以访问到其他元素或字符。
          • 寄存器相对寻址
            • 在寄存器相对寻址中,操作数的有效地址是寄存器内容和位移量之和。例如指令:MOV SI,[BX+4]表示源操作数的有效地址由BX寄存器的内容加上位移量4得到,默认与BX寄存器配合的是段寄存器DS指向的数据段
          • 基址加变址寻址和相对基址加变址寻址
            • 基址加变址寻址即寻址时同时使用基址和变址寄存器,将二者之和作为操作数的偏移地址(也可以称为有效地址) MOV DI,[ BX+SI ]
            • 相对基址加变址寻址即同时使用基址加变址寄存器加一个偏移量 MOV EAX,[ EBX+EDX+80H ]
          • 带比例的变址寻址
            • 在32位寻址方式中,支持变址寄存器内容乘以一个常数1(可省略),2,4,8这种寻址方式称为带比例的变址寻址。 MOV EAX,[ EBX *4 ] :带比例的变址寻址 MOV EAX,[ ESI*2+80H ] :带比例的相对变址寻址 MOV EAX,[ EBX+ESI*4 ] :带比例的基址加变址寻址 MOV EAX,[ EBX+ESI*8-80H ] :带比例的相对基址加变址寻址
  • 程序计数器(Program Counter,PC)
    • 程序计数器PC也叫指令指针寄存器【Instruction Pointer,IP】,用来存放下一条要执行指令的存储器地址,按此地址从对应存储单元取出的内容就是要执行的指令。指令是顺序存放在存储器内的,通常指令是按顺序执行的,则下一条要执行指令的地址由现行地址加1(或加一常量【寻址方式的不同】形成)
    • 地址形成电路根据寻址方式可以形成转移类指令或操作数地址,如在程序执行过程中要实现程序的转移,就要将形成的转移地址送到程序计数器PC中。
  • 时序电路
    • 用于控制操作时间的信号称为时序控制信号。时序电路产生并发出计算机所需的各种时序控制信号,对各种操作进行时间上的控制。时序控制信号有机器周期信号、节拍信号、工作脉冲信号,它们决定每个微操作的开始时刻和操作的持续时间
  • 微操作命令发生器
    • 微操作就是不能再分解的操作,执行微操作总是需要相应的控制信号(也称为微操作控制命令)。例如,让寄存器A的内容通过多路选择器这一操作就不能再分解,因此它是一个微操作。执行这一操作,需要控制器发出选通寄存器A的微操作命令。 微操作命令发生器是产生所有微操作命令的部件,是控制器中最复杂的部件。微操作命令发生器根据指令操作码、时序信号、状态寄存器内容和其他一些信息,产生计算机工作需要的各种控制信号,以便建立正确的数据通路,完成对取指令、分析指令和执行指令的控制。(控制器可以按照两种方法来设计:一种是由各种门电路构成,完全依靠硬件来产生控制信号,称为组合逻辑控制器,也叫硬布线控制器;另外一种是微程序控制器,通过执行固化的一段微程序产生控制信号来实现一条机器指令功能,对应所有指令的微程序的存放在控制器的只读存储器中。 组合逻辑控制器具有速度快的优点,但设计繁琐、复杂,微程序控制器速度教慢,但设计简单、规整,控制器的设计过程中可以将这两种方式结合起来 如最开始的计算是软件实现,现在大部分计算机是硬件实现)

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值