万本电子书0元读

万本电子书0元读

顶部广告

超标量处理器设计电子书

    《超标量处理器设计》编著者姚永斌。 第1章主要介绍普通处理器和超标量处理器的一些背景知识。 第1章主要介绍普通处理器和超标量处理器的一些背景知识。 第2章开始讲述Cache,这是由于一般的指令都是从ICache中取出来并送到流水线中的,因此流水线始于ICache,当然,在处理器中也存在DCache,它也会在这一章进行讲述。不同结构的Cache对处理器的性能有着重要的影响,尤其是在超标量处理器中,每周期需要同时执行多条指令,这给Cache的设计带来了一些挑战。

售       价:¥

纸质售价:¥38.70购买纸书

109人正在读 | 0人评论 6.2

作       者:姚永斌

出  版  社:清华大学出版社

出版时间:2014-04-01

字       数:1598

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
    《超标量处理器设计》编著者姚永斌。 《超标量处理器设计》讲述超标量(SuperScalar)处理器的设计,现代的高性能处理器都采用了超标量结构,大至服务器和高性能PC的处理器,小至平板电脑和智能手机的处理器,无一例外。本书以超标量处理器的流水线为主线展内容介绍。本书主要内容包括超标量处理器的背景知识、流水线、顺序执行和乱序执行两种方式的特; Cache的一般性原理、提高Cache性能的方法以及超标量处理器中的Cache,尤其是多端口的Cache; 虚拟存储器的基础知识、页表、TLB和Cache加流水线后的工作流程; 分支预测的一般性原理、在超标量处理器中使用分支预测时遇到的问题和解决方法以及如何在分支预测失败时对处理器的状态行恢复; 一般的 RISC指令集体系的简单介绍; 指令解码的过程,尤其是超标量处理器中的指令解码; 寄存器重命名的一般性原理、重命名的方式、超标量处理器中使用寄存器重命名时遇到的问题和解决方法以及如何对寄存器重命名的过程实现状态恢复; 指令的分发(Dispatch)和发射(Issue)、发射过程中的流水线、选择电路和唤醒电路的实现过程; 处理器中使用的基本运算单元、旁路网络、Cluster结构以及如何对Load/Store指令的执行过程行加速; 重排序缓存(ROB)、处理器状态的管理以及超标量处理器中对异常的处理过程; 经典的Alpha 21264处理器的介绍。在本书中使用了一些现实世界的超标量处理器作为例子,以便于读者加深对超标量处理器的理解和认识。 本书可用作高等院校电子及计算机专业研究生和高年级本科生教材,也可供自学者阅读。<br/>【推荐语】<br/>    《超标量处理器设计》编著者姚永斌。 第1章主要介绍普通处理器和超标量处理器的一些背景知识。 第1章主要介绍普通处理器和超标量处理器的一些背景知识。 第2章始讲述Cache,这是由于一般的指令都是从ICache中取出来并送到流水线中的,因此流水线始于ICache,当然,在处理器中也存在DCache,它也会在这一章行讲述。不同结构的Cache对处理器的性能有着重要的影响,尤其是在超标量处理器中,每周期需要同时执行多条指令,这给Cache的设计带来了一些挑战。 第3章主要介绍虚拟存储器(Virtual Memory),因为处理器在取指令的时候,如果送出的是虚拟地址,那么首先需要被转化为物理地址,然后才能够取得指令,对数据的访问也是类似的,虚拟存储器是现代操作系统运行的基础,在处理器中需要软硬件配合工作,才可以对虚拟存储器提供完整的支持。 ……<br/>
目录展开

扉页

内容简介

版权页

前言

目录

第1章 超标量处理器概览

1.1为什么需要超标量

1.2普通处理器的流水线

1.2.1流水线概述

1.2.2流水线的划分

1.2.3指令间的相关性

1.3超标量处理器的流水线

1.3.1顺序执行

1.3.2乱序执行

第2章 Cache

2.1Cache的一般设计

2.1.1Cache的组成方式

2.1.2Cache的写入

2.1.3Cache的替换策略

2.2提高Cache的性能

2.2.1写缓存

2.2.2流水线

2.2.3多级结构

2.2.4Victim Cache

2.2.5预取

2.3多端口Cache

2.3.1True Multi port

2.3.2Multiple Cache Copies

2.3.3Multi banking

2.3.4真实的例子:AMD Opteron的多端口Cache

2.4超标量处理器的取指令

第3章 虚拟存储器

3.1概述

3.2地址转换

3.2.1单级页表

3.2.2多级页表

3.2.3Page Fault

3.2.4小结

3.3程序保护

3.4加入TLB和Cache

3.4.1TLB的设计

3.4.2Cache的设计

3.4.3将TLB和Cache放入流水线

第4章 分支预测

4.1概述

4.2分支指令的方向预测

4.2.1基于两位饱和计数器的分支预测

4.2.2基于局部历史的分支预测

4.2.3基于全局历史的分支预测

4.2.4竞争的分支预测

4.2.5分支预测的更新

4.3分支指令的目标地址预测

4.3.1直接跳转类型的分支预测

4.3.2间接跳转类型的分支预测

4.3.3小结

4.4分支预测失败时的恢复

4.5超标量处理器的分支预测

第5章 指令集体系

5.1复杂指令集和精简指令集

5.2精简指令集概述

5.2.1MIPS指令集

5.2.2ARM指令集

5.3Load/Store指令

5.3.1Load指令

5.3.2Store指令

5.4计算指令

5.4.1加减法

5.4.2移位指令

5.4.3逻辑指令

5.4.4乘法指令

5.4.5乘累加指令

5.4.6特殊计算指令

5.5分支指令

5.6杂项指令

5.7异常

第6章 指令解码

6.1指令缓存

6.2一般情况

6.3特殊情况

6.3.1分支指令的处理

6.3.2乘累加/乘法指令的处理

6.3.3前/后变址指令的处理

6.3.4LDM/STM指令的处理

6.3.5条件执行指令的处理

第7章 寄存器重命名

7.1概述

7.2寄存器重命名的方式

7.2.1使用ROB进行寄存器重命名

7.2.2将ARF扩展进行寄存器重命名

7.2.3使用统一的PRF进行寄存器重命名

7.3重命名映射表

7.3.1基于SRAM的重命名映射表

7.3.2基于CAM的重命名映射表

7.4超标量处理器的寄存器重命名

7.4.1解决RAW相关性

7.4.2解决WAW相关性

7.5寄存器重命名过程的恢复

7.5.1使用Checkpoint

7.5.2使用WALK

7.5.3使用Architecture State

7.6分发

第8章 发射

8.1概述

8.1.1集中式VS分布式

8.1.2数据捕捉VS非数据捕捉

8.1.3压缩VS非压缩

8.2发射过程的流水线

8.2.1非数据捕捉结构的流水线

8.2.2数据捕捉结构的流水线

8.3分配

8.4仲裁

8.4.11 of M的仲裁电路

8.4.2N of M的仲裁电路

8.5唤醒

8.5.1单周期指令的唤醒

8.5.2多周期指令的唤醒

8.5.3推测唤醒

第9章 执行

9.1概述

9.2FU的类型

9.2.1ALU

9.2.2AGU

9.2.3BRU

9.2.4其他FU

9.3旁路网络

9.3.1简单设计的旁路网络

9.3.2复杂设计的旁路网络

9.4操作数的选择

9.5Cluster

9.5.1Cluster IQ

9.5.2Cluster Bypass

9.6存储器指令的加速

9.6.1Memory Disambiguation

9.6.2非阻塞Cache

9.6.3关键字优先

9.6.4提前开始

第10章 提交

10.1概述

10.2重排序缓存

10.2.1一般结构

10.2.2端口需求

10.3管理处理器的状态

10.3.1使用ROB管理指令集定义的状态

10.3.2使用物理寄存器管理指令集定义的状态

10.4特殊情况的处理

10.4.1分支预测失败的处理

10.4.2异常的处理

10.4.3中断的处理

10.4.4Store指令的处理

10.4.5指令离开流水线的限制

第11章 真实世界的例子:Alpha 21264处理器

11.1概述

11.2取指令和分支预测

11.2.1line/way的预测

11.2.2分支预测

11.3寄存器重命名

11.4发射

11.5执行单元

11.5.1整数的执行单元

11.5.2浮点数的执行单元

11.6存储器的访问

11.6.1Speculative Disambiguation

11.6.2Load hit/miss Prediction

11.7退休

11.8结论

参考文献

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部