500 likes | 668 Views
微命令. 微命令寄存器. 控 制 存储器. 地址译码. 微地址寄存器. OP. 指令寄存器 IR. 数据缓冲寄存器 DR. 地址译码. 地址寄存器 AR. 程序计数器 PC. +1. 5.4.6 机器指令 与 微指令 的 关系. 1、 一条机器指令 对应 一个微程序 ,这个微程序是由 若干条微指令 序列组成的。. 2、从指令与微指令,程序与微程序,地址与微地址的一一对应来看,前者与内存储器有关,后者与控制存储器有关。. 3、指令周期中的每 一个 CPU 周期 对应 着 一条微指令 。. 要求:用二进制代码写出如下指令的微程序
E N D
微命令 微命令寄存器 控 制 存储器 地址译码 微地址寄存器 OP 指令寄存器 IR 数据缓冲寄存器DR 地址译码 地址寄存器AR 程序计数器PC +1 5.4.6 机器指令与 微指令 的 关系 1、一条机器指令对应一个微程序,这个微程序是由 若干条微指令序列组成的。 2、从指令与微指令,程序与微程序,地址与微地址的一一对应来看,前者与内存储器有关,后者与控制存储器有关。 3、指令周期中的每一个CPU周期对应着一条微指令。
要求:用二进制代码写出如下指令的微程序 (1) “ADD R0,R1” (2) “SUB R2,R2” (3)”MOV R2,R3”
ALU 16位 SB-ALU SB-ALU 16位 Rseet SB SA LDSB 16位 LDSA R 读选择 4个通用寄存器 RA0 RA1 RA0 RA1 W 写选择 1个微指令周期 1 us 500ns 读ROM ALU m2 m1 2us (1) “ADD R0,R1” (2) “SUB R2,R2” (3)”MOV R2,R3”
ALU 16位 SB-ALU SB-ALU 16位 Rseet SB SA LDSB 16位 LDSA R1 SB R0 SA R 读选择 4个通用寄存器 RA1 RA1 RA0 RA0 W 写选择 MOV R2 , R3指令 (R2)+(R3) → R3 取指 测试 SUB MOV ADD R2 SA R3 SA 0 SB SA+SB R3 R2 SB SA-SB R3 SA+SB R1 ①
ALU 16位 SB-ALU SB-ALU 16位 Rseet SB SA LDSB 16位 LDSA R 读选择 4个通用寄存器 RA0 RA1 RA0 RA1 W 写选择 ADD R0 , R1指令 完成 (R0)+(R1) → R1 取指 测试 SUB MOV ADD R2 SA R3 SA R0 SA 0 SB SA+SB R3 R2 SB R1 SB SA-SB R3 SA+SB R1 ②
ALU 16位 SB-ALU SB-ALU 16位 Rseet SB SA LDSB 16位 LDSA R 读选择 4个通用寄存器 RA0 RA1 RA0 RA1 W 写选择 ADD R0 , R1指令 完成 (R0)+(R1) → R1 取指 测试 SUB MOV ADD R2 SA R3 SA R0 SA 0 SB SA+SB R3 R2 SB R1 SB SA-SB R3 SA+SB R1 ③
取指 测试 SUB MOV ADD R2 SA R3 SA R0 SA R1 SB R2 SA SA+SB R3 R2 SB SA-SB R3 SA+SB R1 ③
5.5 微程序设计技术 设计微指令结构应当追求的目标 (1)有利于缩短微指令字长度; (2)有利于减小控制存储器的容量; (3)有利于提高微程序的执行速度; (4)有利于对微指令的修改; (5)有利于微程序设计的灵活性。
5.5.1 微指令编码 微指令编码:对微指令中操作控制字段采用的表示方法。 通常有三种方法: 直接表示法、编码表示法、混合表示法 (1)直接表示法 特点:操作控制字段中的每一位代表一个微指令。 优点:简单直观,其输出直接用于控制。 缺点:微指令字较长,使控制存储器容量较大。 微指令 P1 P2 Pn … … … … … 译码 译码 译码 顺序控制 顺序控制 字段直接译码法
(2)编码表示法 微指令信号 3:8 译 码 指令字段 编码表示法:把一组互斥性的微指令 信号组成一个小组(即一个字段),然后通过小组译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。 特点:可用较少的二进制信息位表示较多的微指令 信号。 优点:可使微指令字大大缩短。 缺点:由于增加了译码电路,使微程序的执行速 度变慢。 (3)混合表示法 把直接表示法与字段编码法相混合使用。
5.5.2 微地址的形成方法 产生后继微地址有如下三种方法: 1.计数器方式: ①在顺序执行微指令时,后继微地址由现行微地址加上增量来产生。 ②在非顺序执行微指令时,必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令。在这种方法中,微地址寄存器通常改为计数器。 为此,顺序执行的微指令序列就必须安排在控制存储器的连续单元中。 特点:微指令的顺序控制字段较短,微地址产生机构简 单。但多路并行转移功能较弱,速度较慢,灵活 性较差。
2. 增量方式与断定方式结合: 微指令顺序控制部分分为:条件选择字段和转移地址字段。 转移地址 外部地址 MUX 打入 外部 条件 μPC … 控制存储器 CM 条件选择 μIR … 控制字段(可编码)
3.多路转移方式: 多路转移 一条微指令具有多个转移分支的能力称为多路转移。 例如:“取指” 微指令根据操作码 OP产生多路微程序分支而形成多个微地址。 ■ 在多路转移方式中,当微程序不产生分支时,后继微地址直接有微指令的顺序控制字段给出; ■ 当微程序产生分支时,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址。 特点:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度快。但转移地址逻辑需要用组合逻辑方法设计。
5.5.3 微指令格式 水平型微指令 微指令格式大体分为两大类: 垂直型微指令 一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。 1.水平型微指令: 水平型微指令又分为三种: 第一种是全水平型(不译码)微指令 第二种是字段译码法水平型微指令; 第三种是直接和译码混合的水平型微指令 水平型微指令的一般格式如下:
2.垂直型微指令:微指令中设置微操作码字段,采用微操作码编译法,有微操作码规定微指令的功能,称为垂直型微指令。2.垂直型微指令:微指令中设置微操作码字段,采用微操作码编译法,有微操作码规定微指令的功能,称为垂直型微指令。 垂直型微指令 比 水平型微指令编码长,但执行一条指令的时间短 例: (1)寄存器-寄存器传送指令 (2)运算控制指令 (3)访问主存微指令 (4)条件转移微指令
3. 水平型微指令 与 垂直型微指令的比较 (1)水平型微指令并行操作能力强,效率高,灵活性强;垂直型微指令则较差。 (2)水平型微指令执行一条指令的时间短;垂直型微指令执行的时间长。 (3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点;垂直型微指令则相反,微指令字比较短而微程序长。 (4)水平型微指令用户难以掌握;而垂直型微指令比较相似,相对来说,比较容易掌握。
5.5.4 动态微程序设计 程序设计技术有两种: 1. 静态微程序设计: 对应与一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无需改变而且也不好改变,这种微程序设计技术称为静态微程序设计。 2. 动态微程序设计: 当采用EPROM作为控制存储器时,还可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。
微操作控制信号 C1 … Cn 结果反馈信息 B1 树形逻辑网络 N … Bf 指令 译码器 … M1 … Mi T1 … Ti 指令寄存器 节拍电位/节拍脉冲发生器 启动 停止 时钟 复位 5.6 硬布线控制器 1。基本思想 逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络,成为硬布线控制器 图示:硬布线控制器结构框图 某一微操作信号 C C=f(Im,Mi,Tk,Bj) I1 Im
一个微指令周期对应一个节拍电位 2。指令执行流程 启动 取指节拍 M1 CLA ADD JMP NOP STA IR PC PC AR M2 0 AC IR AR IR AR M3 M2,M3执行节拍
? 3。微操作控制信号的产生 在硬布线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。 硬布线控制 与 微程序控制的比较 硬布线控制的速度快,主要取决于电路的延迟 硬布线控制的硬件复杂,灵活性差。 微程序控制 灵活性好,结构简单 微程序控制 速度 慢于 硬布线控制,原因是微程序控制中每一条微指令都要从控存中读一次,影响了速度。
∑ 控制总线 指令流字节排队器 C-BUS 地址总线 总 线 接 口 锁存器 数据总线 总接接口单元BIU A-BUS ALU 8088 CPU 内部 结 构 图 状态标志
80486 CPU 内部结构图 32位 数据总线 64位数据总线 32位 数据总线 线性地址总线 BE0-BE3 32位 PCD 基址/变址总线 PWT PCD A2-A31 32位 32位 D0-D31 20位 32位 系统接口信息 代码流 指令总线 24位 操作控制器
5.8 流水CPU 采用296引脚的引脚栅格阵列(PGA)陶瓷封装技术
5.8 流水CPU5.8.1 并行处理技术 计算机的流水处理过程同工厂的流水装配线类似。 并行性有着两种含义:①同时性;②并发性。 并行处理技术主要有三种形式: (1)时间并行:指时间重叠。让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分。实现方法就是采用流水处理部件。 (2)空间并行:指资源重复,多个设备同时使用。主要体现在多处理器系统和多计算机系统。 (3)时间并行 + 空间并行:指时间重叠和资源重复的综合应用,即采用时间并行性有采用空间并行性。
我干工作1 我干工作2 出厂线 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • 设备1 • 任务 • 任务 • 设备2 • 设备3 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 • W2 • W1 (1)时间并行:指时间重叠 (2)空间并行:指资源重复 (3)时间并行 + 空间并行
5.8.2 流水CPU的结构 1.流水计算机的系统组成:如下图。 存储器体系 多体交叉存储器 cache 取指令 指令部件 (指令I+k+1) 指令译码 计算操作数地址 取操作数 流水方式的 (指令I+k) FIFO (指令I+2) 指令队列 (指令I+1) CPU 执行部件 (指令I) 算术逻辑单元 流水线
2.流水CPU的时空图: 假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(OF)、进行运算(EX),每个子过程称为过程段(Si)。 S1 S2 S3 S4 入 出 IF ID OF WB 一个指令流水线过程段 WB 表示写回
下图所示是非流水计算机的时空图: 空间S I1 I2 WB I4 I4 EX I3 I3 ID I2 I2 IF I1 I1 1 3 5 7 2 4 6 8 时间T 非流水线时空图 说明:对非流水线计算机来说,上一条指令的四个子过程全部执行完毕后才能开始下一条指令。因此,每隔4个时钟周期才有一个输出结果。
下图所示是流水计算机的时空图: I3 I4 空间S I1 I2 I5 WB I3 I4 I5 I1 I2 EX I3 I4 I5 I1 I2 ID I3 I4 I5 I1 I2 IF I3 I4 I5 I1 I2 1 3 5 7 2 4 6 8 时间T 标量流水线时空图 说明:对流水线计算机来说,上一条指令与下一条指令的四个子过程在时间上可以重叠执行。因此,当流水线满载时,每一个时钟周期就可以输出一个结果。
下图所示是超标量流水计算机的时空图: I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 空间S I1 I3 I5 I7 I9 WB I2 I4 I6 I8 I10 I1 I3 I5 I7 I9 EX I2 I4 I6 I8 I10 I1 I3 I5 I7 I9 ID I2 I4 I6 I8 I10 I1 I3 I5 I7 I9 IF I2 I4 I6 I8 I10 1 3 5 7 2 4 6 8 时间T 超标量流水线时空图 说明:一般的流水线计算机因只有一条指令流水线所以称为标量流水计算机。所谓超标量流水,是指它具有两条以上的指令流水线。当流水线满载时,每一个时钟周期可以输出两条指令。Pentium微型机就是一个超标量流水计算机。
3.流水线分类: 一个计算机系统可以在不同并行等级上采用流水技术。 ①指令流水线:指指令步骤的并行。将指令流的处理划分为取指、译码、取数、执行。 ②算术流水线:指运算操作步骤的并行。加法器、流水乘法器、… ③处理机流水线:又称宏流水线,是指程序步骤的并行。多处理机构成的流水。每台处理机负责某一特定的任务。
5.8.3 流水线中的主要问题 1.资源相关:是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。 当数据和指令放在同一个存储器且只有一个访问口时,便发生两条指令争用存储器资源的相关冲突。 解决办法:①第I4 条指令停顿一拍后再启动; ②增设一个存储器,将指令和数据分别 放在两个存储器中。 两条指令同时访存发生资源相关冲突 时钟 指令
时钟 • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 指令 • ADD • IF • ID • EX • MEM • WB • SUB • IF • ID • EX • MEM • WB • AND • IF • ID • EX • MEM • WB 2.数据相关:在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条就是数据相关的。 例: 解决办法:流水CPU的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,便于后继指令直接使用,这称为“向前”或定向传送技术。 两条指令.会发生数据相关冲突
3.控制相关: 是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为 顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。 解决办法: ①延迟转移法: 有编译程序重排指令序列来实现。基本思想是“先执行在转移”,即发生转移取时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线的少数几条指令继续完成。 ②转移预测法: 用硬件方法来实现。通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行,以获得良好的效果。
【例】 流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在那种类型的数据相关。 (1) I1 ADD R1,R2,R3 ;(R2)+(R3)→ R1 I2 SUB R4,R1,R5 ; (R1)-(5)→ R4 RAW相关 (2) I3 STA M(X),R3 ;(R3)→ M(X), M(X)是存储单元 I4 ADD R3,R4,R5 ; (R4)-(R5)→ R3 读R1 并有读R3 WAR相关 (3) I5 MUL R3,R1,R2 ;(R1)X(R2)→ R3 I6 ADD R3,R4,R5 ; (R4)-(R5)→ R3 WAW相关
指令cache TLB 8K 32 32 32 32 32 32 数据cache 8K TLB 预取 地址 256 64位数据总线 指令指针 总线部件 转移验证和目标地址 32位数据总线 控 制 部 件 控制 浮电部件 80 奔 腾 CPU 结 构 框 图 80
5.9 RISC CPU (1)使处理器的结构更简单(结构简单) (2)具有更高的性能和执行效率(高性能、高效率) (3)降低处理器的开发成本(低开发成本) 第一台RISC(精简指令系统计算机)于1981年在美国加州大学伯克利分校问世。 (1)一个有限的简单的指令集; RISC的三个基本要素 (2)CPU配备大量的通用寄存器; (3)对指令流水线的优化。 RISC的目的
RISC机器的特点: (1)等长指令; (2)寻址方式少且简单; (3)只有取数、存数指令访问存储器; (4)指令集中的数目一般少于100种,指令格式小于4种; (5)指令功能简单,控制器多采用硬布线方式; (6)失利执行时间为一个处理时钟周期; (7)指令格式中用于指令寄存器的个数大于32个,用于浮点数寄存器的个数大于16个; (8)强调通用寄存器资源的优化使用; (9)支持指令流水并强调指令流水的优化使用; (10)RISC技术的复杂性于它的编译程序,因此软件系统开发时间比CISC机器长。
RISC CPU 实例 MC88110CPU结构框图 LOAD/STORE部件 通用寄存器堆 扩展寄存器堆 控 制部 件 TIC 总线接口 32位地址总线 64位数据总线
F&D1 • EX1 • EX1 • WB1 • WB1 • F&D2 • EX2 • EX2 • WB2 • WB2 前送 • F&D3 • F&D3 • EX3 • EX3 • WB3 • WB3 • F&D4 • F&D4 • EX4 • EX4 • WB4 • WB4 前送 • F&D5 • F&D5 • EX5 • EX5 • WB5 • F&D6 • F&D6 • EX6 • EX6 • WB6 发射 88110CPU 的超标量指令流水线 第一机器周期 第二机器周期 第三机器周期 第四机器周期 第五机器周期 发射 1
发射 I1 • F&D1 • EX1 • EX1 • WB1 • WB1 I2 • F&D2 前送 I3 • F&D3 • F&D3 • EX2 • EX2 • WB2 • WB2 • EX3 • EX3 • WB3 • WB3 I4 发射 前送 I4 • F&D4 • F&D4 • EX4 • EX4 • WB4 I5 • F&D5 • F&D5 • EX5 • EX5 • WB5 发射 当发生资源冲突时 F&D 段 不在 向EX 段发射指令 第二机器周期 第三机器周期 第一机器周期 第四机器周期 第五机器周期 I4 停一个机器周期
5.10 多媒体 CPU5.10.1 多媒体技术的主要问题 媒体:在涉及信息传递的领域中是指传递信息的媒介,它包括存储信息的实体与传递信息的载体两部分。 多媒体技术:是指计算机把各种不同的电子媒质集成起来,统一进行存储、处理和传输。 1. 图象与声音的压缩技术 图象压缩:是将图象用象素存储的方式,经过图象变换、量化高效编码等处理,转换成特殊形式的编码。 例如:国际标准化组织ISO制定的 JPEG 是对静止图象进行压缩的标准化规格; MPEG 是彩色运动图象压缩规格, 可用1.15MB/S的速度传送彩色运动图象,平均压缩为1/50 。
2. 适应多媒体技术的软件技术: (1)开发具有多媒体功能的OS(操作系统); (2)开展以编程工具为中心的软件技术研究。 3. 计算机系统结构方面的技术: 为了在计算机系统中增加多面体数据的获取功能、压缩解压功能、实时处理功能、多媒体数据的I/O与通信功能,在计算机系统结构领域需要做 三方面的改进: (1)选择专用芯片和专用插卡来扩展功能,如声卡、网卡、内接或外接调制解调器。 (2)进一步改善总线的结构和新年,如加宽系统总线,提高时钟速率。 (3)将一些重要的多面体技术融合到CPU 芯片后设片全新的多媒体CPU芯片。例如:Intel公司的Pentium机器中均采用了先进的MMX技术和动态执行技术。
5.10.1 MMX 技术 MMX是一种多媒体扩展结构技术,它极大提高了计算机在多媒体和通信应用方式的功能。 MMX技术集成到新一代Pentium CPU时, ①采用4种新的数据类型, 主要体现在: ②使用8搁4位宽的MMX寄存器, ③增设57条新指令。 • MMX 数据类型: • ① 紧缩字节类型:8个字节打包成一个64位数据; • ② 紧缩字类型: 4个字打包成一个64位数据; • ③ 紧缩双字类型:两个32位的双字打包成一个64位数据; • ④ 四字类型:一个64 位数。
2.MMX 寄存器: 有8个MMX 寄存器MM0—MM7的宽度位64位,但它们没有单独设置,而是借用浮点处理单元中的8个(80位)数据寄存器,它是通过使用“别名”的办法来实现的。即浮点单元的8个数据寄存器被浮点指令看成ST0—ST7,被MMX指令看成是MM0—MM7。当CPU不运行MMX指令时,与现在的操作系统和应用软件完全兼容。
3.MMX 指令集: MMX 指令的先进性体现在以下五个方面: (1)SIDM结构:它是单指令多数据的系统结构。 (2)饱和运算方式:它是运算发生溢出时使用的处理方法。如果运算结果超过最大值,则将此值按最大值处理,低于最小值时按最小值处理。 (3)积和运算方式:MMX的乘法指令中有乘法-累加操作功能。 (4)比较指令特点:MMX的比较指令不建立标志位,而是建立真假条件的屏蔽字,后跟一个逻辑操作,从不同的输入中选择所需要的元素,从而对输入书记并行地分别进行处理。 (5)转换指令特点:MMX的转换指令是紧缩或解紧指令,能完成各种精度的数据转换,其中紧缩指令带有饱和操作。
5.10.3 动态执行技术 系统内存 L1cache cache专用总线 CPU—内存总线 总线接口单元BIU L1指令cache L2数据cache 取指/译码单元 调遣/执行单元 回收单元 指令缓冲池
动态执行技术:通过预测程序流来调整指令的执行,并且分析程序的数据流来选择指令执行的最佳顺序。动态执行技术:通过预测程序流来调整指令的执行,并且分析程序的数据流来选择指令执行的最佳顺序。 与指令缓冲池相连的三个硬件单元是: (1)取指/译码单元:功能是从指令cache读取程序指令流,将其译码成相应的微操作系列,以指明该指令流所需的数据流。 (2)调遣/执行单元:功能是从数据cache接受数据流,根据数据的相关性和资源可用性来规划微操作的执行,并暂存推测执行的结果。 (3)回收单元:功能是检查指令缓冲池中的微操作状态,找出那些已被执行完微操作,并且按原始顺序对它们重新排序。