460 likes | 749 Views
附录 D 桌面计算机、服务器和 嵌入式计算机上的 RISC 体系结构综述. 附录 D 桌面计算机、服务器和嵌入式 计算机上的 RISC 体系结构综述. D.1 概述 D.2 寻址模式和指令格式 D.3 指令: MIPS 核心子集 D.4 扩展指令 D.5 特有的指令 D.6 结论. 附录 D 桌面计算机、服务器和嵌入式 计算机上的 RISC 体系结构综述. D.1 概述. D.1 概述. 指令系统 一台计算机中所有机器指令的集合,是表征 一台计算机性能的重要因素 不同的系列计算机有不同的指令系统
E N D
附录D 桌面计算机、服务器和 嵌入式计算机上的RISC体系结构综述 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 D.3 指令:MIPS核心子集 D.4 扩展指令 D.5 特有的指令 D.6 结论 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 华东师范大学计算机科学技术系
D.1 概述 指令系统 一台计算机中所有机器指令的集合,是表征 一台计算机性能的重要因素 不同的系列计算机有不同的指令系统 附录D对两组精简指令系统计算机进行了综述 ·桌面、服务器RISC ·嵌入式RISC 华东师范大学计算机科学技术系
D.1 概述 • 桌面RISC的特点: • 第一台RISC(精简指令系统计算机)于1981年 • 在美国加州大学伯克利分校问世 • RISC的基本要素: • ·一个有限的简单的指令集 • · CPU配备大量的通用寄存器 • ·强调对指令流水线的优化 • ·采用组合电路控制器,少用微程序 • ·采用编译优化技术 华东师范大学计算机科学技术系
D.1 概述 • 特点: • ·使用等长指令,目前的典型长度是4个字节 • ·寻址方式少且简单,一般为2~3种,最多不 • 超过5种,绝不出现存储器间接寻址方式 • ·只有取数指令、存数指令访问存储器,指令 • 中最多出现RS型指令,绝不出现SS型指令 • ·指令集中的指令数目一般少于100种,指令 • 格式一般少于4种 • ·指令功能简单,控制器多采用硬布线方式, • 以期更快的执行速度 华东师范大学计算机科学技术系
D.1 概述 • ·平均而言,所有指令的执行时间为一个处 • 理时钟周期 • ·指令格式中用于指派整数寄存器的个数不 • 少于32个,用于指派浮点数寄存器的个数 • 不少于16个 • ·强调通用寄存器资源的优化使用 • ·支持指令流水并强调指令流水的优化使用 • · RlSC技术的复杂性在它的编译程序,因此 • 软件系统开发时间比CISC机器长 华东师范大学计算机科学技术系
MIPS核心指令:第2章、第3章介绍 附录D: ·扩展指令 ·非MIPS核心指令 ·特色指令 D.1 概述 • ·桌面、服务器RISC • 五类体系结构特点 P563图D-1-1 • ·嵌入式RISC • 五类体系结构特点 P564图D-1-2 • 特点: • 体系结构十分相似 • 主要不同点: • 寻址方式 • 指令集细节 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 华东师范大学计算机科学技术系
D.2 寻址模式和指令格式 一、寻址模式 1. 桌面体系结构支持的数据寻址模式 P565图D-2-1 ·寻址模式简单 ·包含一个0值寄存器 ·普遍寻址模式: 寄存器+偏移量 直接寻址 寄存器间接寻址 相对寻址 基址寻址 寄存器+寄存器 索引寻址 寄存器内容为0 偏移量为0 华东师范大学计算机科学技术系
一、寻址模式 • 2. 嵌入式体系结构支持的数据寻址模式 • P565图D-2-2 • · ARM支持的寻址模式最多 • 寄存器+寄存器和更新寄存器 • 将一寄存器位移后加另一寄存器内容 • ·普遍寻址模式: • 寄存器+偏移量 直接寻址 • 基址寻址 • 寄存器+寄存器 索引寻址 • 自增寻址、自减寻址 • PC相对寻址 华东师范大学计算机科学技术系
D.2 寻址模式和指令格式 • 二、指令格式 • 桌面RISC的指令格式 P565图D-2-3 • ·操作码字段位于32位指令字首部 • ·指令功能由操作码和操作码扩展共同决定 • ·共32个寄存器,源、目的寄存器字段均为 • 5位 • 2.嵌入式RISC的指令格式 P566图D-2-4 • ·具有两种指令字长度(16位/32位) • 减少代码量 • ·有8个或16个寄存器 华东师范大学计算机科学技术系
D.2 寻址模式和指令格式 • 三、常量扩展 • 常数域扩展到寄存器最大宽度的方法: • ·桌面RISC的常量扩展 P567图D-2-5 • ·嵌入式RISC的常量扩展 P567图D-2-6 • 16位指令格式中立即数位数较短,扩展方法: • 从顺序的两个字节获取长地址 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 D.3 指令:MIPS核心子集 华东师范大学计算机科学技术系
几乎每条MIPS核心指令在其他体系结构中都能看到几乎每条MIPS核心指令在其他体系结构中都能看到 对照本书首页MIPS指令定义 D.3 指令:MIPS核心子集 一、MIPS核心指令 桌面RISC核心指令类型: ·数据传输指令 P568图D-3-1 ·算术/逻辑运算 指令 P569图D-3-2 ·控制指令 P569图D-3-3 ·浮点指令 P570图D-3-4 其他操作设定 P570图D-3-5 嵌入式RISC核心指令类型: ·数据传输指令 P570图D-3-6 ·算术/逻辑运算 指令 P571图D-3-7 ·控制指令 P572图D-3-8 其他操作设定 P572图D-3-9 华东师范大学计算机科学技术系
解:因为SPARC约定R0的内容恒为0,而且立即数可以作解:因为SPARC约定R0的内容恒为0,而且立即数可以作 为一个操作数处理,所以某些指令可以替代实现。 一、MIPS核心指令 • 例1)在SPARC中,有一些指令没有选入指令 • 系统,但很容易使用指令集中的另外一 • 条指令来替代实现。 ADD Rs+R0→Rd ADD 立即数imm13=1,作为操作数 SUB 立即数imm13=1,作为操作数 SUB R0-Rs→Rd XOR 立即数imm13=-1,作为操作数 ADD R0+R0→Rd 华东师范大学计算机科学技术系
D.3 指令:MIPS核心子集 • 二、比较与条件分支 • ·设置状态条件寄存器,运算类指令操作将影响状态位 • 例:结果为负、结果为0、进位、溢出等 • 根据状态位决定程序的分支转移 • SPARC、PowerPC、ARM等 • ·利用寄存器比较产生分支转移 • MIPS、Alpha、PA-RISC等 • 桌面RISC条件分支指令方法总结 图D-3-10 • 嵌入式RISC条件分支指令方法总结 图D-3-11 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 D.3 指令:MIPS核心子集 D.4 扩展指令 华东师范大学计算机科学技术系
D.4 扩展指令 一、桌面/服务器RISC的多媒体扩展 MMX技术 MMX是多媒体扩展结构技术,极大地提高了计 算机在多媒体和通信应用中的功能 ① 增设MMX指令支持图形、图像、音频操作 ② 采用了新的数据类型 定义多种数据类型,包括紧缩字节型、紧缩字 型、紧缩双字型、四字类型等多种包装字类型 ③使用64位宽的MMX寄存器 执行一条MMX指令可将包装字的多个数据同时取 出运算,实现了并行处理。 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 多媒体数据特点:字长有限、信息量大 • 例:用8位代表三种基本颜色中的一种,8位 • 代表像素的位置 • 用8位、12位、16位等表示音频采样信息 • MMX指令是一种SIMD(单指令流多数据流)并 • 行处理指令 • 执行一条MMX指令可将包装字的多个数据同时 • 取出运算,实现了单指令流多数据工作方式 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • MMX指令典型操作: • 环绕运算方式(截位加法) • 饱和运算方式 • 积和运算方式 • 比较操作 • 移位操作 • 转换操作 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 1.环绕运算方式(截位加法) 以Pentium机为例 • 指令: PADD[B,W,D] • 可对三种包装格式的图形数据元素进行加法操作,每个字段操作独立并行进行; • 若字段的最高位结果超出字段可表示的最大值,则溢出位丢弃。 • 例)W类型: 类似的还有减法操作、乘法操作 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 2. 饱和运算方式 • 指令: PADDUS[B,W] • 当运算结果超出字段表示范围时,按最大值处理。 • 例)W类型: 用途:这对于图形图像处理中像素的计算十分有用, 可防止截位加法时,可能导致的使一个黑色像 素在颜色加深时,反而变成白色的情况。 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 3. 积和运算方式 • 指令: PMADDWD • 具有乘法-累加功能 • 四字段(16位)相乘 四个32位的积 相加成双字 • 即一条乘加指令进行了四次乘法操作和两次加法操作。 用途:特别适合于向量 计算与矩阵计算 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 4. 比较操作 • 指令: PCMPGT[B,W,D] • 并行地对三种包装格式的数据进行比较,生成结果为四个全“1”(真)或四个全“0”(假)的包装屏蔽字; • 通过条件选择,取消了转移指令,是一个重要的增强性能的措施。 华东师范大学计算机科学技术系
一、桌面/服务器RISC的多媒体扩展 • 5. 移位操作 • 包装字移位操作独立地对各个字段进行移位操作。 • 用途:可对存储器中读取的分段数据进行 • 重新对齐操作。 华东师范大学计算机科学技术系
用途:·用于矩阵的行列转换; ·插入新像素点; · RGB与YUV的彩色空间转换; 等等。 桌面RISC中多媒体支持总结: P574图D-4-1 一、桌面/服务器RISC的多媒体扩展 • 6. 转换操作 • 指令: PCKSSDW • 可用于包装字格式之间的转换,可由算法控制转换成不同精度的数据格式。 华东师范大学计算机科学技术系
D.4 扩展指令 • 二、嵌入式RISC的数字信号处理扩展 • 数字信号处理器(DSP) • 为有效实现数字过滤: • 支持整数乘法-累加 • 乘法字较短(例16位),累加字较长(例64位) • 嵌入式RISC中乘法-累加方法总结 • P574图D-5-1 • 当操作溢出时,采用饱和方法 华东师范大学计算机科学技术系
D.4 扩展指令 • 三、MIPS核心的常见扩展 • 其他计算机还具有一些MIPS所不包括的指令 • P576图D-6-1~图D-6-7 • 图中使用的硬件描述符号定义: 图D-6-8 • ·原子交换 • 无需中断,可完成寄存器与内存信息交换的原语 • 适用:单处理器操作系统信号量处理 • 多处理器同步 • · 64位寻址和整数操作 • SPARC默认为64位、MIPS支持扩展、PowerPC可选 • ·预取指令并提供数据地址,且标记数据是读或写;一次或多次使用以及最近是否使用 华东师范大学计算机科学技术系
IBM的370种大型机、大多数基于RISC的计算机以及Motorola的微处理器使用的是大端方式,TCP/IP协议也是。而Intel的处理器和DEC公司的一些程序则使用小端方式。IBM的370种大型机、大多数基于RISC的计算机以及Motorola的微处理器使用的是大端方式,TCP/IP协议也是。而Intel的处理器和DEC公司的一些程序则使用小端方式。 三、MIPS核心的常见扩展 • ·大端/小端 • 表述一组有序的字节数以何种顺序方式存放内存 • 大端(Big-endian)是从高位字节存放在低地址处开始,依次存放 • 小端(Little-endian )反顺序存放 • 例2)在内存1000和1001地址处存储4F52H • 解)若选择大端方式,内存的存储形式为:4FH存放在内存的1000位置,52H则存储在1001位置。 • 若选择小端方式,内存的存储形式为:52H存放在内存的1000位置,4FH则存储在1001位置。 华东师范大学计算机科学技术系
三、MIPS核心的常见扩展 • ·共享内存同步 • 当共享内存时,为保证多处理器正确操作,规定必须等前次存储器读/写操作完成后,新的存储器读/写操作才能启动。 • ·协处理器操作 • 允许处理器被一些特殊用途的硬件扩展 • 分支优化 图D-6-9 • ·传统分支:Alpha、PowerPC • ·分支预测 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 D.3 指令:MIPS核心子集 D.4 扩展指令 D.5 特有的指令 华东师范大学计算机科学技术系
D.5 特有的指令 一、MIPS64特有的指令 MIPS经历了五代指令集 特有的指令: 非对齐数据传输 具有特殊指令控制内存中未对齐的字,可快速执行memcpy、strcpy 指令: LWL、LWR:从左往右/从右往左读取 SWL、SWR:从左往右/从右往左写入 读取未对齐字指令工作过程 图D-7-1 2. 其他指令 P580 华东师范大学计算机科学技术系
D.5 特有的指令 • 二、Alpha 特有的指令 • 目标:实现高性能 • 特有的指令: • ·不精确的浮点异常 • ·数据转移不支持字节、半字 • ·详细的字节处理指令集 • ·其他指令 P581 华东师范大学计算机科学技术系
D.5 特有的指令 • 三、SPARC v.9特有的指令 • 寄存器窗口 • ·使用若干层寄存器,每次过程调用分配一层 • ·具有2~32个窗口,每个窗口有16个寄存器 • 指令:SAVE、RESTORE • 2. 快速自陷 • 指令:RETRY、DONE • 3.LISP和Smalltalk的支持 • ·支持LISP和Smalltalk语言 • ·用最低两位表示不同的数据类型,以支持标 • 记算法指令 P583图D-9-1 华东师范大学计算机科学技术系
三、SPARC v.9特有的指令 • 4. 重叠的整数和浮点数操作 • ·允许整数和浮点数并行操作 • ·浮点数操作包括平方根运算 • 指令:FSQRTS、FSQRTD、FSQRTQ • 5. 其他指令 • P583 华东师范大学计算机科学技术系
D.5 特有的指令 • 四、PowerPC特有的指令 • 分支寄存器:连接(Link)和计数器 • 支持快速调用 • ·专设返回地址寄存器(Link) • ·专设计数器(counter),对于循环次数固定for结构,可根据计数器值快速控制分支跳转 • 指令可读取这两个寄存器的值 • 2. 其他指令 • · 0#寄存器内容不固定为0,不能用作基址寄存器,可作为变址操作的偏移量 P584 华东师范大学计算机科学技术系
D.5 特有的指令 • 五、PA-RISC 2.0特有的指令 • ·寻址方式、指令格式丰富 • ·具有合并指令 • 条件跳转指令 P585图D-11-1 • 合成乘除法 • ·支持取消执行 • 取消执行延迟跳转后的指令 • 例:加法操作后结果为0,直接跳转 华东师范大学计算机科学技术系
五、PA-RISC 2.0特有的指令 • 1. 丰富的条件跳转指令 图D-11-1 • 实际为合并指令 • 2. 十进制操作 • ·可将32位加法和转换为对应的十进制数 • ·有5条指令支持十进制运算 • 3. 其他指令 P585 华东师范大学计算机科学技术系
D.5 特有的指令 • 六、ARM特有的指令 • 1. 条件执行 • 每条指令的前4位(条件码)标志此指令是正 • 常执行(条件满足),还是当作空指令执行 • (条件不满足) • 2. 12位立即数扩展域 • 3. 其他指令 P586 华东师范大学计算机科学技术系
D.5 特有的指令 • 七、Thumb特有的指令 • 在ARM V4中 • ·执行频度高的过程使用ARM指令 • ——以获得最好性能 • ·执行频度低的过程使用Thumb指令 • ——以减小代码长度 • 但有许多限制 P587 • 这种混合方法兼具两者优势 • 两者可由指令控制转换 华东师范大学计算机科学技术系
D.5 特有的指令 • 八、SuperH特有的指令 • 寄存器0作用 • ·寻址(间接变址寻址、PC相对寻址) • ·保存一个常数 • ·在AND、CMP、OR、XOR的立即数操作 • 中,唯一可使用的寄存器 • 2. 其他特色 P588 华东师范大学计算机科学技术系
D.5 特有的指令 • 九、M32R特有的指令 • 1.支持16位指令对 • 指令对中第一条指令的1位指示指令对执行方式:两条指令并行执行或顺序执行 • 2.分支跳转和返回均为字边界对齐 • 偏移量左移两位,写入PC,PC的最低2位置0,保证字边界对齐 • 3.除法的结果不是商而是余数 华东师范大学计算机科学技术系
D.5 特有的指令 • 十、MIPS16特有的指令 • 是32位MIPS体系结构的一个16位扩展,兼容 • MIPS32、 MIPS64 • 由指令集系统模式位决定指令的宽度: • 0表示32位指令;1表示16位指令 • 16位的指令可支持对64位数据的操作 • 相对MIPS核心所做的改动: P589 华东师范大学计算机科学技术系
附录D 桌面计算机、服务器和嵌入式 计算机上的RISC体系结构综述 D.1 概述 D.2 寻址模式和指令格式 D.3 指令:MIPS核心子集 D.4 扩展指令 D.5 特有的指令 D.6 结论 华东师范大学计算机科学技术系
D.6 结论 附录对指令格式、寻址模式,以及各类RISC体 系结构的特色指令进行综述 四种体系结构的总结 图D-17-1 RISC指令集的宗谱 图D-17-2 桌面RISC指令集指令的变化 图D-17-3 华东师范大学计算机科学技术系