计算机组成原理-多处理器的基本概念
SISD、SIMD、MIMD的基本概念单指令流单数据流(SISD)结构该计算机通常仅包含一个处理器和一个存储器。 特性: 各指令序列只能并发、不能并行,每条指令处理一两个数据。 不是数据级并行技术。 硬件组成: 一个处理器+一个主存储器 若采用指令流水线,需设置多个功能部件,采用多模块交叉存储器。 前面介绍的计算机架构都是SISD结构。 单指令流多数据流(SIMD)特性: 各指令序列只能并发、不能并行,但每条指令可同时处理多个数据。 是一个数据级并行技术。 硬件组成: 一个指令控制部件(CU)+多个处理单元/执行单元(如ALU)+多个局部存储器+一个主存储器 每个执行单元有各自的寄存器组、局部寄存器及地址寄存器。 不同执行单元执行同一条指令,处理不同的数据。 多指令流单数据流(MISD)能同时执行多条指令,处理同一个数据,现实中不存在这种计算机。 多指令流多数据流(MIMD)如现实中的intel i5或 i7等处理器。 特性: 各指令序列并行执行,分别处理多个不同的数据。 是一种线程级并行,甚至是线程级以上并行技术。 进一步分类可分为: 多...
计算机组成原理-指令流水线
指令流水的定义一条指令的执行过程可以分成多个阶段,每个阶段功能由相应的功能部件完成。而视各阶段为相应的流水段,则指令的执行过程就构成了一条指令流水线。 顺序执行方式即只有上一条指令完成后才能进行下一条指令的执行。 若设取指、分析、执行三个阶段的时间都相等,用t表示,顺序执行方式可得: 总耗时T=$n\times 3t=3nt$。 传统的冯诺依曼机就是采用顺序执行方式,该方式又称串行执行方式。 优点:控制简单,硬件代价小。 缺点:执行指令的速度较慢,在任何时刻,处理机中只有一条指令在执行,各功能部件的利用率很低。 一次重叠执行方式 总耗时T=$(n-1)\times 2t+3t=(1+2n)t$。 优点:程序的执行时间缩短了1/3,各功能部件的利用率提高。 缺点:需要付出硬件上较大开销的代价,控制过程也比顺序执行复杂。 二次重叠执行方式 总耗时T=$(n-1)\times t+3t=(2+n)t$。 优点:与顺序执行程序的执行时间缩短了2/3,各功能部件的利用率提高,这是一种理想的指令执行方式...
计算机组成原理-控制器的功能和工作原理
硬布线控制器硬布线控制器时根据指令操作码、目前的时钟周期、节拍信号以及机器状态条件来发出“微命令”。 下方图中FE为取值阶段、IND为间接寻址阶段、EX为执行阶段、INT为中断阶段。 硬布线控制器的设计设计步骤: 分析每个阶段的微操作序列(取值、间址、执行、中断四个阶段),确定指令在什么阶段。 选择CPU的控制方式,确定采用定长机器周期还是不定长机器周期,每个机器周期安排几个节拍。 安排微操作时序,如何在规定节拍内完成整个机器周期的所有微操作。 电路设计 取值周期内的微操作取值周期所有的指令都是一样的,即 PC -> MAR 1 -> R M(MAR) -> MDR MDR -> IR OP(IR) -> ID(指令译码器,Instruction Decoder) (PC) + 1 -> PC 间址周期内的微操作该阶段所有指令都一样 Ad(IR) -> MAR 将IR地址码部分放到MAR中,即形式地址来找有效地址 1 -> R M(MAR) -> MDR 找到有效地址的数据放入MDR中 MDR -&...
计算机组成原理-数据通路的功能和基本结构
数据通路的基本结构数据通路的基本概念: 内部总线。使指同一部件,如CPU内部连接各个寄存器及运算部件之间的总线; 系统总线。是指同一台计算机系统的各部件,如CPU、内存、通道和各类IO接口间互相连接的总线。 CPU内部单总线方式单总线模式就是将所有寄存器的输入和输出端都连接到一条公共通路上,这种结构简单,但数据传输存在较多冲突现象,性能较低。 单总线模式下寄存器之间数据传送若想把PC内容送至MAR,实现传送操作的流程及控制信号为: (PC)->Bus,即PC先把信号发送给CU,然后CU给PCout高电平,使PC的值可以传送到总线中。 Bus->MAR,然后CU给MARIN高电平,总线内容传入MAR中。 单总线模式下主存与CPU之间的数据传送把CPU中数据发送给主存,比如CPU从主存读取指令,流程如下: (PC)->Bus->MAR Pcout和MARin有效,将PC中值通过总线放到MAR中 1->R CU发读命令(通过控制总线发出),使MAR可以通过地址总线将地址传到主存。 MEM(MAR)->MDR MD...
计算机组成原理-指令执行过程
了解指令执行过程之前,需要了解指令的一些基本概念。 指令周期指令周期是CPU从主存中每取出并执行一条指令所需的全部时间。 指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。 而一个机器周期又包含若干时钟周期(也成为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位) 由上图可得每个指令周期内机器周期数可以不等,每个机器周期内的节拍数也可以不等。 指令工作周期总共可以区分为四个阶段:取值周期、间址周期、执行周期和中断周期,而为了区别不同的工作周期,在CPU内设置4个标志触发器FE(对应取值)、IND(对应间址)、EX(对应执行)、INT(对应中断)来区别为哪个工作周期。 指令周期的数据流取指周期若想进行取指,首先PC会想MAR发送当前指令地址,然后CU会发出控制信号,经控制总线传到主存,同时MAR中地址信息也会通过地址总线发送到主存中,此时主存中所读出的数据会通过数据总线传到MDR中,最后将MDR中获取到的数据放到IR中,就完成了一次取指操作。 间指周期有些指令取完后会进入间指周期,此时IR中已经放着数据的地址,要再通过取指操作来进行间接寻址。 指令执行方案单...
计算机组成原理-CPU的功能和基本结构
CPU的功能中央处理器CPU由控制器和运算器组成。 CPU的具体功能包括: 指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制。 操作控制。一条指令的功能往往由若干操作信号的组合来实现。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求尽心动作。 时间控制。对各种操作加以时间上的控制。 数据加工。对数据进行算术和逻辑运算。 中断处理。对计算机运行过程中出现的异常情况和特殊请求进行处理。 CPU的基本结构CPU主要由运算器和控制器组成, 运算器主要负责对数据的加工,进行逻辑和算术运算等操作。 控制器负责协调并控制计算机各部件执行指令的顺序等操作,包括取指令、分析指令、中断等操作。 运算器的基本结构运算器由算术逻辑单元(ALU)、通用寄存器组、暂存寄存器、累加寄存器(ACC)、程序状态寄存器(PSW)、移位器、计数器(CT)等所组成。 算术逻辑单元主要功能是进行算术/逻辑运算。 通用寄存器如AX、BX、CD、SP(堆栈指针,用于指示栈顶的地址)等,用于存放操作数(包括源操作数、目的操作数及中间结...
计算机组成原理-CISC和RISC的基本概念
复杂指令系统计算机(CISC, Complex Instruction Set Computer)设计思路:一条指令完成一个复杂的基本功能,例,x86架构,主要用于笔记本,台式机等。 CISC的主要特点: 指令系统复杂庞大,指令数目一般200条以上。 指令长度不固定。 可以访存的指令不受限制。 各种指令使用频率相差大。 各种指令指令时间相差大。 控制器大多数采用微程序控制。 难以优化编译生成高效的目标代码程序。 精简指令系统计算机(RISC, Reduced Instruction Set Computer)设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能,例,ARM架构,主要用于手机、平板等。 RISC的主要特点: 选取使用频率最高的一些简单指令,复杂指令功能由简单指令的组合来实现。 指令长度固定,指令格式种类少。 只有Load/Store(取数,存数)指令能访存,其余指令的操作都在寄存器之间进行。 CPU中通用寄存器数量多。 RISC一定采用指令流水线技术,大部分指令在一个时钟周期内完成。 以硬布线控制为主。 重视编译优化工作,以减少程...
计算机组成原理-程序的机器代码表示
x86汇编语言指令基础x86汇编语言是指所有结尾为86型号的cpu所能解析的语言。 指令的格式为:操作码 + 地址码。 以mov操作(mov指令功能,将源操作数s复制到目的操作数d所指的位置)为例: mov eax,ebx:意思是将寄存器ebx的值复制到寄存器eax中。 mov eax,5: 意思是将立即数5复制到寄存器eax中。 mov eax, dword ptr [af996h]:意思是将内存地址 af996h所指的32bit值复制到寄存器eax中。 mov byte ptr [af996h], 5:意思是将立即数5复制到内存地址 af996h所指的一字节中。 内存读写长度的指明: dword ptr——双字, 32bit word ptr——单字,16bit byte ptr——字节,8bit x86架构相关寄存器 若通用寄存器去掉开头的英文字母E,即AX,BX,CX,DX,此时大小为低16bit。 若未指明主存读写长度时,默认32bit。 例: mov eax, [ebx] 等价于 mov eax, dword ptr [ebx] 常用指令以下的s均为源操作数(...
计算机组成原理-指令系统
指令的基本格式一条指令就是机器语言的一个语句,是一组有意义的二进制代码。一条指令通常包括操作码字段和地址码字段两部分: 零地址指令只给出操作码OP,没有显式地址,这种地址有两种可能: 不需要操作数的指令,如空操作指令、停机指令、关中断指令等。 零地址的运算类指令仅用在堆栈计算机(例如后缀表达式)中。 一地址指令 只有目的操作数的单操作数指令,按$A_1$地址读取操作数,进行OP操作后,结果存回原地址。 指令含义:$OP(A_1)->A_1$ 如操作码含义是加1、减1、求反、求补等。 隐含约定目的地址的双操作数指令, 例ACC, 指令函数:(ACC)OP$(A_1)$->ACC 若指令字长为32位,操作码占8位,1个地址码字段占24位,则指令操作数的直接寻址范围位$2^{24}=16M$。 二地址指令 常用于两个操作数的算数运算、逻辑运算相关指令 指令含义:$(A_1)OP(A_2)->A_1$ 三地址指令 常用于序列两个操作数的算数运算、逻辑运算相关指令,结果用地址保存。 指令含义:$(A_1)OP(A_2)->A_3$...
计算机组成原理-虚拟存储器
虚拟存储器的基本概念虚拟存储器就是基于主存和辅存(类似于cache在CPU和主存一样),在通过系统软件和硬件实现了主存的速度和辅存的容量。主要是为了解决主存容量不足的问题。 虚拟存储器会将主存或辅存的地址空间统一编址,这些地址称为虚地址或逻辑地址,虚地址对应的存储空间称为虚拟空间或程序空间。实际的主存单元地址称为实地址或物理地址。 虚地址=虚存页号+页内字地址 实地址=主存页号+页内字地址 辅存地址=磁盘号+盘面号+磁道号+扇区号 虚拟存储器的地址空间如下图所示。 CPU使用虚地址时会通过辅助硬件来找出虚地址和实地址之间的对应关系。 若虚地址对应存储单元内容已经在主存中,可以通过地址变换使CPU能直接访问主存指示的实际单元; 若虚地址对应存储单元内容不在主存中,则要把包含的字一页或一段调入主存后再由CPU访问。 若主存已满,则采用替换算法置换主存中的交换块(即页面)。 虚拟存储机制采用的使全相联映射,每个虚页面可以存放到对应主存区域的任何一个空闲页位置。此外,当进行写操作时,不能每次写操作都同时写回磁盘,因而,在处理一致性问题采用回写法。 ...
计算机组成原理-高速缓冲存储器
Cache的基本原理目前Cache被集成在CPU内部,且用SRAM实现,速度快,成本高 当cache要运行时,会将主存的存储空间进行“分块”,cache与主存之间的数据交换以cache块为单位。 例:设每1KB为一块,主存共4MB,cache为8KB,主存与cache间以“块”为单位进行数据交换。 4MB=$2^{22}bit$,1K=$2^{10}$,因此主存可以被分为$2^{12}=4096$块,cache分为8块。 然后因主存的地址共22位,所以可以将12位用来表示块号,剩下10位表示块内地址。 局部性原理 空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的 时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息(指一段代码可能在邻近时间很快再被调用)。 Cache就是用局部性原理,把程序中正在使用的部分数据存在cache中,使CPU的访存操作大多数针对cache进行,从而提高程序的执行速度。 例: //程序A:按行访问 int sumarrayrows(int a[M][N...
计算机组成原理-外部存储器
计算机的外存储器又称为辅助存储器,目前主要使用磁表面存储器。 所谓“磁表面存储”,是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。 磁盘存储器磁盘存储器的优点有: 存储容量大,位价格低; 记录介质可重复使用; 记录信息可长期保存而不丢失,甚至可脱机存档; 非破坏性读出,读出时不需要再生 缺点:读取速度慢,机械结构复杂,对工作环境要求较高。 外存储器既可以作为输入设备也可以作为输出设备。 磁盘存储器的组成磁盘存储器是由磁盘驱动器、磁盘控制器和盘片组成。 磁盘驱动器。核心部件是磁头组件和盘片组件,温彻斯特盘是一种可移动磁头固定盘片的硬件存储器。 磁盘控制器。硬盘存储器和主机的接口,主流的标准有IDE、SCSI、SATA等。 磁盘的存储区域。一块硬盘含有若干纪录面,每个记录面划分为若干磁道,而每条磁道又划分为若干扇区,扇区(也称块),是磁盘读写的最小单位,即磁盘按块存取。 磁头数(Heads),即记录面数,表示硬盘总共又多少个磁头。磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁...
