Tomasulo算法

结构:

每个功能单元都有一个控制缓冲器,即保留站;所有保留站连接到通过公共数据,以检测广播;浮点寄存器具有控制位和tag域,能够保存register result status。

基本原理:

把指令的执行分成Issue、execution、write result三步,整体以按序发射、乱序执行的方式进行。当不存在结构冒险时,将指令按序发射到各个功能部件保留站,保留站中的指令的寄存器被数值或指向保留站的指针所代替,这一过程为寄存器重命名,消除了WAW、WAR冒险。当指令的源操作数就绪时即可执行,从而实现乱序执行,消除RAW冒险。当指令执行完毕时,通过公共数据总线将结果广播到所有的功能部件及保留站。

步骤:

(1)  Issue:从FP op Queue中取指令,如果保留站空闲(无结构冒险),发射指令并发送操作数到保留站(对寄存器进行换名)

(2)  Execution:当指令的两个源操作数就绪时即可执行,如果没有,检测CDB等待所需要的数据。

(3)  Write result:通过公共数据总线将结果广播到所有等待的功能部件,标记保留站可用。

Tomasulo怎样消除各种冒险

通过在issue阶段,暂停发射指令消除结构冒险;

通过寄存器换名消除WAR、WAW冒险;

通过在保留站中等待源操作数消除RAW冒险;

怎样支持精确中断和推测执行

分离指令的完成和提交,引入重排序缓冲器ROB,让指令能够乱序完成,按序提交。

ROB:按FIFO的次序存放指令,当指令执行完成将结果存放在ROB中,并向其他介于执行、完成和提交的指令提供操作数。当ROB顶部的指令执行完成时就将进行提交。

降低cache失效率的方法

(1)增大块大小

(2)增大相联度

(3)使用victim cache

(4)采用伪相联

(5)通过硬件预取数据和指令

(6)通过软件预取数据和指令

(7)通过编译优化

降低cache失效损失的方法

(1)在失效时读比写优先

(2)子块放置

(3)提前重启和关键字先送

(4)使用Nonblockingcache

(5)使用二级cache

减小cahce命中时间的方法

(1)使用小而简单的cache

(2)避免地址变换

(3)通过流水化操作

(4)使用Tracecache

记分板读操作阶段Rj、Rk置No的原因

Rj(Rk)代表源操作数的可用性,如果Fj,Fk可用,则在issue阶段被置为Yes;否则置为No,该指令就会一直等待在issue阶段,直到操作数变为可用,将Rj(Rk)置为Yes,然后指令才能进入execution阶段。此外,当Rj(Rk)为Yes时,如果出现WAR冒险则停留在write result阶段,直到Rj(Rk)为No。

(m,n)预测器工作原理

使用前m个分支行为从2^m个分支预测进行选择,每一个预测对应于一个n位的分支预测器。最近的m个分支的全局历史记录可以记录在一个m位的移位寄存器中,每一位记录着该分支是被执行还是未被执行。对分支预测器缓冲站的访问可以通过分支地址的低位拼上m位全局记录而得到。

DDR中的channel、bank、rank、row buffer等概念

channel:是内存控制器管理的一个独立内存接口,一个channel包括64位的数据总线,并连通一组模组。同一channel中的模组共享同样的命令。

bank:bank是内存颗粒中的一个存储单元,每个内存颗粒有一组bank,每个bank内部包含多个存储阵列,bank、row、column组成内存中一个cell的坐标。

Rank:一个rank由一组或多组内存颗粒组成,一个rank包含的内存颗粒数量等于数据总线位宽除以一个内存颗粒的位宽。

Row buffer:在内存快速页模式中,row buffer能够存储一整行的数据,允许地址总线只发送一个列地址信号就能进行数据访问。

cache coherence和memory consistency的区别与联系

cache coherence:指在多处理器环境下,每个处理器的cache可能会对应到同一地址的memory块,不同处理器在读操作时必须保持一致。即定义了读操作可以返回什么样的值。

memory consistency:指在多处理器环境下,定义了不同处理器的读操作什么时候可以返回一个被写过的值。

联系:cache coherence和memoryconsistency共同组成了存储系统一致性问题。两者分别代表了不同存储层次中的一致性问题,两者相互影响。

6管SRAM工作原理

基本原理:

在写数据时,根据要写入的数据,将一根位线预充到高电平,另一根放电到低电平。然后选中行线,使两端的门管导通,内部的稳态电路锁存数据。

在读数据时,先把位线预充到高电平,然后选中行线,使两端的门管导通,数据节点向位线充/放电,列上的灵敏放大器识别出两根位线上的电压差,并输出相应的数据。

指令冒险与指令相关的区别与联系

指令相关是指指令之间存在某种依赖关系。指令相关有三种:数据相关(包括真相关)、名字相关(包括反相关、输出相关)、控制相关。

指令冒险是指由于指令相关导致指令流中的下一条指令不能在指定的时钟周期执行。指令冒险有数据冒险(WAW、RAW、WAR)、控制冒险、结构冒险等。

联系:指令相关导致了指令冒险;指令冒险能够避免,指令相关无法避免。

从水平损耗和垂直损耗分析superscalar、fine-grained multithread、coarse-grained multithread、multiprocessing、simultaneousmultithread的设计动机

superscalar:水平损耗为动机。主要特点时多发射。

Fine-grained multithread:垂直损耗为动机。主要特点是可以一个周期切换一次线程。

Coarse-grained multithread:垂直损耗为动机。主要特点是能够在一个线程遇到load、store等完成周期较长的操作时切换线程。

Multiprocessing:水平损耗为动机。主要特点是多个处理器并行执行指令。

Simultaneous multithread:水平损耗、垂直损耗为动机。主要特点是多发射,并且同一时钟周期不同发射窗口发射不同的线程的指令。

Power wall +ILP wall + memory wall = brick wall

计算机的性能发展主要受到了功耗、指令级并行、内存三个方面的限制。

Power wall指随着集成电路规模的增长,功耗密度越来越大,散热技术未得到更好的改进,限制计算机性能的发展。

ILP wall指由于单处理器受到控制计算单元的限制,并且amdahl定律指出指令级并行取决于程序的可并行程度,ILP技术也无法有效提高计算机的速度。

Memory wall指出处理器的速度和存储器的速度差距越来越大,存储器的延迟限制了计算机的性能的发展。

记分板技术

记分板技术是使用硬件开发指令级并行的技术。核心思想是:

(1)当不具有结构冒险和WAW冒险时,将指令按序分派到功能部件,否则,暂停发射;

(2)指令在执行之前必须等待源操作数,可以乱序执行,消除了RAW冒险;

(3)在写回阶段,指令等待输出寄存器被之前的指令读取后才能写回,此前指令的结果保存在功能单元中,消除了WAR冒险。

存储局部性

局部性包括:时间局部性、空间局部性。

时间局部性:被引用过一次的存储器位置在未来会被多次引用。

空间局部性:如果一个存储器的位置被引用,其附近的位置也会被引用。

软件流水技术

软件流水技术是一种重组循环体的技术。软件流水循环的每一次迭代体是由原循环体的不同迭代中选出的指令组成的,可达到消除相关性的目的。

显式寄存器换名

显式寄存器换名是通过物理寄存器堆,将指令中所使用的寄存器映射到物理寄存器中。当任何指令要写某个寄存器时,给该寄存器分配一个新的物理寄存器,该方法避免了WAW、WAR冒险。

旋转寄存器堆

用于解决VLIW循环调度需要很多寄存器的问题。使用一个Rotating Register Base指向当前寄存器组,使用其值加上逻辑寄存器值作为物理寄存器,达到了寄存器换名的效果。寄存器可以复用,根据指令执行周期重用寄存器。

非一致性访问分布共享存储技术

由若干通过高速专用网络连接起来的独立节点构成的系统。逻辑上整个系统分为多个节点,每个节点可以访问本地的内存资源,也可以访问远程内存资源,但访问本地内存资源远远快于远程内存资源。

计算机体系结构

计算机体系结构的目的是设计满足目标和功能需求的组成和硬件,包括指令集体系结构、组成或微体系结构、硬件。它是应用层和物理层之间抽象层的设计。

推测执行技术

一种使用编译器或处理器推测指令执行结果,以消除其他指令对该指令依赖的技术

LL/SC实现同步信号灯的原理

当LL指令从内存中取一个字后,处理器会记住LL指令的这次操作,同时LL指令读取的地址也会被保存在处理器的link 寄存器中。如果,发生中断,link寄存器中的地址值就会失效并清除。SC在执行时,检查指令中的地址是否与link寄存器中的地址匹配,若匹配,SC执行成功。因此,LLSC实现同步信号灯的原理是利用LL和SC构成一个原子操作,将信号灯的地址包含在LL和SC指令中,使之能够存储在link寄存器中,通过SC指令完成对信号量的更改。

DMA

DMA是一种高速的数据传输操作,允许在外部设备和存储器之间通过CPU的两次干预,周期窃取地自动完成批量数据的传输。

存储层次设计的四个问题

block placement:全相联、组相联、直接映射

block identification:标记/信息块

block replacement:LRU、FIFO

write strategy:write back、writethrough

降低转移损失的方法

软件方法:

(1)  消除转移——循环展开,增大运行长度

(2)  减小转移确定时间——指令调度尽早计算转移条件

硬件方法:

(1)  延迟槽——用有效工作代替气泡

(2)  推测——转移预测,跨越转移的指令推测式执行

Tracescheduling

踪迹调度分为两步:

(1) 踪迹选择,负责从程序的控制流图中选择执行频率较高的路径,每一条路径就是一条trace;

(2)踪迹压缩,对已生成的trace进行指令调度和优化,尽可能的压缩其执行时间

2:1cache规律

miss rate 1-way associative cache size X= miss rate 2-way associative cache size X/2

AMAT

Average Memory Access Time = Hit time +Miss rate × Miss penalty

错误预测恢复机制

将结果计算与commit分离;消除流水线中跟随错误预测转移指令之后的指令 ;将状态恢复到转移指令之后的正确状态

流水线CPI

流水线CPI = 理想CPI + 结构停顿 + 数据冒险停顿 + 控制停顿

cpi 计算机体系结构 转移指令,高等计算机体系结构基本概念总结相关推荐

  1. cpi 计算机体系结构 转移指令,浅析计算机体系结构和RISC技术

    计算机体系结构的发展趋势 信息技术 口岫N刚Te撼ies 王晓齐文军刘苗辉. (辽宁大连91550部队,辽宁大连116023) 2Q!!△!Q:塑 ondPtoduds 浅析计算机体系结构和RISC技 ...

  2. 【体系结构】山东大学计算机体系结构知识点清单

    涵盖所有考点,复习绝对高效,点赞+留邮箱获取pdf版本 计算机体系结构复习提纲 第一章 基本概念 1. 计算机系统的层次结构 语言实现的两种基本技术: 翻译:先把 N+1 级程序全部转换成 N 级程序 ...

  3. 计算机体系结构在线读,计算机体系结构_arch01_intro-c1.pdf

    计算机体系结构_arch01_intro-c1.pdf 高等计算机系统结构 高等计算机系统结构 引 论 (第一讲) 程旭 2007年9月10日 北京大学微处理器研究开发中心 chengxu@ 主要教材 ...

  4. 什么是计算机的网络体系结构,什么是网络体系结构 网络体系结构介绍【详解】...

    网络体系结构,什么是网络体系结构 通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言.交流什么.怎样交流及何时交流,都必须遵循 ...

  5. 第一章 计算机体系结构(一)— 体系结构分类

    计算机体系结构分类 1. 计算机体系结构概述 2. 计算机体系结构分类 2-1 按处理机数量分类(宏观) 1.单处理系统 2.并行处理与多处理系统 3.分布式处理系统 2-2 按并行程度分类(微观) ...

  6. 计算机体系结构——1.1 计算机体系结构的概念与发展

    目录 1.1 计算机体系结构的概念与发展 1.1.1存储程序计算机 1.1.2 计算机体系结构.组成和实现 1.1.3 计算机系统中的层次概念 1.1.4 系列机和兼容 1.1 计算机体系结构的概念与 ...

  7. 如何理解计算机网络的体系结构,如何理解计算机组成和计算机体系结构?

    对计算机组成和计算机体系结构的理解:1.计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等,主要分为五个部分:2.计算机体系结构是程序员所看到的计算机的属性,即概念性结 ...

  8. 冯诺依曼设计的计算机局限性,计算机智能化中冯·诺依曼体系结构的局限性

    计算机智能化中冯·诺依曼体系结构的局限性 董晶晖 [摘要]摘要 [期刊名称]中国科技信息 [年(卷),期]2012(000)023 [总页数]2 [关键词]关键词 计算机经过了半个多世纪的发展,依旧无 ...

  9. 五层协议的网络体系结构要点_计算机体系结构要点第一部分性能评估

    五层协议的网络体系结构要点 This article is a part of the Learning notes series - Computer architecture Essentials ...

  10. 冯.诺伊曼体系结构的计算机工作原理是,冯诺依曼体系结构计算机的要点和工作过程.doc...

    冯诺依曼体系结构计算机的要点和工作过程.doc 1.简述冯诺依曼体系结构计算机的要点和工作过程.答冯诺依曼体系结构计算机的要点计算机中的信息(程序和数据)以二进制方式表示.程序预存储,机器自动执行.计 ...

最新文章

  1. 45本互联网圣经级别书籍!包邮送到家!一书在手,天下我有!
  2. BZOJ 4710: [Jsoi2011]分特产
  3. 如何利用TensorFlow.js部署简单AI版「你画我猜」
  4. 【agc004f】Namori Grundy
  5. SQLServer重建索引
  6. 阿里云护航罗振宇2018“时间的朋友”跨年演讲,与千万观众一起跨年 1
  7. Shell 编程:Bash空格的那点事
  8. STL_set/vector/deque
  9. datatable中使用linq的条件或_C# 10. LINQ 的三种查询语句写法
  10. eclipse中svn插件的工程不能与svn资源库同步的解决方法
  11. cpp map 获取所有 key_微信小程序获取地理位置和地名的方法
  12. mysql+alter+int_MySQL Alter命令
  13. android api解析之TextWatcher(editText输入监控之一)
  14. 项目质量管理—七种基本质量工具
  15. IPV6 阿里DDNS
  16. 计算机产业现状及未来,2020工业计算机行业现状及未来前景分析
  17. java freemarker jxl excel_freemarker导出定制excel
  18. 人民日报谈美国减税:是在挑起税务战,国际税收秩序将陷混乱(zz)
  19. leetcode189 python旋转数组
  20. python如何实现隔行换色_Excel2010如何实现隔行设置背景色

热门文章

  1. Code Review: Rietveld平台的搭建和Rietveld的使用。
  2. excel两个字符串相减_excel两列相减
  3. 项目管理术语英汉对照表
  4. [CSS] 用css实现气泡框效果
  5. 用Python来判断输入的身份证号的性别
  6. LimeSDR官方系列教程(一):LimeSDR简介
  7. 手把手教你使用SPSS做出亚组分析的交互作用效应(p for Interaction)
  8. 经济机器是怎样运行的(文字版)-瑞.达利欧
  9. 《经济机器是怎样运行的》笔记(二)
  10. 那山的那边海的这边有一群程序员