CPU基础知识-CPU的组成 运算器、控制器、寄存器

技术CPU基础知识-CPU的组成 运算器、控制器、寄存器 CPU基础知识-CPU的组成 运算器、控制器、寄存器1 参考资料
计算机硬件系统—CPU(运算器和控制器)(一) https://www.jia

中央处理器的基本知识——中央处理器的组成:运算单元、控制器和寄存器

1 参考资料

计算机硬件系统——中央处理器(算术单元和控制器)(1)https://www.jianshu.com/p/defc60406dc1

第一章https://www.pianshen.com/article/55491435509/计算机系统介绍

https://wenku.baidu.com/view/410842cd2cc58bd63186bd6f.html

用五分钟了解https://www.cnblogs.com/codevald/p/codevald2.html主存的基本结构。

中央处理器中的主寄存器https://blog.csdn.net/kwame211/article/details/77773621

2 运算器、控制器、寄存器

中央处理器主要由运算单元、控制器和寄存器组成。

运算器负责算术运算(-*/基本运算和附加运算)和逻辑运算(包括移位、逻辑测试或比较两个值等)。).控制器负责处理所有信息,并安排计算器做好计算。寄存器可以用来临时存储指令、数据和地址。需要对接控制器的命令,并将命令传输给运算单元;还有必要帮助操作员记录已经处理或将处理的数据。

2.1 控制器

控制器由程序计数器、指令寄存器、指令解码器、定时发生器和操作控制器组成。指令IR用于存储当前正在执行的指令,存储的内容来自数据寄存器(DR)。当一条指令需要执行时,应该从内存中取出到数据寄存器,然后发送到指令寄存器IR。指令译码器ID,当计算机执行一条指定的指令时,必须先分析这条指令的操作码是什么,以确定操作的性质和方法,然后控制计算机的其他组件协同完成指令表达的功能。中间分析工作由指令解码器ID完成。计数器PC用于存储下一条要执行的指令的地址,它和内存(memory)之间有直接的路径。在执行指令时,首先需要根据存储在程序计数器PC中的指令地址,将指令从存储器取出到指令寄存器IR,从而完成“取出指令”操作。计数器PC本身具有自动加1的功能,可以自动给出下一条指令的地址,并以这种方式执行每一条指令。时序发生器类似于“时间表”,提供计算机各部分所需的时间标记,通常是利用时序脉冲序列和不同的脉冲间隔来实现的。操作控制器根据指令要完成的操作和信号,发出各种微操作命令序列,控制所有被控对象,完成指令的执行。

整个控制器的运行逻辑是根据程序计数器指示的指令地址,从内存中取出一条指令到指令寄存器IR,然后由指令译码器ID对指令进行解析,然后操作控制器根据指令的功能向相关组件发出控制命令,执行控制命令的操作。操作完成后,程序计数器加1,然后重复上述操作。

2.2 运算器

算术单元通常包括至少3个寄存器和1个算术逻辑单元。现代计算机通常配备通用寄存器组。

寄存器是一种存储容量有限的高速存储器组件,可用于临时存储指令、数据和地址。有许多类型的寄存器。一般有三种类型涉及四种运算,即ACC(累加器)是累加器,MQ(乘数-配额寄存器)是乘数寄存器,X是操作数寄存器。当三种类型的寄存器完成不同的操作时,存储的操作数类型也不同。

关于乘积高阶和乘积低阶的概念,以十进制为例。百是10的高位,10是100的低位。当两个16位数相乘时,结果可能是32位数。左半部分的16位数字是产品的高位数字,存储在ACC中,右半部分的16位数字是产品的低位数字,存储在MQ中。

算术逻辑单元是算术运算和逻辑运算的组成部分。算术运算包括加法、减法和乘法的整数运算。逻辑运算是逻辑运算,如与、或、或非

移位操作将字符向左或向右移动或浮动特定的位,包括有符号扩展和无符号扩展,广泛用于程序中。

2.3 寄存器

CPU中至少要有六种类型的寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)和程序状态字寄存器(PSW)。这些寄存器用于临时存储一个计算机字,数量可以根据需要扩展。

  1. 数据寄存器

数据寄存器(Data Register,DR)又称数据缓冲寄存器,其主要功能是作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。
数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中。
数据寄存器的作用是 :
(1)作为CPU和主存、外围设备之间信息传送的中转站;
(2)弥补CPU和主存、外围设备之间在操作速度上的差异;
(3)在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器。

  1. 指令寄存器
    指令寄存器(Instruction Register,IR)用来保存当前正在执行的一条指令。
    当执行一条指令时,首先把该指令从主存读取到数据寄存器中,然后再传送至指令寄存器。
    指令包括操作码和地址码两个字段,为了执行指令,必须对操作码进行测试,识别出所要求的操作,指令译码器(Instruction Decoder,ID)就是完成这项工作的。指令译码器对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上,在时序部件定时信号的作用下,产生具体的操作控制信号。
    指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码,即可向操作控制器发出具体操作的特定信号。

  2. 程序计数器
    程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的地址。
    在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC,因此PC的内容即是从主存提取的第一条指令的地址。
    当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备。若为单字长指令,则(PC)+1àPC,若为双字长指令,则(PC)+2àPC,以此类推。
    但是,当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定,而不是像通常的那样通过顺序递增PC的内容来取得。
    因此,程序计数器的结构应当是具有寄存信息和计数两种功能的结构。

  3. 地址寄存器
    地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址。
    由于在主存和CPU之间存在操作速度上的差异,所以必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止。
    当CPU和主存进行信息交换,即CPU向主存存入数据/指令或者从主存读出数据/指令时,都要使用地址寄存器和数据寄存器。
    如果我们把外围设备与主存单元进行统一编址,那么,当CPU和外围设备交换信息时,我们同样要使用地址寄存器和数据寄存器。

  4. 累加寄存器
    累加寄存器通常简称累加器(Accumulator,AC),是一个通用寄存器。
    累加器的功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果。
    显然,运算器中至少要有一个累加寄存器。

  5. 程序状态字寄存器
    程序状态字(Program Status Word,PSW)用来表征当前运算的状态及程序的工作方式。
    程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。
    除此之外,程序状态字寄存器还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。
    因此,程序状态字寄存器是一个保存各种状态条件标志的寄存器。

注意:
MAR(地址寄存器)的作用是:用来存放预访问的存储单元的地址,其位数对应存储单元的个数。
MDR(数据寄存器)的作用是:是存储器数据寄存器,用来存放从存储体某单元取出的代码。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143792.html

(0)

相关推荐

  • Matlab-两种常用绘图方式

    技术Matlab-两种常用绘图方式 Matlab-两种常用绘图方式前言
    在平时作业中经常需要对所获得的二维数据进行可视化,主要使用以下两种方法
    一、分图显示
    通过figure()划分每张图片
    x = 0

    礼包 2021年10月28日
  • VUE uni-app的常用API是什么

    技术VUE uni-app的常用API是什么VUE uni-app的常用API是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、路由与页面跳转uni.

    攻略 2021年10月20日
  • 抖音刷赞网站推广平台,抖音刷赞专业平台?

    技术抖音刷赞网站推广平台,抖音刷赞专业平台?要想刷赞的话,内容的创作,后期的运营是关键,看那些大段短15秒钟的视频就能如此吸赞,背后是一整套运作流程的支持。
    一、热门视频带来的流量,一般一个视频在上热之后会增加大量的赞丝

    测评 2021年11月9日
  • mybatis的sql语句如何防止注入(mybatis的sql语句如何预防注入)

    技术mybatis使用${}时sql注入的问题怎么解决这篇文章给大家介绍mybatis使用${}时sql注入的问题怎么解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mybatis使用${}时sq

    攻略 2021年12月16日
  • 互联网中做书的软件有哪些

    技术互联网中做书的软件有哪些小编给大家分享一下互联网中做书的软件有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月12日
  • 小年习俗,什么是小年,小年是怎么来的

    技术小年习俗,什么是小年,小年是怎么来的“小年”是我国汉族传统节日,在中国的春节习俗中,扮演了非常重要的角色小年习俗。这一天,通常会通过进行一些沿袭了两千年的习俗,来宣告整个春节庆祝活动的开始。小年是春节的前奏曲,热闹仅

    生活 2021年10月29日