现代微处理器体系结构课堂笔记_第1页
现代微处理器体系结构课堂笔记_第2页
现代微处理器体系结构课堂笔记_第3页
现代微处理器体系结构课堂笔记_第4页
现代微处理器体系结构课堂笔记_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现代微处理器体系结构课堂笔记现代微处理器体系构造课堂笔记本文关键词:微处理器,体系构造,课堂,笔记

现代微处理器体系构造课堂笔记本文简介:系统构造笔记第一章绪论1、背景介绍,市场改变及缘由及趋势2、计算机体系构造根本概念计算机体系构造的定义ComputerArchitecture=InstructionSetArchitecture+MachineOrganization+Hardware指令级构造(InstructionSetArc

现代微处理器体系构造课堂笔记本文内容:

系统构造笔记

第一章

绪论

1、背景介绍,市场改变及缘由及趋势

2、计算机体系构造根本概念

计算机体系构造的定义

Computer

Architecture

=

Instruction

Set

Architecture

+

Machine

Organization

+

Hardware

指令级构造(Instruction

Set

Architecture)

探究软、硬件功能安排以及机器级界面确实定,既由机器语言程序设计者或编译程序设计者所看到的机器物理系统的抽象或定义。但它不包括机器内部的数据流和限制流、逻辑设计和器件设计等。

计算机组织(Computer

Organization)

ISA的逻辑实现,包括机器级内的数据流和限制流的组成以及逻辑设计等。它着眼于机器内各事务的排序方式与限制机构、各部件的功能以及各部件间的联系。

计算机实现〔Computer

Implementation〕

是指计算机组成的物理实现,包括处理机、主存等部件的物理构造,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。

计算机体系构造=ISA

+

Organization

+

Hardware

3、定量分析技术根底

1、计算机系统评价

当客户拿到一组机器时,他们确定想知道哪特性能最好,哪个价格最低,哪特性价比最高?而我们设计者那么须要最大限度的提高性能,使性价比到达最高,因此我们必需要就根本的评价标准和方法。

常用性能评价指标:执行时间〔CPU

Time〕、峰值速度〔Peak

Performance〕、负载〔load〕

开销〔overhead〕、利用率〔utilization

ratio〕、饱和性能〔saturate

performance〕、

带宽〔bandwidth〕、延迟〔latency〕、吞吐率〔throughout〕、加速比〔speedup〕、

Amdahi定律〔amdahi

law〕、效率〔efficiency〕、基准测试〔benchmark〕、

响应时间〔response

time〕等等

2、性能度量

性能定义为每秒完成的任务数-bigger

is

better

假如我们更关怀响应时间〔response

time〕

X性能是Y的n倍是指

3、性能设计与评测的根本原那么

并行性

也许率事务优先原那么

全部指令都须要取指令操作,只有局部指令访问数据

优化指令访问操作比优化数据访问操作优先

程序局部性原理:时间局部性、空间局部性

4、Amdahl’s

定律

Speedup(with

E)

=

1/((1-F)+F/S))

F指fraction〔小局部〕S指小局部的加速比

CPU

time

=

CPI

IC

T

CPU

time=

Seconds

=

Instructions

x

Cycles

x

Seconds

Program

Program

Instruction

Cycle

执行时间是计算机系统度量的最实际,最牢靠的方式

其次章

指令集构造设计

对于一种指令集构造,我们必需要知道指令格式或编码方式,操作数和操作结果存放的位置,数据类型和大小,寻址方式,支持哪些操作,下一条指令的地址〔jumps,conditions,branches〕

1、指令集构造分类

累加器型、堆栈型、通用存放器型、存储器-存储器型

通用存放器型占主导地位,因为存放器比存储器快,对编译器而言,存放器更简单运用

通用存放器的分类:

优点

缺点

Register-Register

指令格式简洁,并且长度固定,是一种简洁的代码生成模型,各种指令的执行时钟周期数相近。

指令条数相对较多,目标代码大。

Register-Memory

干脆对存储器操作数进展访问,简单对指令进展编码,且其目标代码较小。

指令中的操作数类型不同。指令的操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期数也不尽一样。

Memory-Memory

编码方式严密,不用为保存临时变量而奢侈存放器空间。

指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器访问瓶颈问题。

2、寻址方式

如何说明存储器地址?如何说明寻址方式?

目前几乎全部的机器的存储器都是按字节编址的,当读取一个32位字时,假如每次一个字节,四次完成,每次一个字,一次就可以了,问题来了:

如何将字节地址映射到字地址〔尾端问题〕

一个字是否可以存放在任何字节边界上〔对齐问题〕

对齐问题:对一个s字节的对象访问,地址为A,假如A

mod

s

=0

那么它就是边界对齐的。

边界对齐的缘由是存储器本身读写的要求,存储器本身读写通常就是边界对齐的,对于不是边界对齐的对象的访问可能要导致存储器的两次访问,然后再拼接出所须要的数。〔或发生异样〕

重要的寻址方式:

偏移寻址方式,马上数寻址方式,存放器间址方式

SPEC测试说明,运用频度到达

75%--101%

还有其他许多寻址方式,这里就不说明了

3、操作数的类型、表示和大小

操作数类型是面对应用,面对软件系统所处理的各种数据构造

整型、浮点型、字符、字符串、向量类型等

类型由操作码确定或数据附加硬件说明的标记,一般采纳由操作码确定

操作数的表示:硬件构造能够识别,指令系统可以干脆调用的构造

整型:原码、反码、补码

浮点:IEEE

754标准

十进制:BCD码,二进制十进制表示

单字、双字的数据访问具有较高的频率

4、指令集功能设计

需考虑的因素:速度、价格和敏捷性。根本要求:指令系统的完整性、规整性、高效率和兼容性

完整性设计:具备根本指令种类

兼容性:系列机

高效率:指令执行速度快、运用频度高

规整性:让全部运算部件都能对称、匀称的在全部数据存储单元之间进展操作。对全部数据存储单元都能同等对待,无论是操作数或运算结果都可以无约束地存放到随意数据存储单元中

正交性:数据类型独立于寻址方式,寻址方式独立于所要完成的操作

1、

CISC计算机指令集构造的功能设计

目标:增加指令功能,削减指令的指令条数,以提高系统性能

面对目标程序的优化,面对高级语言和编译器的优化

对大量的目标程序机器执行状况进展统计分析,找出访用频度高,执行时间长的指令或指令串

对于那些运用频度高的指令,用硬件加快其执行,对于那些运用频度高的指令串,用一条新的指令来代替它

2、

RISC计算机指令构造的功能设计

通过简化指令系统,用最高效的方法实现最常用的指令

充分发挥流水线的效率,削减CPI

硬件方面:硬布线限制逻辑,削减指令和寻址方式的种类,运用固定格式,采纳Load/Store,指令执行过程中设置多级流水线。

软件方面:非常强调优化编译的作用

5、指令格式

指令格式选择策略

假如代码长度最重要,那么运用变长指令格式

假如性能至关重要,运用固定长度指令

有些嵌入式CPU附加可选模式,由每一应用自己选择性能还是代码量

有些机器运用边执行边解压的方式

假如每条指令存在多个存储器操作数,或有多种寻址方式,每一操作数都要说明其寻址方式

6、

编译技术与计算机体系构造

编译优化-4个层次

高层优化:一般在源码上进展,同时把输出传递给以后的优化扫描步骤

局部优化:仅在一系列代码片断之内〔根本块〕将代码优化

全局优化:将局部优化扩展为跨越分支,并且引入一组针对优化循环的转换

与机器相关的优化:充分利用特定的系统构造

第三章

流水线技术

1、流水线技术

流水线技术要点

流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率

流水线中的瓶颈——最慢的那一段

多个任务同时执行,但运用不同的资源

其潜在的加速比=流水线的级数

流水段所需时间不均衡将降低加速比

流水线存在装入时间和排空时间,使得加速比降低

由于存在相关问题,会导致流水线停顿

流水线正常工作的根本条件

增加存放器文件保存当前段传送到下一段的数据和限制信息

存储器带宽是非流水的5倍

指令流水线通过指令重叠减小

CPI

充分利用数据通路

当前指令执行时,启动下一条指令

其性能受限于花费时间最长的段:解决方法:

串联:将最慢段进一步划分

并联:增加部件

检测和消退相关

如何有利于流水线技术的应用

全部的指令都等长

只有很少的指令格式

只用Load/Store来进展存储器访问

TP:吞吐率

S加速比

E效率-设备利用效率

2、流水线的相关

采纳流水线技术势必会带来流水线相关问题,虽然我们运用等待策略总是可以解决相关,但是,流水线限制必需能检测相关,否那么由软件设计来幸免

构造相关

同一时间两种方式运用同一资源

〔停顿等待〕

数据相关

在数据未打算好之前,就须要运用数据当前指令的执行须要上一条指令的结果〔RAW,WAW,WAR

硬件方法:采纳定向技术,软件方法:指变更指令依次,插入缓冲槽,指令集调度〕

RAW〔写后读〕由于实际的数据交换需求而引起的

WAR〔读后写〕由于重复运用存放器名“r1”引起的

DLX

5

段根本流水线不会有此类相关因为,全部的指令都是5段,并且读操作总是在第2段,而写操作在第5段。

WAW〔写后写〕也是由于重复运用存放器“r1”引起的

在DLX

5段根本流水线中,也不会发生。因为全部指令都是5段,并且写操作都在第5段,在后面的困难的流水线中我们将会看到

WAR

和WAW

相关。

限制相关

由于限制类指令引起的,试图在条件未评估之前,就做确定

分支须要解决两个问题:分支目标地址〔转移胜利意谓着PC值不是

PC+4〕,转移条件是否有效,这两点在DLX中都在流水线的靠后段中确定

译码在ID段后,转移地址必需在ID段后才知道,此时取进来的指令可能是错误的指令

解决限制相关的静态方法:

1、Stall:直到分支方向确定

2、预料分支失败:干脆执行后继指令,假如分支实际状况为分支胜利,那么撤销流水线中的指令对流水线状态的更新

DLX分支指令平均47%为分支失败

由于PC+4已经计算出来,因此可以用它来取下一条指令

3、预料分支胜利:平均53%

DLX

分支为分支胜利,但分支目标地址在ID段才能计算出目标地址

4、延迟转移:选择指令来填充延迟槽

3、异样

准确中断

非准确中断

异样发生在指令中,并且要求复原执行,要求==>流水线必需平安地

shut

down

PC必需保存,假如重新起先的是一条分支指令,它须要重新执行

引起异样的指令前面的指令都已执行完,故障后的指令可以重新从故障点后执行

志向状况,引起故障的指令没有变更机器的状态

要正确的处理这类异样恳求,必需保证故障指令不产生副作用

准确中断对整数流水线而言,不是太难实现

第四章

指令级并行

本章探究的是削减停顿(stalls)数的方法和技术

流水线提高的是指令带宽〔吞吐率〕,而不是单条指令的执行速度

相关限制了流水线性能的发挥

构造相关:须要更多的硬件资源

数据相关:须要定向,编译器调度

限制相关:尽早检测条件,计算目标地址,延迟转移,预料

增加流水线的级数会增加相关产生的可能性

异样,浮点运算使得流水线限制更加困难

编译器可降低数据相关和限制相关的开销

Load

延迟槽

Branch

延迟槽

Branch预料

1、指令级并行的概念

计算机系统的并行性,从执行程序的角度,分为:

指令内部并行:指令内部的微操作

指令级并行:并行执行两条或多条指令

任务级或过程级并行:并行执行两个或多个过程或任务

作业或程序级并行:在多个作业或程序间并行

从处理数据的角度,并行性等级分为:

字串位串

字串位并

字并位串

全并行

提高并行的三种途径

时间重叠

资源重复

资源共享

ILP:

无关的指令重叠执行

流水线的平均CPI

Pipeline

CPI

=

Ideal

Pipeline

CPI

+

Struct

Stalls

+

RAW

Stalls

+

WAR

Stalls

+

WAW

Stalls

+

Control

Stalls

2、硬件方案:

指令级并行

为什么要运用硬件调度方案?

在编译时无法确定的相关,可以通过硬件调度来优化

编译器简洁

代码在不同组织构造的机器上,同样可以有效的运行

根本思想:

允许

stall后的指令接着向前流淌

DIVDF0,F2,F4

ADDDF10,F0,F8

SUBDF12,F8,F14

允许乱序执行〔out-of-order

execution〕

=>

out-of-order

completion

硬件方案之一:

记分牌

记分牌限制的四阶段

1、Issue—指令译码,检测构造相关

假如当前指令所运用的功能部件空闲,并且没有其他活动的指令运用一样的目的存放器〔WAW),记分牌放射该指令到功能部件,并更新记分牌内部数据,假如有构造相关或WAW相关,那么该指令的放射暂停,并且也不放射后继指令,直到相关解除.

2、Read

operands—没有数据相关时,读操作数

假如从前已放射的正在运行的指令不对当前指令的源操作数存放器进展写操作,或者一个正在工作的功能部件已经完成了对该存放器的写操作,那么该操作数有效.

操作数有效时,记分牌限制功能部件读操作数,打算执行。

记分牌在这一步动态地解决了RAW相关,指令可能会乱序执行。

3、Execution—取到操作数后执行

(EX)

接收到操作数后,功能部件起先执行.

当计算出结果后,它通知记分牌,可以完毕该条指令的执行.

4、Write

result—finish

execution

(WB)

一旦记分牌得到功能部件执行完毕的信息后,记分牌检测WAR相关,假如没有WAR相关,就写结果,假如有WAR

相关,那么暂停该条指令。

Example:

DIVDF0,F2,F4

ADDDF10,F0,F8

SUBDF8,F8,F14

CDC

6600

scoreboard

将暂停SUBD直到ADDD读取操作数后,才进入WR段处理。

记分牌的主要思想是:允许stall后的指令接着进展处理

可以out-of-order

execution

=>

out-of-order

completion

ID

段检测构造相关和WAW相关

6600

scoreboard的缺陷:

没有定向数据通路

指令窗口较小,仅局限于根本块内的调度

功能部件数较少,简单产生构造相关,特殊是其Load

store操作也是用IU部件完成的

构造冲突时不能放射

WAR相关是通过等待解决的

WAW相关时,不会进入IS阶段

动态调度方案之二:Tomasulo

Algorithm

Tomasulo

算法的三阶段:性能受限于Common

Data

Bus

1、Issue—从FP操作队列中取指令

假如RS空闲(no

structural

hazard),那么限制放射指令和操作数

(renames

registers).

消退WAR,WAW相关

2、Execution—operate

on

operands

(EX)

当两操作数就绪后,就可以执行

假如没有打算好,那么监测Common

Data

Bus

以获得结果。通过推迟指令执行幸免RAW相关

3、Write

result—finish

execution

(WB)

将结果通过Common

Data

Bus传给全部等待该结果的部件;

表示RS可用

Tomasulo

Scoreboard

流水化的功能部件

多个功能部件

(6

load,3

store,3

+,2

x/÷)

(1

load/store,1

+,2

x,1

÷)

指令窗口大小:

~

14

instructions

~

5

instructions

有构造冲突时不放射

一样

WAR:

用存放器重命名幸免

stall

来幸免

WAW:用存放器重命名幸免

停顿放射

从FU播送结果

写存放器方式

Control:

RS

集中式scoreboard

关于异样处理?

乱序完成加大了实现准确中断的难度

在前面指令还没有完成时,存放器文件中可能会有后面指令的运行结果.假如这些前面的指令执行时有中断产生,怎么办?

例如:

DIVD

F10,F0,F2

SUBD

F4,F6,F8

ADDD

F12,F14,F16

须要“rollback”

存放器文件到原来的状态:

准确中断含义是其返回地址为:该地址之前的全部指令都已完成,其后的指令还都没有完成

实现准确中断的技术:依次完成〔或提交〕

即提交指令完成的依次必需与指令放射的依次一样

Reorder

Buffer:

供应了撤销指令运行的机制

指令以放射序存放在ROB中

指令依次提交

有效的支持准确中断,推想执行

分支预料对提高性能是特别重要的

推断执行是利用了ROB撤销指令执行的机制

限制相关的动态解决技术

限制相关:由条件转移或程序中断引起的相关,也称全局相关。限制相关对流水线的吞吐率和效率影响相对于数据相关要大得多

条件指令在一般程序中所占的比例相当大

中断虽然在程序中所占的比例不大,但中断发生在程序中的哪一条指令,发生在一条指令执行过程中的哪一个功能段都是不确定的

处理好条件转移和中断引起的限制相关是很重要的。

当分支方向预料错误时,不仅流水线中有多个功能段要奢侈,更紧要的是可能造成程序执行结果发生错误,因此当程序沿着错误方向运行后,作废这些程序时,必须不能破坏通用存放器和主存储器的内容。

动态分支预料方法

基于BPB(Branc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论