zoukankan      html  css  js  c++  java
  • 计算机组成原理复习(2)

    中央处理器由运算器和控制器两大部分组成。

    运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理。

    运算器主要由算术逻辑单元(ALU)、暂存寄存器、累加寄存器、程序状态字寄存器(PSW)、通用寄存器组、计数器(CT)、移位器组成。

    程序状态字寄存器用于保存系统的运行状态。条件转移指令执行时,需对标志寄存器的内容进行测试,判断是否满足转移条件。

    程序状态字寄存器用于存放程序状态字,而程序状态字的各位表征程序和机器运行状态,如:含有进位标志C、结果为零标志Z等。 

    通用寄存器用于存放操作数和各种地址信息等,其位数与机器字长相等,这样便于操作控制。 

    控制器的基本功能就是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。

    控制器的功能是取指令、分析指令和执行指令,并产生有关操作控制信号。

    控制器由硬布线控制器和微程序控制器两种类型。

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

    控制器的工作原理是根据指令操作码、指令的执行步骤(微命令序列)和条件信号来形成当前计算机个部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行结果。

    程序计数器用于存放下一条指令在主存中的地址,具有自增功能。

    程序计数器的内容为下一条指令在主存中的地址,所以程序计数器的位数与存储器地址的位数相等,而存储器地址取决于存储器的容量,由此可知,程序计数器的位数取决于存储器的容量。

    指令寄存器用于存放当前正在执行的指令。

    指令寄存器中保存当前正在执行的指令,所以其位数取决于指令字长。

    指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号。

    指令译码器仅对操作码字段进行译码,借以确定指令的操作功能。

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

    用户可见的寄存器:通用寄存器组、程序状态字寄存器、程序计数器。

    用户不可见(对用户透明)的寄存器:存储器地址寄存器、存储器数据寄存器、指令寄存器。

    数据总线的位数与处理器的位数相同,也就表示了CPU一次能处理的数据的位数,即CPU的位数。(n位CPU表示有n条数据总线)

    转移指令时,需要判别转移是否成功,若成功则PC修改为转移指令的目标地址,否则下一条指令的地址仍然为PC自增后的地址。

    一条无条件跳转指令的指令周期内,PC的值被修改了2次。取指周期结束后,PC值自动加1;执行周期中,PC值修改为要跳转的地址。

    地址译码器是主存等存储器的组成部分,其作用是根据输入的地址码唯一选定一个存储单元,它不是CPU的组成部分。

    间指周期的作用是去操作数的有效地址,故间指周期结束后,MDR中的内容为操作数地址。

    CPU中专用寄存器由程序计数器(PC)、指令寄存器(IR)、存储器数据寄存器(MDR)、存储器地址寄存器(MAR)和程序状态字寄存器(PSW)。

  • 相关阅读:
    Merge k Sorted Lists
    N-Queens
    N-Queens II
    Reorder List
    使用AJAX实现文件上传时Illegal invocation错误
    php页面开启错误提示
    php分割最后一个逗号后面的字符
    微信卡券添加(微擎系统)
    php请求php
    Navicat MySQL连接Linux下MySQL的问题解决方案
  • 原文地址:https://www.cnblogs.com/cyx-b/p/11899516.html
Copyright © 2011-2022 走看看