![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机体系结构
计算机体系结构
槑!
这个作者很懒,什么都没留下…
展开
-
【体系结构系列】并发保证
并发保证综合前面所有说的 cache 、多处理机来综合讲解。缓存一致性常见的缓存一致性协议有MSI(已讲解)、MESI、MOSI、Firefly、Synapse及DragonProtocol等。其中最出名的就是MESI(MESI属于窥探协议),该协议中最重要的内容有两部分:缓存行的状态以及消息通知机制。MESI 窥探协议的基本思想(同 MSI )所有cache与内存,cache与cache(cache之间也会有数据传输)之间的数据传输都发生在一条共享的总线上,并且所有的cpu都能看到原创 2020-12-27 00:32:35 · 221 阅读 · 0 评论 -
【体系结构系列】同步实现
同步实现核心就是硬件提供原子操作指令基本硬件原语在多处理机中实现同步,所需的主要功能是:一组能以原子操作的方式读出并修改存储单元的硬件原语。它们都能以原子操作的方式 读+修改 存储单元并指出所进行的操作是否以原子的方式进行。通常情况下,用户不直接使用基本的硬件原语,原语主要提供程序员编制同步函数库典型操作原子交换功能:将一个存储单元的值和一个寄存器的值进行交换。建立一个锁,锁值:0 : 表示开的(可用)1 : 表示已上锁(不可用)处理器上锁时,将对应原创 2020-12-27 00:32:23 · 729 阅读 · 0 评论 -
【体系结构系列】一致性问题
一致性问题概述对称式共享存储器系统结构中,多个处理器共享一个存储器。场景允许共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储块的副本,当其中某个处理器对其Cache中的数据进行修改后,就会使得其Cache中的数据与其他Cache中的数据不一致存储器的一致性如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。存储系统行为的两个不同方面What: 读操作得到的是什么值When: 什么时候才能将已写入的值返回给读操作原创 2020-12-27 00:32:11 · 1013 阅读 · 0 评论 -
【体系结构系列】多处理器
多处理器存储系统存储系统结构共享存储器分布到各结点两个优点如果大多数的访问是针对本结点的局部存储器,则可降低对存储器和互连网络的带宽要求;对本地存储器的访问延迟时间小。最主要的缺点处理器之间的通信较为复杂,且各处理器之间访问延迟较大。地址编排共享全局地址空间物理共享的存储器具有统一逻辑地址物理上分离的所有存储器作为一个统一的共享逻辑空间进行编址。 分布式共享存储器系统( DSM : Distributed Shared- - Memory)原创 2020-12-27 00:31:58 · 792 阅读 · 0 评论 -
【体系结构系列】动态互连网络
动态互连网络总线网络概述由一组导线和插座构成,经常被用来实现计算机系统中处理机模块、存储模块和外围设备等之间的互连。每一次总线只能用于一个源(主部件)到一个或多个目的(从部件)之间的数据传送。多个功能模块之间的争用总线或时分总线特点:结构简单、实现成本低、带宽较窄一种由总线连接的多处理机系统解决总线带宽较窄问题:采用多总线或多层次的总线多总线是设置多条总线有两种做法:为不同的功能设置专门的总线重复设置相同功能的总线多层次的总线是按层次的架构设置速度不同的总线,使得不同速原创 2020-12-26 00:07:15 · 5398 阅读 · 1 评论 -
【体系结构系列】互连网络
互连网络概述互连网(ICN)络概念片上/系统高速互连网络是一种由网络元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中部件之间的高速连接。3大要素:网络元件,互连结构,控制方式结点:处理器、存储模块或其它设备在拓扑上,互连网络为输入结点到输出结点之间的一组互连或映象互连结构 是静态连接拓扑控制方式 是基于静态拓扑结构的动态传输机制ICN目的与作用互连网络与处理单元的连接模型处理单元/ 处理单元的连接处理单元/ 存储单元互连网络的主要原创 2020-12-26 00:07:00 · 2264 阅读 · 0 评论 -
【体系结构系列】虚拟存储器
虚拟存储器基本原理虚拟存储器的特点多个进程可以共享主存空间程序员不必做存储管理工作采用动态再定位,简化了程序的装入虚拟存储器可以分为两类:页式段式有关虚拟存储器的四个问题映象规则:全相联查找算法:页表,段表,TLB替换算法:LRU写策略:写回法查找算法快表TLBTLBTLB是一个专用的高速缓冲器,用于存放近期经常使用的页表项;TLB中的内容是页表部分内容的一个副本;TLB也利用了局部性原理。Alpha AXP 21064的地址原创 2020-12-26 00:06:48 · 444 阅读 · 0 评论 -
【体系结构系列】并行主存
并行主存概述性能指标主存的主要性能指标:延迟和带宽以往:Cache主要关心延迟I/0主要关心带宽。现在:Cache关心两者并行主存系统是在一个访存周期内能并行访问多个存储字的存储器。能有效地提高存储器的带宽。单体单字宽的存储器即原有情况字长与CPU的字长相同。每一次只能访问一个存储字。假设该存储器的访问周期是T(指的在存储体内查找的时间),字长为W位,则其带宽为: B = W / T在相同的器件条件(T相同)下,可以采用两种并行存储器结构来原创 2020-12-26 00:06:31 · 1769 阅读 · 0 评论 -
【体系结构系列】减少Cache命中时间
减少Cache命中时间概述重要性命中时间直接影响到处理器的时钟频率。在当今的许多计算机中,往往是Cache的访问时间限制了处理器的时钟频率。五种策略优化策略一:使用容量小、结构简单的Cache硬件越简单,速度就越快;应使Cache足够小,以便可以与CPU一起放在同一块芯片上。把Cache的标识放在片内,而把Cache的数据存储器放在片外。优化策略二:虚拟Cache物理Cache使用物理地址进行访问的传统Cache。标识存储器中存放的是物理地址,进行地原创 2020-12-26 00:06:07 · 2144 阅读 · 1 评论 -
【体系结构系列】减少Cache不命中开销
减少Cache不命中开销增加二级Cahche采用两级Cache应把Cache做得更快? 还是更大?二者兼顾,再增加一级Cache第一级Cache(L1)小而快第二级Cache (L2)容量大性能分析平均访存时间 = 命中时间L1+(不命中率y1 × 不命中开销)不命中开销L1 = 命中时间L2+ (不命中率L2 × 不命中开销L2)平均访存时间 = 命中时间L1 + {不命中率L1 × [命中时间L2+(不命中率l2×不命中开销L2)]}局部不命中率与全局不命中率原创 2020-12-26 00:05:56 · 2846 阅读 · 0 评论 -
【体系结构系列】提高Cache命中率
提高Cache命中率不命中概述三种类型的不命中(3C)强制性不命中(Compulsory miss)当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache。(冷启动不命中,首次访问不命中)容量不命中(Capacity miss )如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生不命中。冲突不命中(Conflict miss)在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则该组中某个块被别原创 2020-12-26 00:05:43 · 7156 阅读 · 0 评论 -
【体系结构系列】Cache映像及变换
Cache映像及变换全相联映像规则主存的任意一块可以映像到 cache 的任意一块(有 Cb * Mb 种)地址变换规则用硬件实现非常复杂维护了一个目录表,去比较目录表直接映像映像规则主存储器中一块只能映像到Cache的一个特定块中Cache 地址的计算公式b = B mod Cbb 为 Cache 号B 为主存块号Cb 是 Cache 块数实际上,Cache 地址与主存地址的低位部分完全相同即 cache 地址是主存的 块号 + 块内原创 2020-12-26 00:05:32 · 731 阅读 · 0 评论 -
【体系结构系列】指令调度
指令调度动态分支预测重要性在n-流出的处理机中,遇到分支指令的可能性增加了n倍。要给处理器连续提供指令,就需要准确地预测分支。动态分支预测动态分支预测在程序运行时,根据分支指令过去的表现来预测其将来的行为。如果分支行为发生了变化,预测结果也跟着改变。有更好的预测准确度和适应性。分支预测的有效性取决于预测的准确性预测正确和不正确两种情况下的分支开销决定分支开销的因素:流水线的结构预测的方法预测错误时的恢复策略等目标与关键问题采用动态分支预测技术的原创 2020-12-25 23:06:25 · 2566 阅读 · 0 评论 -
【体系结构系列】指令并行
指令并行概念ILP(Instruction-Level Parallelism)指令之间的可并行性运用流水线以及相关优化技术,使得指令能够重叠并行执行并行的重要性理想流水线的CPI加上各类停顿的时钟周期数:理想CPI是衡量流水线最高性能的一个指标具体问题相关两条指令之间存在某种依赖关系分类:数据相关、名相关、控制相关流水线冲突对于具体的流水线来说,由于相关等原因的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。流水线冲突有三种类型:结构冲突、数原创 2020-12-25 23:06:10 · 1157 阅读 · 0 评论 -
【体系结构系列】流水线实现
流水线的实现非流水通路MIPS(子集)数据通路(非流水)实例指令周期取指令周期(IF)主要操作IR←Mem[PC]NPC←PC+4指令译码/读寄存器周期(ID)主要操作A ← Regs[rs]B ← Regs[rt]指令译码Imm ← ((IR16)16##IR16..31)备注指令的译码操作和读寄存器操作是并行进行的:在MIPS指令格式中,操作码字段以及rs、rt字段都是在固定的位置。这种技术称为固定字段译码技术。执行/有效地址计算原创 2020-12-25 23:05:55 · 1370 阅读 · 0 评论 -
【体系结构系列】相关与冲突
相关与冲突相关概念相关两条指令之间存在某种依赖关系。如果两条指令相关,则它们就有可能不能在流水线中重叠执行或者只能部分重叠执行三类相关数据相关(也称真数据相关)名相关控制相关数据相关对于两条指令i(在前,下同)和j(在后,下同),如果下述条件之一成立,则称指令j与指令i数据相关。指令j使用指令i产生的结果;指令j与指令k数据相关,而指令k又与指令i数据相关。数据相关特点数据相关具有传递性。数据相关反映了数据的流动关系,即如何从其产生者流动到其消费原创 2020-12-25 23:05:43 · 3909 阅读 · 1 评论 -
【体系结构系列】非线性流水调度
非线性流水调度基础概念概念启动距离向一条非线性流水线的输入端连续输入两个任务之间的时间间隔称为非线性流水线的启动距离。禁用启动距离会引起非线性流水线功能段使用冲突的启动距离则称为禁用启动距离。启动距离和禁用启动距离一般都用时钟周期数来表示,是一个正整数。预约表预约表横向(向右):时间(一般用时钟周期表示)纵向(向下):流水线的段如果在第n 个时钟周期使用第k 段,则在第k行和第n 列的交叉处的格子里有一个√ 。如果在第k 行和第n 列的交叉处的格子里有一原创 2020-12-25 23:05:20 · 3783 阅读 · 4 评论 -
【体系结构系列】流水线性能
流水线性能吞吐率定义吞吐率通常使用缩写TP表示,是指在单位时间 (Tk) 内流水线所完成的任务数量 (n) 或输出结果的数量。吞吐率分析:各段时间均等(k 段线性)流水线完成n个连续任务所需要的总时间 个连续任务所需要的总时间 Tk = (k +n- 1) Δt实际吞吐率最大吞吐率实际吞吐率流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数k以及输入到流水线中的任务数n等有关。只有当n>>k时,才有TP≈TP原创 2020-12-25 23:05:03 · 2971 阅读 · 0 评论 -
【体系结构系列】指令集与MIPS
指令集指令集结构指令概述指令集:一些指令的集合;每条指令都是 直接由 由 CPU 硬件执行。指令的表示方法:二进制格式;物理存储空间组织方式是位、字节、字和多字等;当前的指令字长有: 16 、 32 、 64 位;指令的特点指令的操作十分简单,其操作由操作码编码表示。每个操作需要的操作数个数为 0-3 个不等。操作数是一些存储单元的地址;典型的存储单元通常有:主存、寄存器、堆栈和累加器。操作数地址隐含表示或显式表示。指令集分类原创 2020-12-25 23:04:48 · 581 阅读 · 0 评论 -
【体系结构系列】规则与公式
规则与公式加快经常性事件计算机系统设计的定量原理:加快经常性事件辨认经常性事件(Common case)找出加快的办法(Fast)指令系统CISC(复杂指令系统) :应用需要某类操作要加快,原来是由软件的子程序实现,后来就用新的指令来实现。Common case: 浮点科学计算,多媒体计算Fast的方法:用硬件代替软件,用指令代替子程序RISC(精简指令集) :指令使用的频度统计,时间统计,90%的时间用的是10%的指令Common case: 10%的频繁使用的代码(占9原创 2020-12-25 23:04:30 · 404 阅读 · 0 评论 -
【体系结构系列】体系结构概述
AIPSN金字塔第一级:“A ” (Acceleration, Amdahl)总目标:快!总原理:加快经常性事件量化原理:Amdahl定律CPU性能公式程序的局部性原理第二级:“I ”( Instruction, Interface)指令系统:用硬件实现的命令集软硬件的界面分类:CISC 和 RISC第三级:“P ” (Processing, Parallel)SISD :单指令流单数据流计算机MISD:原创 2020-12-25 23:03:49 · 1672 阅读 · 0 评论