版本1和26间的区别 (跳过第25版)
于2006-03-13 22:23:39修订的的版本1
大小: 168
编辑: czk
备注:
于2006-03-19 22:40:40修订的的版本26
大小: 5499
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 1: 行号 1:
Amdahl定律:
  总加速时间=原来执行时间/新的执行时间=1/( (1-增强比例)+增强比例/增强加速比 )
[[TableOfContents]]
= 基本原理 =
   体系结构的发展
行号 4: 行号 5:
CPU时间=IC*CPI*时钟周期的长度    成本、价格
      集成电路成本 = (晶片成本 + 晶片测试成本 + 封装和最终测试成本 ) / 通过最终测试的产品数量

      晶片产量 = 晶片成品率 * (1 + 单位面积缺陷 * 晶片面积 / alpha ) ^ -alpha

   评价性能

   量化准则
      加快经常性事件的速度

      Amdahl定律: 总加速比 = 原来执行时间/新的执行时间 = 1/( (1-增强部分比例)+增强部分比例/增强部分加速比 )

      CPU性能公式
         CPI:每条指令执行所需要的时钟周期数。CPI = 一个程序的CPU时钟周期数 / 该程序的指令数IC
   
         CPU时间 = 一个程序的CPU时钟周期数 * 时钟周期长度 = 指令数IC * 每指令时钟周期数CPI * 时钟周期的长度

         MIPS = 指令数 / (指令的执行时间 * 1M) = 时钟频率 / (CPI * 1M)
      局部性原理
         程序经常会重复使用它最近使用过的指令和数据。经验规律指出程序有90%的执行时间执行的是其10%的代码。
      利用并行性
   性价比
   
   功耗与效率

   谬误和易犯错误

= 指令集原理 =

== 指令集系统结构分类 ==
      * 堆栈系统结构
      * 累加器系统结构
      * 通用寄存器系统结构
         * 寄存器-寄存器结构:简单、定长的指令编码,简单的代码生成模式,每条指令运行所需的时钟周期相近。一个程序的指令数量比可以直接访问存储器的系统结构多;指令多、指令密度低使程序变大
         * 寄存器-存储器结构:数据不需要专门的载入指令就可以直接访问;指令格式更易于程序员编码;代码密度高。操作数位置不同使每条指令的执行时钟周期不同;同一条指令内对内存地址和寄存器编码,限制了寄存器的数量;源操作数在二元操作中被破坏,操作数不是等价的。
         * 存储器存储器结构:最紧凑;不浪费寄存器来做临时交换空间。指令长短各不相同;每条指令的操作各不相同;内存访问带来存储器瓶颈。
   
== 内存寻址 ==
      字节顺序
         * Little Endian:二进制地址形如"x...x00",位于32位字中最低位置的字节。
         * Big Endian:二进制地址形式如"x...x00",位于32字中的最高位置的字节。
      对齐

      寻址模式
       * 寄存器寻址
       * 立即数寻址
       * 位移量寻址
       * 寄存器间接寻址
       * 间接寻址
       * 直接寻址
       * 存储器间接寻址
       * 自动递增寻址
       * 自动递减寻址
       * 比例寻址

      DSP特有寻址模式
       * 循环递增(递减)寻址
       * 位反转寻址

== 操作数的大小与类型 ==
      指定操作数类型的方式
       * 通过操作码编码
       * 通过在数据上附带类型标记

      操作数类型
         * 字符(单字节)
         * 半字(16位)
         * 字(32位)
         * 单精度浮点(一个字)
         * 双精度浮点(两个字)

         绝大多数情况下,整数使用补码,浮点数使用IEEE754

         有些系统有字符串类型,操作很有限

         有些计算机提供十进制数字格式,称作压缩十进制或者二进制编码十进制:用4个二进制位对一位十进制进行编码。数值字符串有时称为非压缩十进制。在压缩和非压缩编码之间转换成为压缩和解压缩。
      媒体处理器和DSP特有操作数
       * 顶点
       * 像素
       * 定点数
       
== 指令集的操作 ==
      * 算数与逻辑运算
      * 数据传输
      * 控制
      * 系统
      * 浮点
      * 十进制
      * 字符串
      * 图像

      多媒体指令
      * 单指令流多数据流(SIMD)或称为向量指令
      * 饱和算法
      * 多种舍入方式
      * 乘加指令(MAC)

== 控制流指令 ==
      * 条件转移
      * 无条件跳转
      * 过程调用
      * 过程返回

      指定地址的方式
      * 直接地址
      * PC相对寻址
      * 寄存器间接跳转

      条件转移方案
      * 条件码
      * 条件寄存器
      * 比较并分支

      过程调用方案
      * 调用者保存
      * 被调用者保存
== 指令集编码 ==
      * 边长编码
      * 定长编码
      * 混合编码

== 编译器相关问题 ==

== MIPS系统结构 ==

== Trimedia TM32结构 ==

== 谬误和易犯的错误 ==


= 指令级并行 =
   反相关(Antidependence):由名字重复使用造成的相关,它与先读后写(WAR)冲突对应。


 * 记分板调度
 * 寄存器重命名
 * Tomasulo调度


= 软件方法 =
 * 循环展开
 * 软件流水
 * 路径调度
 * 超级块调度

= 存储器层次结构设计 =
   降低cache缺失率
      增加块大小

      增加cache容量

      增加相联度

      路预测和伪相联cache

      编译优化

= 多处理器和线程级并行 =

= 存储系统 =

= 互联网络和集群 =
   集群
      缺点

      优势
         可靠性和可扩展性

      价格
   google集群实例


= 参考资料 =
   John Hennessy, David Patterson, Computer Architecture: A Quantitative Approach (3rd Edition)

TableOfContents

基本原理

  • 体系结构的发展 成本、价格
    • 集成电路成本 = (晶片成本 + 晶片测试成本 + 封装和最终测试成本 ) / 通过最终测试的产品数量 晶片产量 = 晶片成品率 * (1 + 单位面积缺陷 * 晶片面积 / alpha ) ^ -alpha
    评价性能 量化准则
    • 加快经常性事件的速度 Amdahl定律: 总加速比 = 原来执行时间/新的执行时间 = 1/( (1-增强部分比例)+增强部分比例/增强部分加速比 ) CPU性能公式
      • CPI:每条指令执行所需要的时钟周期数。CPI = 一个程序的CPU时钟周期数 / 该程序的指令数IC CPU时间 = 一个程序的CPU时钟周期数 * 时钟周期长度 = 指令数IC * 每指令时钟周期数CPI * 时钟周期的长度 MIPS = 指令数 / (指令的执行时间 * 1M) = 时钟频率 / (CPI * 1M)
      局部性原理
      • 程序经常会重复使用它最近使用过的指令和数据。经验规律指出程序有90%的执行时间执行的是其10%的代码。
      利用并行性
    性价比 功耗与效率 谬误和易犯错误

指令集原理

1. 指令集系统结构分类

  • 堆栈系统结构
  • 累加器系统结构
  • 通用寄存器系统结构
    • 寄存器-寄存器结构:简单、定长的指令编码,简单的代码生成模式,每条指令运行所需的时钟周期相近。一个程序的指令数量比可以直接访问存储器的系统结构多;指令多、指令密度低使程序变大
    • 寄存器-存储器结构:数据不需要专门的载入指令就可以直接访问;指令格式更易于程序员编码;代码密度高。操作数位置不同使每条指令的执行时钟周期不同;同一条指令内对内存地址和寄存器编码,限制了寄存器的数量;源操作数在二元操作中被破坏,操作数不是等价的。
    • 存储器存储器结构:最紧凑;不浪费寄存器来做临时交换空间。指令长短各不相同;每条指令的操作各不相同;内存访问带来存储器瓶颈。

2. 内存寻址

  • 字节顺序
    • Little Endian:二进制地址形如"x...x00",位于32位字中最低位置的字节。

    • Big Endian:二进制地址形式如"x...x00",位于32字中的最高位置的字节。

    对齐 寻址模式
    • 寄存器寻址
    • 立即数寻址
    • 位移量寻址
    • 寄存器间接寻址
    • 间接寻址
    • 直接寻址
    • 存储器间接寻址
    • 自动递增寻址
    • 自动递减寻址
    • 比例寻址
    DSP特有寻址模式
    • 循环递增(递减)寻址
    • 位反转寻址

3. 操作数的大小与类型

  • 指定操作数类型的方式
    • 通过操作码编码
    • 通过在数据上附带类型标记
    操作数类型
    • 字符(单字节)
    • 半字(16位)
    • 字(32位)
    • 单精度浮点(一个字)
    • 双精度浮点(两个字) 绝大多数情况下,整数使用补码,浮点数使用IEEE754 有些系统有字符串类型,操作很有限 有些计算机提供十进制数字格式,称作压缩十进制或者二进制编码十进制:用4个二进制位对一位十进制进行编码。数值字符串有时称为非压缩十进制。在压缩和非压缩编码之间转换成为压缩和解压缩。
    媒体处理器和DSP特有操作数
    • 顶点
    • 像素
    • 定点数

4. 指令集的操作

  • 算数与逻辑运算
  • 数据传输
  • 控制
  • 系统
  • 浮点
  • 十进制
  • 字符串
  • 图像 多媒体指令
  • 单指令流多数据流(SIMD)或称为向量指令
  • 饱和算法
  • 多种舍入方式
  • 乘加指令(MAC)

5. 控制流指令

  • 条件转移
  • 无条件跳转
  • 过程调用
  • 过程返回 指定地址的方式
  • 直接地址
  • PC相对寻址
  • 寄存器间接跳转 条件转移方案
  • 条件码
  • 条件寄存器
  • 比较并分支 过程调用方案
  • 调用者保存
  • 被调用者保存

6. 指令集编码

  • 边长编码
  • 定长编码
  • 混合编码

7. 编译器相关问题

8. MIPS系统结构

9. Trimedia TM32结构

10. 谬误和易犯的错误

指令级并行

  • 反相关(Antidependence):由名字重复使用造成的相关,它与先读后写(WAR)冲突对应。
  • 记分板调度
  • 寄存器重命名
  • Tomasulo调度

软件方法

  • 循环展开
  • 软件流水
  • 路径调度
  • 超级块调度

存储器层次结构设计

  • 降低cache缺失率
    • 增加块大小 增加cache容量 增加相联度 路预测和伪相联cache 编译优化

多处理器和线程级并行

存储系统

互联网络和集群

  • 集群
    • 缺点 优势
      • 可靠性和可扩展性
      价格
    google集群实例

参考资料

  • John Hennessy, David Patterson, Computer Architecture: A Quantitative Approach (3rd Edition)

计算机体系结构 (2008-02-23 15:34:11由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.