计算机组成与设计硬件软件接口学习1

发布于:2023-09-15 ⋅ 阅读:(167) ⋅ 点赞:(0)

计算机的算术运算

子字并行 (大致浏览)pdf 170页左右

浮点加法不满足结合律:

适用于整型数据类型的并行执行策略并不适用于浮点数据类型  ,原因如上↑

处理器

流水线

流水线是一种能使多条指令重叠执行的实现技术

流水线技术通过提高指令吞吐率来提高性能,而不是减少单个指令的执行时间

前递或旁路

 指令间的并行性

流水线技术挖掘了指令间潜在的并行性,这种并行性被称为指令级并行

提高指令级并行度主要有两种方法:

增加流水线的级数  

增加流水线内部的功能部件数量,这样可以每周期发出多条指令,这种技术被称为多发射

实现多发射处理器主要有两种方式:

指令发射与否的判断是在编译时完成的,称为静态多发射

如果指令发射与否的判断是在动态执行过程中由硬件完成的,称为动态多发射

寄存器重命名,寄存器重命名的目标是,除了数据相关,消除指令间存在的其他数据相关。例如,ld x30,0(x20)  ,add  x31, x31,x21,  sd x31, 8(x20) ,这样的指令,除了都是用x31,这些指令实际上是相互独立的。这种情况称为反相关,或名字相关

反相关:也成为名字相关,由于名字复用被迫导致的顺序排列。这并不是一种指令间真是的数据相关

动态多发射处理器

动态多发射器也称为超标量处理器

动态调度流水线:由硬件选择后续执行的指令,并对指令进行重排来避免流水线的停顿。在这样的处理器中,流水线被分为三个主要部分:取指,发射单元,多功能部件,以及提交单元

加速:指令级并行和矩阵乘法

层次化存储

时间局部性 如果某个数据项被访问,那么在不久的将来它可能再次被访问

空间局部性 如果某个数据项被访问,与它地址相邻的数据项可能很快也会被访问

靠近处理器那一层中的数据是那些较远层次中数据的子集,所有的数据都被存在最远的那一层

在相邻两层之间进行信息交换的最小单元称为块 或 

处理写操作

写穿透或写直达:一种写策略。写操作总是同时更新cache和下一级存储,保证两者之间的数据一致

写返回:一种写策略。处理写操作时,只更新cache中对应数据块的数值。当该数据块被替换时,再将更新后的数据块写入下一级存储

cache 的性能评估和改进

直接映射:一个数据块在cache 中只有一个对应位置

全相联:数据块可以存放在 cache 中的任意位置,在全相联cache中查找给定的数据块,所有的表项必须进行对比。

组相联:每个数据块在cache 中存放的位置数量具有固定值(至少为2),每个数据块有 n 个位置可放的组相联 cache 称为 n 路组相联 cache。在一个n路组相联cache中,包含有若干组,每一组包含有n个数据块。

在 cache 中查找数据块

可靠的存储器层次

增加可靠性的最好办法是冗余

失效的定义:

提高MTTF的三种方法:

纠正1位错,检测2位错的汉明编码

本文含有隐藏内容,请 开通VIP 后查看