图书简介

《超标量处理器设计》讲述超标量(SuperScalar)处理器的设计,现代的高性能处理器都采用了超标量结构,大至服务器和高性能PC的处理器,小至平板电脑和智能手机的处理器,无一例外。《超标量处理器设计》以超标量处理器的流水线为主线展开内容介绍。《超标量处理器设计》主要内容包括超标量处理器的背景知识、流水线、顺序执行和乱序执行两种方式的特点;Cache的一般性原理、提高Cache性能的方法以及超标量处理器中的Cache,尤其是多端口的Cache;虚拟存储器的基础知识、页表、TLB和Cache加入流水线后的工作流程;分支预测的一般性原理、在超标量处理器中使用分支预测时遇到的问题和解决方法以及如何在分支预测失败时对处理器的状态进行恢复;一般的RISC指令集体系的简单介绍;指令解码的过程,尤其是超标量处理器中的指令解码;寄存器重命名的一般性原理、重命名的方式、超标量处理器中使用寄存器重命名时遇到的问题和解决方法以及如何对寄存器重命名的过程实现状态恢复;指令的分发(Dispatch)和发射(Issue)、发射过程中的流水线、选择电路和唤醒电路的实现过程;处理器中使用的基本运算单元、旁路网络、Cluster结构以及如何对Load/Store指令的执行过程进行加速;重排序缓存(ROB)、处理器状态的管理以及超标量处理器中对异常的处理过程;经典的Alpha21264处理器的介绍。在本书中使用了一些现实世界的超标量处理器作为例子,以便于读者加深对超标量处理器的理解和认识。《超标量处理器设计》可用作高等院校电子及计算机专业研究生和高年级本科生教材,也可供自学者阅读。

(展开)

编辑推荐

随着智能手机的兴起,处理器这个词逐渐出现在人们的视野中,越来越多的公司希望通过自行设计的处理器来提供差异化的产品,在处理器的阵营中,超标量(SuperScalar)处理器的性能最好,但是复杂度也最高,《超标量处理器设计》重点讲述的就是超标量处理器。处理器的设计是一门交叉学科,设计者不但要懂计算机体系结构,还要懂微电子和集成电路设计的相关知识,本书力求以通俗易懂的语言将读者带入处理器设计的世界,书中以RISC指令集为基础,涉及到了Cache、分支预测、指令集体系、寄存器重命名和乱序执行等内容,并使用VerilogHDL作为基本的硬件描述语言,通过阅读本书,读者可以了解超标量处理器的运行过程,从而为设计出更高性能的处理器打下基础。

(展开)

目录

第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.1 Cache的一般设计
2.1.1 Cache的组成方式
2.1.2 Cache的写入
2.1.3 Cache的替换策略
2.2 提高Cache的性能
2.2.1 写缓存
2.2.2 流水线
2.2.3 多级结构
2.2.4 Victim Cache
2.2.5 预取
2.3 多端口Cache
2.3.1 True Multiport
2.3.2 Multiple Cache Copies
2.3.3 Multibanking
2.3.4 真实的例子: AMD Opteron的多端口Cache
2.4 超标量处理器的取指令

第3章 虚拟存储器
3.1 概述
3.2 地址转换
3.2.1 单级页表
3.2.2 多级页表
3.2.3 Page Fault
3.2.4 小结
3.3 程序保护
3.4 加入TLB和Cache
3.4.1 TLB的设计
3.4.2 Cache的设计
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.1 MIPS指令集
5.2.2 ARM指令集
5.3 Load/Store指令
5.3.1 Load指令
5.3.2 Store指令
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.4 LDM/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.1 1ofM的仲裁电路
8.4.2 NofM的仲裁电路
8.5 唤醒
8.5.1 单周期指令的唤醒
8.5.2 多周期指令的唤醒
8.5.3 推测唤醒

第9章 执行
9.1 概述
9.2 FU的类型
9.2.1 ALU
9.2.2 AGU
9.2.3 BRU
9.2.4 其他FU
9.3 旁路网络
9.3.1 简单设计的旁路网络
9.3.2 复杂设计的旁路网络
9.4 操作数的选择
9.5 Cluster
9.5.1 Cluster IQ
9.5.2 Cluster Bypass
9.6 存储器指令的加速
9.6.1 Memory 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.4 Store指令的处理
10.4.5 指令离开流水线的限制

第11章 真实世界的例子: Alpha 21264处理器
11.1 概述
11.2 取指令和分支预测
11.2.1 line/way的预测
11.2.2 分支预测
11.3 寄存器重命名
11.4 发射
11.5 执行单元
11.5.1 整数的执行单元
11.5.2 浮点数的执行单元
11.6 存储器的访问
11.6.1 Speculative Disambiguation
11.6.2 Load hit/miss Prediction
11.7 退休
11.8 结论
参考文献
(展开)

书页展示

更多图书信息
数据来源于网络,如有问题,请反馈至此邮箱:service@bookask.com

作者:姚永斌
出版:清华大学出版社

ISBN:9787302347071

出版日期:2014-04-01

清华大学出版社

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)

使用移动设备
扫描二维码下载客户端

注:目前仅提供安卓客户端下载

相关书卡
书卡里除了这本书,还有更多经典等你读!

Copyright ©2019  BookAsk 书问  |  京ICP证160134号   |  

京公网安备 11010802026432号

  |  出版物经营许可证新出发京零字第海150168号   |  营业执照:91110108318038279C   |  网站地图   |  关于我们   |  合作伙伴   |  商务合作   |  友情链接