程序笔记   发布时间:2022-07-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了3.1 CPU的组成及功能大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

3.1 CPU的组成及功能

CPU的功能

运算器

  • 数据加工:对数据进行算术和逻辑运算。

控制器

​ 协调并控制计算机各部件执行程序的指令序列

  • 指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
    • 取指令:自动形成指令地址(PC+1),自动发出取指令的命令。
    • 分析指令:操作码译码、产生操作数的有效地址。
    • 执行指令:根据分析指令得到的“操作命令”和“操作数地址”,形成操作信号以控制序列,控制运算器、存储器以及I/O设备完成相应的操作。
  • 操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
  • 时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
  • 中断处理:对计算机运行过程中出现的异常情况(如掉电)和特殊请求(如打印机请求打印一行字符)进行处理。
    • 外部设备造成中断处理:用鼠标停止某项下载任务
    • 内部指令造成中断处理:在除法中给出的除数为0

运算器的基本结构

  • 算术逻辑单元ALU:主要功能是进行算术/逻辑运算。

  • 通用寄存器组:用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。

    • 如R0、R1、AX、BX、CX、DX、SP等
    • 其中AX,BX等都可以向下划分为:高字节部分AH,BH、低字节部分AL,BL
  • 堆栈寄存器SP:用于指示栈顶的地址。

  • 累加寄存器ACC:它是一个通用寄存器,用于暂时存放ALU运算的结果信息,用于实现加法运算。

  • 程序状态字寄存器PSW:保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息。PSW中的这些位参与并决定微操作的形成。

    • 如溢出标志(OP)、符号标志(SF:正负标志)、零标志(ZF)、进位标志(CF)等。
  • 暂存寄存器

  • 移位寄存器:对运算结果进行移位运算

    • 之前也可以是个暂存寄存器,增加对运算结果的移位功能—>移位寄存器
  • 计数器:控制乘除运算的操作步数

3.1 CPU的组成及功能

运算器的数据通路方式

1、专用数据通路方式

  • 根据指令执行过程中的数据和地址的流动方向安排连接线路。
  • 如图,每个寄存器都要与ALU有各自的通路,图中R0和ALU的连线是简化的。

特点

  • 性能较高,基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。
  • 为什么说连通复杂?例如当R是16bit的时候,要和A、B分别连16根线,

3.1 CPU的组成及功能

问:一次可以传入ALU很多数字,但如何选择需要的那个?

如果直接用导线连接,相当于多个寄存器同时并且一直向ALU传输数据

解决方法1:使用多路选择器MUX根据控制信号选择一路输出
  • 通过在MUX上选定信号是00、01,来决定选择来自R0、R1寄存器的数据

3.1 CPU的组成及功能

解决方法2:使用三态门来控制每一条路是否输出
  • 图中小三角就是三态门,默认情况下不导通

3.1 CPU的组成及功能

2、内部单总线方式

  • 将所有寄存器的输入端和输出端都连接到一条公共的通路上。

特点

  • 结构简单,容易实现,但数据传输存在较多冲突的现象,性能较低。

前提

  • 暂存寄存器:用于暂存从主存读来的数据,这个数据不能存放在通用寄存器中,否则会破坏其原有内容
  • 如:两个操作数分别来自主存和R0,最后结果存回R0,那么从主存中取来的操作数直接放入暂存器,就不会破坏运算前R0的内容。

举例:ADD R0 R1

如果同时运输2数,无法确定两个分别是哪个

  • 让R0out导通 沿着线路A 放到暂存器中
  • 让R0out关闭
  • 让R1out导通 沿着线路B到ALU

3.1 CPU的组成及功能

如果在两次连续的计算中 R0给的信号和ALU给的结果产生信号可能冲突,如何解决?——在结果处增加一个暂存寄存器

3.1 CPU的组成及功能

  • ALU计算结果先放在暂存寄存器中,此时,三态门不导通,先存着
  • 让 R0out导通,先传输数据,再让暂存寄存器这边导通,就不会再产生矛盾

控制器的基本结构

  • 程序计数器PC:用于指出下一条指令在主存中的存放地址。CPU就是根据PC的内容去主存中取指令的。因程序中指令(通常)是顺序执行的,所以PC有自增功能。
  • 指令寄存器IR:用于保存当前正在执行的那条指令。
  • 控制单元CU
    • 指令译码器ID:仅对操作码字段进行译码,向控制器提供特定的操作信号。
    • 微操作信号发生器:根据IR的内容(指令)、PSW的内容(状态信息)及时序信号,产生控制整个计算机系统所需的各种控制信号。其结构有组合逻辑型和存储逻辑型两种。
    • 时序系统:用于产生各种时序信号,它们都是由统一时钟(CLOcK)分频得到。
  • 存储器地址寄存器MAR:用于存放所要访问的主存单元的地址。
    • 这里得到地址就要去访问
  • 存储器数据寄存器MDR
    • MAR与MDR被集成在CU了的
    • 这里的E是外部的意思。
    • 有无E的区别:是去往外界(数据总线)还是去往CPU内部总线。

3.1 CPU的组成及功能

合体:CPU基本结构

3.1 CPU的组成及功能

大佬总结

以上是大佬教程为你收集整理的3.1 CPU的组成及功能全部内容,希望文章能够帮你解决3.1 CPU的组成及功能所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:php