![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机架构
文章平均质量分 84
CoCo_DY
处理器小学生
展开
-
《并行程序设计 课后作业 第二章》
并行程序设计第二章课后作业原创 2023-01-22 18:02:31 · 314 阅读 · 0 评论 -
GPGPU Achitectures阅读笔记2
Chapter 2 Programming Model本章的目标是提供足够的关于如何为非图形计算编程 GPU 的上下文,以便那些之前没有 GPU 经验的人可以遵循后面章节的讨论。 我们在这里关注基本材料,将更深入的报道留给其他参考文献(例如,[Kirk 和 Wen-Mei,2016])。 存在许多可用于架构研究的 GPU 计算基准套件。 了解如何对 GPU 进行编程与对 GPU 计算感兴趣的计算机架构师相关,以便更好地了解硬件/软件接口,但如果您想探索对硬件/软件接口进行更改作为研究的一部分,它就变得必不原创 2021-09-12 11:07:48 · 433 阅读 · 1 评论 -
Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第四节
Virtual Memory and Virtual Machines虚拟机被视为真实机器的高效、隔离的副本。 我们通过虚拟机监视器 (VMM) 的概念来解释这些概念……VMM 具有三个基本特征。 首先VMM为程序提供与原始机器基本相同的环境; 其次,在这种环境中运行的程序在最坏的情况下只会表现出轻微的速度下降; 最后,VMM 完全控制系统资源。附录 B 中的 B.4 节描述了虚拟内存中的关键概念。 回想一下,虚拟内存允许将物理内存视为二级存储(可以是磁盘或固态)的缓存。 虚拟内存在内存层次结构的两个级原创 2021-09-16 17:15:51 · 107 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第三节
Ten Advanced Optimizations of Cache Performance前面的平均内存访问时间公式为我们提供了缓存优化的三个指标:命中时间、未命中率和未命中惩罚。 鉴于最近的趋势,我们将缓存带宽和功耗添加到此列表中。 我们可以根据这些指标将我们检查的 10 项高级缓存优化分为五类:减少命中时间——小而简单的一级缓存和路预测。 这两种技术通常还可以降低功耗。增加缓存带宽——流水线缓存、多组缓存和非阻塞缓存。 这些技术对功耗有不同的影响减少未命中惩罚——关键字优先并合并写入缓冲区原创 2021-09-06 14:47:22 · 472 阅读 · 0 评论 -
GPGPU Achitectures阅读笔记 1
Abstract图形处理器单元 (GPU) 最初是为支持视频游戏而开发的,现在越来越多地用于从机器学习到加密货币挖掘的通用(非图形)应用程序。 与中央处理单元 (CPU) 相比,GPU 可以通过将大部分硬件资源专用于计算来实现更高的性能和效率。 此外,与特定领域的加速器相比,它们的通用可编程性使当代 GPU 对软件开发人员具有吸引力。 本书为那些对研究支持通用计算的 GPU 架构感兴趣的人提供了介绍。 它收集了目前只能在广泛的不同来源中找到的信息。 作者领导了 GPGPU-Sim 模拟器的开发,该模拟器广原创 2021-09-05 16:34:16 · 8325 阅读 · 1 评论 -
Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第二节
Memory Technology and Optimizations使用 SRAM 可以满足最大限度地减少对高速缓存的访问时间的需求。 但是,当发生缓存未命中时,我们需要尽快将数据从主内存中移出,这需要高带宽内存。 这种高内存带宽可以通过将构成主内存的许多 DRAM 芯片组织到多个内存库中并通过使内存总线更宽,或同时进行两者来实现。为了让内存系统跟上现代处理器的带宽需求,内存创新开始发生在 DRAM 芯片内部。 本节介绍内存芯片内部的技术以及那些创新的内部组织。 在描述技术和选项之前,我们需要介绍一些原创 2021-09-01 14:03:42 · 241 阅读 · 0 评论 -
Appendix B2 Review of Memory Hierarchy
Cache Performance由于指令计数与硬件无关,因此很容易使用该数字来评估处理器性能。 这种间接的性能衡量方法让许多计算机设计者望而却步。 评估内存层次结构性能的相应模板是专注于未命中率,因为它也与硬件速度无关。 正如我们将看到的,未命中率可能与指令计数一样具有误导性。 内存层次结构性能的更好衡量标准是平均内存访问时间:其中hit time是在缓存中命中的时间; 我们之前已经看过其他两个术语。 平均访问时间的组成部分可以用绝对时间(例如,命中时 0.25-1.0 ns)或处理器等待内存的时原创 2021-06-25 08:39:53 · 71 阅读 · 0 评论 -
Appendix B3 Review of Memory Hierarchy
Six Basic Cache Optimizations普通内存访问时间公式给了我们一个框架,来提高缓存优化以提高缓存性能,因此,我们将六种缓存优化分为三类:■ 降低未命中率——更大的块大小、更大的缓存大小和更高的关联性■ 减少未命中惩罚——多级缓存并给予读优先于写■ 减少命中缓存的时间——在索引缓存时避免地址转换B-40 页上的图 B.18 总结了这六种技术的实现复杂性和性能优势。改进缓存行为的经典方法是降低未命中率,我们提出了三种技术来做到这一点。 为了更好地了解失误的原因,我们首先从一个原创 2021-06-30 08:48:59 · 341 阅读 · 0 评论 -
Appendix B4 Review of Memory Hierarchy
Virtual Memory在任何时候,计算机都在运行多个进程,每个进程都有自己的地址空间。 (进程将在下一节中描述。)为每个进程分配一个完整的内存地址空间会很昂贵,特别是因为许多进程只使用它们地址空间的一小部分。 因此,必须有一种方法可以在许多进程之间共享更少量的物理内存。一种方法是虚拟内存,将物理内存划分为多个块并将它们分配给不同的进程。 这种方法所固有的必须是一种保护方案,将进程限制为仅属于该进程的块。 大多数形式的虚拟内存还减少了启动程序的时间,因为在程序开始之前并非所有代码和数据都需要在原创 2021-07-19 18:39:32 · 96 阅读 · 0 评论 -
Appendix B5 Review of Memory Hierarchy
Protection and Examples of Virtual Memory并发运行的多个程序共享一台计算机的多道程序的发明导致了对程序间保护和共享的新需求。 这些需求与当今计算机中的虚拟内存密切相关,因此我们将在此处连同两个虚拟内存示例一起讨论该主题。多道程序设计引出了进程的概念。 比喻地,进程是程序的呼吸空气和生存空间——也就是说,一个正在运行的程序加上继续运行它所需的任何状态。 分时是多道程序设计的一种变体,它与多个交互式用户共享处理器和内存。同时,给人一种所有用户都有自己的电脑的错觉。 因原创 2021-07-29 08:59:12 · 93 阅读 · 0 评论 -
Appendix B6 Review of Memory Hierarchy
Pitfall Too small an address space在 DEC 和卡内基梅隆大学合作设计新的 PDP-11 计算机系列仅仅五年后,很明显他们的创造有一个致命的缺陷。 IBM 在 PDP-11 之前 6 年宣布的架构仍在蓬勃发展,但在 25 年后进行了微小的修改。 因包含不必要的功能而受到批评的 DEC VAX 在 PDP-11 停产后销售了数百万台。 为什么?相比之下,PDP-11 的致命缺陷是其地址的大小(16 位) IBM 360(24-31 位)和 VAX(32 位)的地址大小。原创 2021-08-05 08:29:45 · 86 阅读 · 0 评论 -
Appendix B Review of Memory Hierarchy
本附录是对内存层次结构的快速复习,包括缓存和虚拟内存、性能方程和简单的优化。 这第一部分回顾了以下 36 个术语:如果此评论进行得太快,您可能需要查看计算机组织和设计中的第 7 章,这是我们为经验较少的读者编写的。缓存是地址离开处理器后所遇到的最高或第一级内存层次结构的名称。 因为局部性原则适用于许多级别,并且利用局部性来提高性能很流行,所以现在只要使用缓冲来重用常见的项目,就会应用术语缓存。 示例包括文件缓存、名称缓存等。当处理器在缓存中找到请求的数据项时,称为缓存命中。 当处理器在缓存中找不到它需原创 2021-06-14 11:31:30 · 168 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第一节
Introduction计算机先驱正确地预测了程序员会想要无限量的快速内存。 满足这种需求的一种经济的解决方案是内存层次结构,它利用了内存技术的局部性和成本-性能之间的权衡。 第一章中介绍的局部性原则说,大多数程序不会统一访问所有代码或数据。 局部性发生在时间(时间局部性)和空间(空间局部性)中。 这一原则加上对于给定的实现技术和功率预算,更小的硬件可以更快地制造的指导原则导致基于不同速度的存储器的层次结构和尺寸。 Figure 2.1 显示了几种不同的多级内存层次结构,包括典型的大小和访问速度。随着闪存原创 2021-06-04 08:20:01 · 161 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第十四节
Concluding Remarks: What’s Ahead?随着2000年开始,对利用指令级并行性的关注已达到顶峰。 在新世纪的前五年,很明显 ILP 方法可能已经达到顶峰,需要新的方法。 到2005年,英特尔和所有其他主要处理器制造商都对他们的方法进行了改进,以专注于多核。 更高的性能将通过线程级并行而不是指令级并行实现,高效使用处理器的责任将在很大程度上从硬件转移到软件和程序员。 这是自25年前流水线化和指令级并行性问世以来最重大的处理器体系结构变化。在同一时期,设计人员开始探索使用更多数据级原创 2021-05-30 10:23:24 · 87 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第十三节
Fallacies and Pitfalls我们的少数谬误集中在预测性能和能源效率以及从时钟频率或 CPI 等单一指标进行推断的难度上。 我们还表明,对于不同的基准测试,不同的架构方法可能具有完全不同的行为。Fallacy——It is easy to predict the performance and energy efficiency of two different versions of the same instruction set architecture, if we hold th原创 2021-05-30 10:03:07 · 131 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第十节
Hardware Versus Software Speculation本章中的硬件密集型猜测和附录H的软件方法提供了利用ILP的替代方法。一些权衡和限制在此处列出:要进行广泛的推测,我们必须能够消除内存引用的歧义。对于包含指针的整数程序,在编译时很难实现此功能。 在基于硬件的方案中,使用我们之前在Tomasulo算法中看到的技术来完成内存地址的动态运行时消歧。 这种歧义消除使我们可以在运行时将ld移至存储区之外。对推测性内存引用的支持可以帮助克服编译器的保守性,但是除非仔细使用此类方法,否则恢复机原创 2021-05-21 08:33:06 · 110 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第十二节
Putting It All Together: The Intel Core i7 6700and ARM Cortex-A53原创 2021-05-30 09:19:42 · 257 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第十一节
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor Throughput原创 2021-05-21 08:35:44 · 142 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第八节
Exploiting ILP Using Dynamic Scheduling, Multiple Issue, and Speculation原创 2021-05-16 20:07:29 · 169 阅读 · 1 评论 -
Computer Architectrure: Quantitative Approch 第三章第七节
Exploiting ILP Using Multiple Issue and Static Scheduling原创 2021-05-13 08:58:47 · 160 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第五、六节
Dynamic Scheduling: Examples and the Algorithm原创 2021-05-04 20:31:02 · 489 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第四节
Overcoming Data Hazards With Dynamic Scheduling原创 2021-05-01 07:45:37 · 302 阅读 · 1 评论 -
Computer Architectrure: Quantitative Approch 第三章第三节
Reducing Branch Costs With Advanced Branch Prediction因为分支的延迟会增加控制依赖性,所以分支会降低流水线的性能。解循环是一个减少分支延迟的方法;除此外我们还可以通过预测跳转的操作来减少跳转带来的性能损失。我们测量了依赖于编译时间信息或者依赖于可观测的单个孤立分支动态行为的简单分支预测变量。随着需要处理指令数和每个时钟的issue指令数量随流水线深度增加而增加,精确预测跳转越来越重要。在本节我们测试了用来促进流水线预测精度的技术。本届对Appendix原创 2021-04-21 15:18:37 · 263 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第一、二节
Instruction-Level Parallelsim: Concepts and Challenge本章主要介绍一些概念:数据依赖性1. 指令i的结果用在了指令j的计算里2. 指令j依赖于指令i的结果,指令j依赖于指令k的结果(传递性)命名依赖性1. j在i后执行,j会对i中使用的寄存器进行改写2.j和i顺次执行会写入相同的地址数据冒险:囊括了数据依赖性和命名依赖性两种情况,主要有WAW WAR RAW控制依赖性:执行的结果依赖于跳转指令,因此需要将跳转指令做完才能知道正确结果。B原创 2021-04-13 08:35:22 · 450 阅读 · 0 评论 -
Computer Architectrure: Quantitative Approch 第三章第九节
Reture Address Predictors 因为大多数非直接跳转来自于对return语句的访问,所以本段主要讨论如何解决这个问题。如果从多个点调用没有及时汇聚到一个点,会降低预测的精度。(e.g.在多线程处理中,不同线程跳转到不同的位置,这会使预测产生错误。)一种解决方案是设置一个堆栈,在跳转时将返回的PC放入栈中,然后return时返回到这个PC处。(这是一个标准的解决方案)应用:SPEC CPU95, Intel Core, AMD Phenom....原创 2021-04-08 13:36:08 · 322 阅读 · 4 评论