【计算机组成原理Note】5.1 CPU的功能和基本结构
创始人
2024-01-31 23:33:10
image-20221118205400539

5.1 CPU的功能和基本结构

image-20221118233909636

5.1.1 CPU的功能

image-20221118210309204
  1. 指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
  2. 操作控制。一条指令的功能往往是由若干操作信号的组合来实现的。CPu管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件从而控制这些部件按指令的要求进行动作。
  3. 时间控制。对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
  4. 数据加工。对数据进行算术和逻辑运算。
  5. 中断处理。对计算机运行过程中出现的异常情况和特殊请求进行处理。

以上功能都是CPU应该具有的功能,相应的分摊到CPU的两个部分。

  • 运算器负责对数据进行加工

  • 控制器负责协调并控制计算机各种部件执行程序的指令序列,基本功能包括取指令,分析指令,执行指令

    1. 取指令:自动形成指令地址;自动发出取指令的命令。
    2. 分析指令:操作码译码(分析本条指令要完成什么操作);
      产生操作数的有效地址。
    3. 执行指令:根据分析指令得到的“操作命令”和“操作数地址”,
      形成操作信号控制序列,控制运算器、存储器以及I/O设备完成相应的操作。
    4. 中断处理:管理总线及输入输出;处理异常情况(如掉电)和特殊请
      求(如打印机请求打印一行字符)。

5.1.2 运算器的基本结构

  1. 算数逻辑单元:主要功能是进行算数逻辑运算

    image-20221118211239957

    根据传过来的操作指令,对输入数据AB进行运算。(组合逻辑电路)

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

    image-20221118211832643

    左边为一般理解上的寄存器组,右边也是寄存器组,知识表示不同,这种表示了解就行AH表示寄存器高字节,AL表示寄存器低字节,AX表示整个寄存器

ALU和GPRs之间的线路控制

数据需要从通用寄存器传输到ALU,每一个寄存器都可能给ALU两个操作数传输数据,因此每一个寄存器都需要和ALU两个操作数取得联系。具体有专用数据通路方式和单总线方式两种。

  1. 专用数据通路方式:基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。 具体又有两种实现方式

    方法一:使用多路选择器,根据控制信号选哪一个寄存器给ALU传输数据

    image-20221118212705512

    方式二:使用三态门

    image-20221118212815081

    每一个寄存器都通过一个三态门链接ALU,每一个三态门上都有一个控制信号,控制线路是否通路(1通),通过每一个信号协同工作就能实现将目标寄存器数据传输到ALU

  2. 单总线方式:结构简单,容易实现,但数据传输存在较多冲突的现象,性能较低。

    image-20221118213750831

    将寄存器数据传输都经过CPU内部总线,所以每一个寄存器都和总线有一组读写线,每一个寄存器对应两个读写控制信号,控制该时刻寄存器是否写入,是否读出。

    接下来如何将总线数据传输给ALU?

    image-20221118214706237

    如果是这种模式,那么ALU的两个操作数都是一样的,解决方式是,增加暂存寄存器,先将数据总线的数据存放在暂存寄存器中,接着将另外一个数据传输给B,暂存寄存器传输给A

    image-20221118214856127

    有时候需要将ALU计算出来的数据写回寄存器,怎么实现?

    image-20221118215720250

    如果是这样,那么ALU接收完AB两个操作数,由于是组合逻辑电路,ALU直接生成计算结果,返回总线,计算结果沿着总线又到ALU操作数,总线上的数据未来得及写入就被改变了,解决方法是使用暂存寄存器,并且通过三态门控制是否将数据传到总线

    image-20221118220032856

    常见的累加运算还会再总线上挂上累加寄存器ACC,用于存放ALU运算的结果信息

    image-20221118220352974

    此外对于ALU计算结果的溢出判断,是否等于零,可以通过程序状态寄存器(PSW)来实现。程序状态字寄存器:保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的这些位参与并决定微操作的形成。

    并且程序状态寄存器是可以直接访问位的,而其他寄存器则每次只能读取出一个机器字(机器字长:计算机能直接处理的二进制数据的位数),或者说是字节的整数倍。

    image-20221118221444238

    此外像移位器,可以直接再暂存寄存器上进行功能扩展,也就是移位寄存器。计数器,控制乘除运算的操作步数。

5.1.3 控制器的基本结构

image-20221118232043764

  1. 程序计数器:用于指出下一条指令在主存中的存放地址。CPU就是根据PC的内容去主存中取指令的。因程序中指令(通常)是顺序执行的,所以PC有自增功能。

  2. 指令寄存器IR:用于保存当前正在执行的那条指令。分位操作码和地址码。指令由总线传入。地址码需要传回总线进行寻址,操作码传给指令译码器ID

  3. 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号。传出的信号并非直接传给各个部件,因为部件不仅需要控制内容,还要控制顺序,所以要将移码结果传给位操作信号发生器

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

  5. 时序系统:用于产生各种时序信号,它们都是由统一时钟(CLOCK)分频得到。

  6. 存储器地址寄存器:用于存放所要访问的主存单元的地址。

  7. 存储器数据寄存器:用于存放向主存写入的信息或从主存中读出的信息。

    MAR和MDR是CPU和主存进行交流的中介,属于存储器,单硬件上是寄存器,放在CPU内部

5.1.4 CPU基本结构

image-20221118233209449

可以发现CPU内部都是由寄存器来存储数据,其中橙色部分为用户可见的。而灰色部分则是用户不可见的寄存器,由系统自动完成这些寄存器的读写。

CPU可以看成由这四部分构成(CU为控制系统,中断系统还没有画出)

image-20221118233520642

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
米色大衣搭配 米色大衣搭配欣赏 这个冬季,我听到最多的话,就是大衣烂大街。对此,我不苟同。大衣作为一件冬季必不可少的经典单品,它的时...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
李世民有几个儿子 李世民最疼爱... 大家都知道,唐太宗李世民,是我国历史上一位伟大的帝王,文治武功、无人能及,既是将中原神州治理的路不拾...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...