• 计算机组成原理-中央处理器详细讲解(持续更新中)


    目录

     CPU的功能和基本结构

      CPU的功能

    运算器和控制器的功能

    运算器的基本结构

     控制器的基本结构

     CPU的结构基本结构

    指令执行过程

    指令周期

    指令周期流程

     ​编辑

    指令周期的数据流

    取指周期

     间址周期

     执行周期

    中断周期

     指令执行方案

    方案1.单指令周期

    方案2.多指令周期

    方案3.流水线方案

    数据通路

    单总线结构

    例题

    专用数据通路方式

      取指周期

    例题

     控制器的功能和工作原理

     硬布线控制器

      硬布线控制器的设计

     硬布线控制器特点

    微程序控制器的基本原理(重点)

    微程序控制器的设计思路

    微程序控制器的基本结构(重点)

    微程序控制器的工作原理

     微指令的格式

    微指令的格式

    微指令的编码方式(重点)

    微指令的地址形成方式

     微程序控制单元的设计

    设计步骤

    微程序设计分类

     硬布线和微程序的比较(重点)

    指令流水线

    指令流水线的基本概念

     表示方法

     性能指标

    流水线的影响因素和分类

    机器周期的设置

     影响流水线的因素(重点)

     流水线的分类

    流水线的多发技术

    五段式指令流水线(重点)

     多处理器的基本概念

    SISD、SIMD、MIMD、向量处理器的基本概念

    SISD(单指令单数据流)

    SIMD(单指令多数据流)

    MISD(多指令单数据流)

    MIMD(多指令多数据流)

    向量处理机(SIMD思想的进阶应用)

    硬件多线程的概念


     CPU的功能和基本结构

    CPU由运算器和控制器两大部分组成

      CPU的功能

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

    运算器和控制器的功能

    运算器主要对数据进行加工。

    控制器主要是协调并控制计算机各部件执行程序的指令序列,基本功能包括取指令、分析指令、执行指令

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

    运算器的基本结构

    1.  算术逻辑单元:主要功能是进行算术/逻辑运算。
    2. 通用寄存器组:如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果和地址信息等)。SP是堆栈指针,用于指示栈顶的地址。
    3. 暂存寄存器:用于暂存从主存读来的数据,这个数据不能存放在通用寄存器中,否则会破坏其原有内容。
    4. 累加寄存器:它是一个通用寄存器,用于暂时存放ALU的运算的结果信息,用于实现加法操作。
    5. 程序状态字寄存器:保留有由算出逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CP)等。PSW中的这些位参与并决定微操作的形成。
    6. 移位器:对运算结果进行移位运算。
    7. 计数器:控制乘除运算的操作步数。

    寄存器组与ALU的连接方式有两种。

    第一种:专用数据通路方式:根据指令执行过程中的数据和地址的流动方向安排连接线路。

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

    解决方法1.使用多路选择器根据控制信号选择一路输出

     左边的00表示让R0的数据通过作为第一个操作数,右边的01表示让R1的数据通过作为第二个操作数。

    解决方法2.使用三态门可以控制每一路是否输出 

    如:R0out为1时R0中的数据输出到A端,R0out为0时R0中的数据无法输出到B端。

    使用专用数据通路方式性能较高,基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。

    第二种:CPU内部单总线方式:将所有的寄存器的输入端和输出端都连接到一条公共的通路上。

     通过控制Rin/Rout的信号来控制输入输出信号,比如想要R0的数据复制到R1,就需要将R0out和R1in输入高电平。

    这个方式结构简单,容易实现,但数据传输存在较多冲突的现象,性能较低。比如现在进行加法操作,R0的数据和R1的数据都进入到了总线,产生冲突,如何分别哪个是A哪个是B呢。

    解决方法:在一端加入暂存寄存器,首先将R0的输出端接通,将R0的数据传输到总线然后存入暂存寄存器中,然后撤销R0输出端信号,使输出失效,然后接通R1的输出端,通过总线运送到B端,进行加法操作。

     此外ALU的输出端也需要加上一个暂存寄存器,为了防止由于信号不稳定导致存回数据冲突的错误。

     控制器的基本结构

     CPU的结构基本结构

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

    用户不可见的寄存器:MAR、MDR、IR、暂存寄存器

    指令执行过程

    指令周期

    指令周期:CPU从主存每取出并执行一条指令所需的全部时间。

     指令周期常常用若干机器周期来表示,机器周期又叫CPU周期

    一个机器周期又包含若干时钟周期(也称为节拍、T周期CPU时钟周期,它是CPU操作的最基本单位)。

     每个指令周期内机器周期可以不等,每个机器周期内的节拍数也可以不等。

     【举例】

    指令周期流程

     

     如何判断CPU处于哪个阶段周期呢?

    可以设置四个触发器,触发器值为1表示处于此阶段

     四个工作周期都有CPU的访存操作,只是访存的目的不同。取指周期是为了取指令间址周期是为了取有效地址执行周期是为了取操作数中断周期是为了保存程序断点

    指令周期的数据流

    取指周期

    1. 当前指令地址送至存储器地址寄存器,记作:(PC)->MAR
    2. CU发出控制信号,经控制总线传到主存,这里是读信号,记作:1->R
    3. 将MAR所指主存中的内容经数据总线送入MDR,记作:M(MAR)->MDR
    4. 将MDR中的内容(此时是指令)送入IR,记作:(MDR)->IR
    5. CU发出控制信号,形成下一条指令地址,记作:(PC)+1=>PC

     间址周期

    1. 将指令的地址码送入MAR,记作:Ad(IR)->MAR 或Ad(MDR)->MAR
    2. CU发出控制信号,启动主存做读操作,记作:1->R
    3. 将MAR所指主存中的内容经数据总线送入MDR,记作:M(MAR)->MDR
    4. 将有效地址送至指令的地址码字段,记作:(MDR)->Ad(IR)

     执行周期

    执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。

    不同指令的执行周期操作不同,因此没有统一的数据流向

    中断周期

    中断:暂停当前任务去完成其他任务。

    为了恢复当前任务,需要保存断点。一般使用堆栈来保存断点,这里用SP表示栈顶地址,假设SP指向栈顶元素,进栈操作是先修改指针,后存入数据。

    1. CU控制将SP减1,修改后的地址送入MAR记作:(SP)-1>SP,(SP)->MAR  本质上是将断点存入某个存储单元,假设其地址为a,故可记作:a->MAR
    2. CU发出控制信号,启动主存做写操作。记作:1->W
    3. 将断点(PC内容)送入MDR,记作:(PC)->MDR
    4. CU控制将中断服务程序的入口地址(由向量地址形成部件产生)送入PC,记作:向量地址->PC

     指令执行方案

    一个指令周期通常要包含几个时间段(执行步骤),每个步骤完成指令的一部分功能,几个依次执行的步骤完成这条指令的全部功能。

    方案1.单指令周期

    对所有指令都选用相同的执行时间来完成。

    指令之间串行执行;指令周期取决于执行时间最长的指令的执行时间。

    对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。

    方案2.多指令周期

    对不同类型的指令选用不同的执行步骤来完成。

    指令之间串行执行;可选用不同个数的时钟周期来完成不同指令的执行过程。

    需要更复杂的硬件设计。

    方案3.流水线方案

    在每一个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。指令之间并行执行

    数据通路

    数据通路:数据在功能部件之间传送的路径。信息从哪里开始中间经过哪些部件最后传到哪里。由控制部件产生的控制信号建立数据通路

    数据通路的基本结构:

    1. CPU内部单总线方式。
    2. CPU内部多总线方式。
    3. 专用数据通路方式。

    单总线结构

    ALU配合暂存器使用

    1.寄存器之间数据传送

    比如把PC内容送至MAR,实现传送操作的流程及控制信号为:

    (PC)->Bus                   PCount有效,PC内容送至总线

    Bus->MAR                  MARin有效,总线内容送MAR

    2.主存与CPU之间的数据传送

    比如CPU从主存读取指令,实现传送操作的流程及控制信号为:

    (PC)->Bus->MAR            PCount和MARin有效,现行指令地址->MAR

    1->R                                CU发读命令(通过控制总线发出,图中未画出)

    MEM(MAR)->MDR         MDRin有效

    MDR->Bus->IR              MDRout和IRin有效,现行指令->IR

    3.执行算术或逻辑运算

    比如一条加法指令,微操作序列及控制信号为:

    Ad(IR)->Bus->MAR           MMDRout和MARin有效

    1->R                                  CU发读命令
    MEM(MAR)>数据线MDR     MDRin有效

    MDR->Bus>Y                    MDRout和Yin有效,操作数>Y

    (ACC)+(Y)->Z                   ACCout和ALUin有效,CU向ALU发送加命令

    Z->ACC                             Zout和ACCin有效,结果>ACC

    例题

    设有如图所示的单总线结构,分析指令ADD (R0),R1 的指流程和控制信号

     目的操作数(R0)带括号说明操作数存放在R0内容所指向的主存单元中,需要一次访存。源操作数R1不带括号说明操作数就是R1寄存器里的数据。

    1.分析指令功能和指令周期功能:

    ((R0))+(R1)-(R0)

    取指周期、间址周期、执行周期

    2.写出各阶段的指流程

    取指周期:公共操作

    间址周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。

     

     

     执行周期:完成取数操作,被加数在主存中,加数已经放在寄存器R1中。

     

    专用数据通路方式

      取指周期

    (PC)->MAR                    C0有效

    (MAR)>主存                   C1有效

    1->R                       控制单元向主存发送读命令

    M(MAR)->MDR        C2有效

    (MDR)->IR             C3有效

    (PC)+1>PC
    Op(IR)->CU          C4有效

    例题

     

     

     

     

     

     

     控制器的功能和工作原理

     CU发出一个微命令,可完成对应微操作。如:微命令1使得PCout、MARin有效。完成对应的微操作1(PC)->MAR

     硬布线控制器

      硬布线控制器的设计

    1. 分析每个阶段的微操作序列(取值、间址、执行、中断四个阶段)确定哪些指令在什么阶段、在什么条件下会使用到的微操作
    2. 选择CPU的控制方式  采用定长机器周期还是不定长机器周期?每个机器周期安排几个节拍
    3. 安排微操作时序 假设采用同步控制方式(定长机器周期),一个机器周期内安排3个节拍。如何用3个节拍完成整个机器周期内所有微操作?
    4. 电路设计  确定每个微操作命令的逻辑表达式,并用电路实现

    分析每个阶段的微操作序列

     安排微操作时序

    • 原则一:微操作先后顺序不得随意更改
    • 原则二:被控对象不同的微操作     尽量安排在一个节拍内完成
    • 原则三:占用时间较短的微操作    尽量安排在一个节拍内完成并允许有先后顺序

     安排微操作时序-取指周期

    假设采用同步控制方式(定长机器周期),一个机器周期内安排3个节拍

     M(MAR)->MDR 从主存取数据,用时较长,因此必须一个时钟周期才能保证微操作的完成。

    MDR->IR 是CPU内部寄存器的数据传送,速度很快,因此在一个时钟周期内可以紧接着完成OP(IR)->ID。也就是一次同时发出两个微操作

     安排微操作时序-间址周期

      安排微操作时序-执行周期

    电路设计

     组合逻辑设计

    设计步骤:

    1. 列出操作时间表(列出在取指、间址、执行、中断周期,T0、T1、T2节拍内有可能用到的所有微操作)
    2. 写出微操作命令的最简表达式
    3. 画出逻辑图

    列出操作时间表

     

     

     微操作信号综合

    通过微操作信号综合可以得出M(MAR)->MDR微操作命令的逻辑表达式:

     画出电路图

    根据所得的逻辑表达式就可以设计出对应的电路图

     硬布线控制器特点

    • 指令越多,设计和实现就越复杂,因此一般用于RISC(精简指令集系统)
    • 如果扩充一条新的指令,则控制器的设计就需要大改,因此扩充指令较困难。
    • 由于使用纯硬件实现控制,因此执行速度很快,微操作控制信号由组合逻辑电路即时产生。

    微程序控制器的基本原理(重点)

    微程序控制器的设计思路

    程序:由指令序列组成

    微程序:由微指令序列组成,每一种指令对应一个微程序

    指令是对程序执行步骤的描述、微指令是对指令执行步骤的描述

    指令是对微指令功能的“封装”

    微命令(完成操作需要发出的信号)与微操作(做什么)一一对应

    微指令中可能包含多个微命令

    指令周期:从主存取出并执行一条机器指令所需的时间。

    微周期(微指令周期):从控制存储器取出一条微指令并执行相应微操作所需的时间

     

     采用“存储程序”的思想,CPU出厂前将所有的指令的“微程序”存入“控制器存储器”中。

    微程序控制器的基本结构(重点)

    控制存储器CM:用于存放各指令对应的微程序,控制器存储器可用只读存储器ROM构成。

    微程序地址寄存器CMAR:用来接收微地址形成部件送来的微地址,为在CM中读取微指令作准备。 

    地址译码:将地址码转化为存储单元控制信号。

    CMDR:用于存放从CM中取出的微指令,它的位数同微指令字长相等。

    微程序形成部件:产生初始微地址和后继微地址,以保证微指令的连续执行。

    微程序控制器的工作原理

    指令的取值周期、间址周期、中断周期相同,所以取值周期、间址周期、中断周期的微程序一般只需要存储一份即可。

     

     标志:根据指令地址码的寻址特征位来判断是否要跳过间址周期

    CLK:根据中断信号判断是否进入中断周期

     

     微指令的格式

    微指令的格式

    相容性微指令:可以并行完成的微命令、互斥性微命令:不允许并行完成的微命令。

    1.水平型微指令           一条微指令能定义多个可并行的微命令。

    基本格式

     优点:微程序短,执行速度快;

    缺点:微指令长,编写微程序较麻烦。

     2.垂直型微指令         一条微指令只能定义一个微命令,由微操作码字段规定具体功能

    基本格式

     优点:微指令短、简单、规整,便于编写微程序;

    缺点:微程序长,执行速度慢,工作效率低。

     3.混合型微指令     在垂直型的基础上增加一些不太复杂的并行操作。

    微指令较短,仍便于编写;微程序也不长,执行速度加快。

    微指令的编码方式(重点)

    微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。

    (1).直接编码(直接控制)方式

    在微指令的操作控制字段中,每一位代表一个微操作命令,某位为”1“表示该控制信号有效

     优点:简单、直观,执行速度快,操作并行性好。

    缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大。

    (2)字段直接编码方式(重点)

    将微指令的控制字段分成若干个”段“,每段经译码后发出控制信号

    微命令字段分段的原则:

    1. 互斥性微命令分在同一段内相容性微命令分在不同段内
    2. 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
    3. 一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作

     优点:可以缩短微指令字长。

    缺点:要通过译码电路后再发出微命令,因此比直接编码方式慢。

    (3)字段间接编码方式(了解)

    一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称隐式编码。

     优点:可进一步缩短微指令字长。

    缺点;削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段。

    微指令的地址形成方式

    1.微指令的下地址字段指出

    微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称为断定方式

    2.根据机器指令的操作码形成

    当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。

    3.增量计数器法

    (CMAR)+1-->CMAR

    4.分支转移

    转移方式:指明判别条件;转移地址:指明转移成功后的去向。

     5.通过测试网络

     6.由硬件产生微程序入口地址

     第一条微指令地址      由专门硬件产生(用专门的硬件记录取值周期微程序首地址)

    中断周期     由硬件产生中断周期微程序首地址(用专门的硬件记录)

     微程序控制单元的设计

    设计步骤

    1.分析每个阶段的微操作序列

    2.写出对应机器指令的微操作命令及节拍安排

    (1)写出每个周期所需要的微操作(参照硬布线)

    (2)补充微程序控制器特有的微操作:a.取指周期:Ad(CMDR)>CMAR    OP(IR)>微地址形成部件 >CMAR        b.执行周期:Ad(CMDR)>CMAR


    3.确定微指令格式

    根据微操作个数决定采用何种编码方式,以确定微指令的操作控制字段的位数。根据CM中存储的微指令总数,确定微指令的顺序控制字段的位数。最后按操作控制字段位数和顺序控制字段位数就可确定微指令字长

    4.编写微指令码点

    根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点。

    微程序设计分类

    1.静态微程序设计和动态微程序设计

              静态   微程序无需改变,采用ROM

              动态   通过改变微指令微程序改变机器指令,有利于仿真,采用EPROM

    2.毫微程序设计

               毫微程序设计的基本概念

               微程序设计    用 微程序解释机器指令

               毫微程序设计  用毫微程序解释微程序

     硬布线和微程序的比较(重点)

    指令流水线

    指令流水线的基本概念

    指令执行过程划分为不同的阶段,占用不同的资源,就能使多条指令同时执行。

     表示方法

    指令流程图:主要用于分析影响流水线的因素。

    时空图:主要用于分析流水线的性能。

     性能指标

    吞吐率TP

    加速比S

    效率E

    流水线的影响因素和分类

    机器周期的设置

    一个五段式流水线通路如图

     影响流水线的因素(重点)

    1.结构相关(资源冲突)

    由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。

     解决办法:

    1. 后一相关指令暂停一周期
    2. 资源重复配置:数据存储器+指令存储器

    2.数据相关(数据冲突)(重点)

    数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关。

     解决办法:

    1. 把遇到数据相关的指令及后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞(stall)和软件插入“NOP”两种方法。
    2. 数据旁路技术(转发机制)
    3. 编译优化:通过编译器调整指令顺序来解决数据相关。

    3.控制相关(控制冲突)

    当流水线遇到转移指令和其他改变PC值的指令而造成断流时,会引起控制相关。

    解决办法:

    1. 转移指令分支预测。简单预测(永远猜true或false)、动态预测(根据历史情况动态调整)
    2. 预取转移成功和不成功两个控制流方向上的目标指令
    3. 加快和提前形成条件码
    4. 提高转移方向的猜准率 

     流水线的分类

    1.部件功能级、处理机级和处理机间流水线

    • 根据流水线使用级别不同,流水线可分为部件流水线、处理机级流水线和处理机间流水线。
    • 部件功能级流水就是将复杂的算术逻辑运算组成流水线工作方式。例如,可将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化等4个子过程。
    • 处理机级流水是把一条指令解释过程分成多个子过程,如前面提到的取值、译码、执行、访存及写回5个子过程。
    • 处理机间流水是一种宏流水,其中每一个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中。

    2.单功能流水线和多功能流水线

    • 流水线可以完成的功能,流水线可分为单功能流水线和多功能流水线。
    • 单功能流水线指只能实现一种固定的专门功能的流水线
    • 多功能流水线指通过各段间的不同链接方式可以同时或不同时地实现多种功能的流水线

    3.动态流水线和静态流水线

    • 按同一时间内各段之间的连接方式,流水线可分为静态流水线和动态流水线。
    • 静态流水线指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
    • 动态流水线指在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算。这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂。

    4.线性流水线和非线性流水线

    • 按流水线的各个功能段之间是否有反馈信号,流水线可分为线性流水线与非线性流水线。
    • 线性流水线中,从输入到输出,每个功能段只允许经过一次,不存在反馈回路。
    • 非线性流水线存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线适合进行线性递归的运算。

    流水线的多发技术

    1.超标量技术

     每个时钟周期内可并发多条独立指令

    要配置多个功能部件

    不能调整指令的执行顺序

    通过编译优化技术,把可并行执行的指令搭配起来

    2.超流水技术

     在一个时钟周期再分段(3段)

    在一个时钟周期内一个功能部件使用多次(3次)

    不能调整指令的执行顺序

    靠编译程序解决优化问题

    3.超长指令字

     由编译程序挖掘出指令间潜在并行性

    多条并行操作的指令组合成一条

    具有多个操作码字段超长指令字(可达几百位)

    五段式指令流水线(重点)

     考试中常见的五类指令:

    • 运算类指令、LOAD指令、STORE指令、条件转移指令、无条件转移指令

    运算类指令的执行过程

     LOAD指令的执行过程 

    STORE指令的执行过程

    条件转移指令的执行过程

     无条件转移指令的执行过程

     例题 

     多处理器的基本概念

    SISD、SIMD、MIMD、向量处理器的基本概念

    SISD(单指令单数据流)

    特性:

    • 各指令序列只能并发、不能并行,每条指令处理一两个数据
    • 不是数据级并行技术

    硬件组成:

    • 一个处理器+一个主存储器
    • 若采用指令流水线,需设置多个功能部件,采用多模块交叉存储器

    SIMD(单指令多数据流)

     特性:

    • 各指令序列只能并发、不能并行,但每条指令可同时处理很多个具有相同特征的数据
    • 是一种数据级并行技术

    硬件组成:

    • 一个指令控制部件(CU)+多个处理单元/执行单元(如ALU)+多个局部存储器+一个主存储器
    • 每个执行单元有各自逇寄存器组、局部寄存器、地址寄存器
    • 不同执行单元执行同一条指令、处理不同的数据

    MISD(多指令单数据流)

    多条指令并行执行,处理同一个数据。现实中不存在这种计算机

    MIMD(多指令多数据流)

    特性:

    • 各指令序列并行执行,分别处理多个不同的数据
    • 是一种线程级并行、甚至是线程级以上并行技术

    分类:

    1.多处理器系统

    特性:

    • 各处理器之间,可以通过LOAD/STORE指令,访问同一个主存储器,可通过主存相互传送数据

    硬件组成:

    • 一台计算机内,包含多个处理器+一个主存储器
    • 多个处理器共享单一的物理地址空间

    2.多计算机系统

    特性:

    • 各计算机之间,不能通过LOAD/STORE指令直接访问对方的存储器,只能通过“消息传递”相互传送消息

    硬件组成:

    • 由多台计算机组成,因此拥有多个处理器+多个主存储器
    • 每台计算机拥有各自的私有存储器,物理地址空间相互独立

    向量处理机(SIMD思想的进阶应用)

    特性:

    • 一条指令的处理对象是“向量”——eg:向量处理机中的LOAD指令,可以将一个向量取到向量寄存器中;加法指令,可以实现两个向量相加
    • 擅长对向量型数据并行计算、浮点数运算,常被用于超级计算机中,处理科学研究中巨大运算量——eg:空气动力学、核物理学、巨型矩阵计算问题

    硬件组成:

    • 多个处理单元,多组“向量寄存器”
    • 主存储器应采用“多个端口同时读取”的交叉模块存储器
    • 要有大容量的、集中式的主存储器,因为主存储器大小限定了机器的解题规模

    硬件多线程的概念

     

  • 相关阅读:
    PyTorch(四)Torchvision 与 Transforms
    小程序 wxml2canvas开发文档
    代码随想录算法训练营|day42
    代码随想录 动态规划 判断子序列,不同的子序列
    MySQL事务控制
    高可用负载均衡集群-LVS负载均衡
    SB树,看这一篇就够了
    FTP替代产品方案的优异性体现在哪些方面?
    python爬虫之selenium库,浏览器访问搜索页面并提取信息,及隐藏浏览器运行
    可视化全链路日志追踪
  • 原文地址:https://blog.csdn.net/m0_59860403/article/details/127934770