
computer architecture
文章平均质量分 85
shuiliusheng
这个作者很懒,什么都没留下…
展开
-
动态转移预测
现代处理器设计——动态转移预测1. 动态转移预测技术介绍1997年,Calder在论文中表明静态转移预测技术对于分支指令的准确率能够达到70%-80%。但是如果剖视得到的信息不能够代表出运行时的行为特点,那么准确率将会更低。动态转移预测则能够利用运行时信息对不同的分支模式进行预测。静态技术无法应对某些分支,但是他们仍旧是非常可预测的一条分支在程序的前一半时间内发生跳转,而剩余的时间内不跳转。(静态预测只能够的达到50%的准确率)一条使用了程序输入的分支,在输入确定后,分支的结果也是确定的(例如原创 2020-10-23 16:12:31 · 1056 阅读 · 0 评论 -
静态转移预测技术
静态转移预测技术1. 静态转移预测技术:十分简单,并且不会包含任何运行时的反馈信息优点:实现非常简单,只需要很少的硬件资源。问题在于在现代处理器中,晶体管的资源足够,因此足够提供动态转移预测的资源,但是静态的预测仍旧可以作为复杂的混合预测器中的组件,提供后备的预测方案使用。缺点:没有使用程序运行时的动态行为特征,预测器也将无法使用分支结果模式的变化,而这些变化通常是由于不同的程序输入和程序不同阶段的执行行为所决定的。2. 基于剖视的静态转移预测:相对于基于简单规则的静态预测更好基本假设:程序原创 2020-10-21 13:26:23 · 930 阅读 · 0 评论 -
I-SPY Context-Driven Conditional Instruction Prefetching with Coalescing
I-SPY: Context-Driven Conditional Instruction Prefetching with Coalescing1. 摘要:背景:数据中心的应用程序的执行的指令范围(footprints)迅速的扩大,导致了频繁的指令缓存失效,增加了成本,降低了性能和能效现有技术的问题:需要重大的硬件修改需要不切实际的片上存储基于不准确的程序失效行为进行指令预取论文工作:分析指令预取的挑战,提出了一种基于剖视驱动的预取技术,I-SPYI-SPY使用了动态的失效剖视原创 2020-10-19 11:01:48 · 404 阅读 · 1 评论 -
Exploring Branch Predictors for Constructing Transient Execution Trojans
Exploring Branch Predictors for Constructing Transient Execution Trojans(木马)1. 摘要:针对于幽灵攻击,工业界迅速采取了一系列软件和硬件上的缓解措施,其中微码补丁最为流行和受信任(microcode patch)问题:现有的防护策略仍旧存在被攻击的漏洞论文工作:提出了暂态木马(transient trojans),即一种软件模块会在暂态执行模式中隐藏自身的恶意活动。这些木马看起来完全正常,能够通过静态/动态的分析检查,原创 2020-05-22 23:09:40 · 769 阅读 · 0 评论 -
Arch2030 A Vision of Computer Architecture Research over the Next 15 Years
Arch2030: A Vision of Computer Architecture Research over the Next 15 Years (2016, Mark D. Hill report)1. 新的挑战:如何为信息技术的持续发展奠定基础性的未来(how to secure a foundational future for information technology’s co...原创 2020-03-05 23:47:19 · 377 阅读 · 0 评论 -
Google Workloads for Consumer Devices Mitigating Data Movement Bottlenecks
Google Workloads for Consumer Devices: Mitigating Data Movement Bottlenecks(2018)摘要:目前正处于消费类设备数量爆炸增长的时代,包括智能手机,基于网络的计算机和可穿戴设备等。这些设备由于电池和热功耗的限制,能效是首要问题数据移动是消费设备中总系统能耗和执行时间的主要贡献者。在存储系统和计算单元之间的数据移动...原创 2020-03-04 23:54:52 · 488 阅读 · 0 评论 -
Power Struggles Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures
Power Struggles: Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures (2013)摘要:RISC和CISC的争论在1980s激化,而当时芯片面积和处理器设计复杂度是主要的限制因素,并且当时台式机和服务器独占计算领域相比于1980s,现在能耗和功耗是主要的设计约束,计...原创 2020-03-04 00:37:18 · 526 阅读 · 0 评论 -
The future of microprocessors
The future of microprocessors (2011)在未来20年中,晶体管的缩小速度缩减和实际的能量限制会对持续的性能提升带来新的挑战。这些问题会导致操作的频率增加缓慢,能耗成为性能的关键限制因素,迫使设计使用大规模并行性,异构核心和加速器来实现性能和能效。另一方面软硬件协同实现高效的数据编排(orchestration)也更加的重要微处理器的定义特性仍旧是 体现...原创 2020-03-03 00:37:39 · 567 阅读 · 0 评论 -
BYOC A Bring Your Own Core Framework for Heterogeneous-ISA Research
BYOC: A “Bring Your Own Core” Framework for Heterogeneous-ISA Research摘要:缺乏的实验系统和可修改的硬件框架阻碍了异构体系结构和异构ISA的研究论文工作提出了BYOC(bring your own core)框架,用于异构ISA和异构系统研究BYOC是开源的硬件框架,能够提供可扩展的缓存一致性系统,包括对四个不...原创 2020-02-26 00:29:00 · 521 阅读 · 0 评论 -
NoMap Speeding-Up JavaScript Using Hardware Transactional Memory
NoMap: Speeding-Up JavaScript Using Hardware Transactional Memory摘要:背景:脚本语言的性能较差是由于编译器缺少足够的静态信息。为了解决这个问题,JIT编译器被组织成多个级别,更高的级别使用剖视信息来生成高性能的代码。为了检测不正确的假设,会插入一些检查,如果检查出错,执行会过渡到更低的级别。在层级之间潜在的转移点成...原创 2020-02-21 22:43:54 · 277 阅读 · 0 评论 -
Rethinking the Memory Hierarchy for Modern Languages
Rethinking the Memory Hierarchy for Modern Languages摘要:内存安全语言(memory-safe language):向编程人员隐藏了内存布局,用于阻止内存损坏错误,并且能够启用自动内存管理机制。例如java, Go,Rust论文提出了一种新的存储层级结构:Hotpads(热的便签本,类似于cache)向软件隐藏了内存布局,并且帮助...原创 2020-02-19 23:20:18 · 459 阅读 · 0 评论 -
Speculator:A Tool to Analyze Speculative Execution Attacks and Mitigations
Speculator: A Tool to Analyze Speculative Execution Attacks and Mitigations摘要:现状:新的推测执行攻击基本上每个月都会出现新的,同时仍旧存在很多未被发现的微体系结构攻击Speculator:一个新的工具,用于审查新的微体系结构攻击和相应的缓解方法(GDB of speculative execution)通过...原创 2019-12-17 21:59:55 · 460 阅读 · 0 评论 -
Microarchitectural Attacks and Countermeasures (Onur Aciicmez )
Microarchitectural Attacks and Countermeasures (Onur Aciicmez )Microarchitecture technology problem: due to strictly throughput, performance, and “performance per watt”-oriented goals of modern proc...原创 2019-10-12 23:27:25 · 233 阅读 · 0 评论 -
Sniper中cache实现
Sniper中cache相关的文件config文件夹 gainestown.cfg包含L3 cache的配置情况。嵌套包含了nehalem.cfg文件nehalem.cfg包含L2 cache和L1 cache的配置情况。sniper默认参数为gainestown.cfg文件 ############ nehalem.cfg [perf_model/l1_ic原创 2018-01-22 11:56:59 · 1193 阅读 · 3 评论 -
SHiP: Signature-based Hit Predictor for High Performance Caching结合Sniper的实现
SHiP: Signature-based Hit Predictor for High Performance Caching1. 论文摘要 共享末级缓存(LLC)在提高应用程序性能和减少片外存储器的带宽要求方面扮演着很重要的角色。为了更加有效的使用LLC,最近的研究发现,通过改变在缓存插入和缓存命中时的数据的重引用间隔的预测能够显著的提高缓存的性能。因此如何最好的预测将要插入的数据的重引原创 2018-01-22 16:12:28 · 1528 阅读 · 0 评论 -
看论文小助手
看论文小助手主要功能记录论文中出现的生词和解释,保存在文本文件中,为以后写论文查找单词做准备帮助删除从pdf文件中拷贝出的文本的换行,从而能够直接放入google翻译中使用方法(以windows举例,linux类似)setword.txt(设置文件)用于指明记录单词的文本的名称和具体位置word.exe可执行程序(编译之后产生可执行程序),需要将所在的路径放入到环原创 2018-01-25 22:28:34 · 360 阅读 · 1 评论 -
Sniper模拟器的安装
1. sniper的安装步骤安装环境:ubuntu14.04, gcc 4.8.4(gcc版本尽可能不超过这个版本)git clone http://snipersim.org/download/42f517eddcf77bfe/git/sniper.gitwget http://software.intel.com/sites/landingpage/pintool/downloads/pin原创 2018-01-19 11:59:02 · 3605 阅读 · 0 评论 -
The future of computing performance: game over or next level?
The future of computing performance: game over or next level?(2011) 论文阅读软件开发者逐渐依赖于多个方面的性能增长增加一些可见的特征或者是针对于已有应用的更加精致的接口增加一些“隐藏”的功能,例如安全性,可靠性和其它可信特征的改善,同时不会牺牲现有性能使用更高层次的抽象,编程语言和系统,尽管会需要更多的计算能力但是会...翻译 2018-01-29 22:51:47 · 214 阅读 · 0 评论 -
The future microprocessors
论文:the future processors(2011)下图比较了近二十年计算机的性能增长与晶体管的速度增加(频率)和微体系结构性能的关系。几乎two-orders-of-magnitude(两个数量级的)性能提升都是由于晶体管的速度的增加所提供的。l1-cache是最底层cacheDeath of 90/10 Optimization, Rise of 10×10 Opti...翻译 2018-02-26 23:18:10 · 377 阅读 · 0 评论 -
scrapy网页抓取项目
简单的scrapy抓取网页项目代码创建项目创建项目,项目名称 scrapy startproject prjname 创建文件 scrapy genspider spidername netname运行scrapy crawl spidernameitems.py# -*- coding: utf-8 -*-# Define here the models ...原创 2018-03-07 11:00:15 · 211 阅读 · 0 评论 -
Computing beyond Moore’s Law(2015)
Computing beyond Moore’s Law(2015)作者John M. Shalf, Lawrence Berkeley National Laboratory Robert Leland, Sandia National Laboratories 摩尔定律:每18个月,晶体管数量翻一番。Robert Dennard scaling:通过缩小晶体管的尺寸,使得单...翻译 2018-02-27 22:58:26 · 381 阅读 · 0 评论 -
2007-2017部分处理器信息的统计结果
2007-2017部分处理器信息的统计结果(未分析)原创 2018-03-08 23:07:13 · 210 阅读 · 0 评论 -
The Application Slowdown Model
The Application Slowdown Model: Quantifying and Controlling the Impact of Inter-Application Interference at Shared Caches and Main Memory(2015)本文提出了一种新的估算应用在多核多任务的情况下的减速率的应用减速模型。该模型充分的考虑到了共享cache和主...翻译 2018-03-15 23:28:13 · 306 阅读 · 0 评论 -
Windows batch文件学习笔记
Windows batch文件学习笔记运行程序call语法: call [ [Drive:] [Path] FileName [BatchParameters]][:label [arguments]]参数: [Drive:][Path] FileName 指定要调用的批处理程序的位置和名称。Filename 参数必须是.bat 或 .cmd 扩展名的类型文件。BatchPar...原创 2018-03-02 09:36:38 · 3638 阅读 · 0 评论 -
Dark Silicon and the End of Multicore Scaling
Dark Silicon and the End of Multicore Scaling文章的主要目的:在之后发展过程中,使用多核技术最多可以带来多少的性能提升方法:结合device scaling, single-core scaling, multicore scaling三个方面为多核的性能扩展的限制建模,从而预测多核能够带来的潜在的性能提升程度device scaling:...翻译 2018-03-05 10:10:41 · 1008 阅读 · 0 评论 -
An Event-Triggered Programmable Prefetcher for Irregular Workloads (2018 asplos)
An Event-Triggered Programmable Prefetcher for Irregular Workloads (2018 asplos)主要解决的问题:大数据量应用程序(例如graph, database, HPC workloads)中的非规则数据访问所带来的延迟问题论文提出的方法:论文提出了一种事件触发的可编程的预取器,该预取器结合了通用计算单元的灵活性和基于事...翻译 2018-05-23 10:54:17 · 438 阅读 · 0 评论 -
A Primer on Memory Consistency and Cache Coherence—第五章 Relaxed Memory Model
A Primer on Memory Consistency and Cache Coherence—第五章 Relaxed Memory ModelMotivation of Relaxed ModelSC模型或者TSO模型在某些需要正确存储顺序的场景下能够保证程序正确执行,但是在某些不需要存储顺序的情况下,限制了程序的性能优化 当系统不约束程序的存储顺序时,更多的优化技术可以被使用...原创 2018-07-28 14:36:14 · 1599 阅读 · 0 评论 -
A Primer on Memory Consistency and Cache Coherence
A Primer on Memory Consistency and Cache Coherence 前三章阅读笔记Memory consistency For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its mem...原创 2018-07-27 23:13:42 · 974 阅读 · 0 评论 -
A Primer on Memory Consistency and Cache Coherence—第四章TSO
A Primer on Memory Consistency and Cache Coherence—第四章TSOMotivation of TSOSC模型的要求:要求每个处理器完成存储的操作必须严格符合Program Order,完全保证四种约束(L->L,L->S,S->L,S->S)SC模型的限制:严格的约束限制了处理器动态调度和执行的能力,也限制着处...原创 2018-07-27 23:39:11 · 973 阅读 · 1 评论 -
Processor Microarchitecture
Processor Microarchitecture处理器的更新的两个主要原因:技术的升级、工作负载的更新处理器的不同侧面的分类:(正交分类,一个处理器具备多个属性)流水线处理器和非流水线处理器按序处理器和乱序处理器标量处理器(每周期吞吐量不超过一条指令)和超标量处理器VLIW也是超标量处理器(许多指令的延迟作为指令集体系结构的一部分,对程序员可见),VLIW处理器要求编程人...原创 2018-08-15 13:08:20 · 771 阅读 · 0 评论 -
现代处理器设计——超标量处理器基础1-4
现代处理器设计——超标量处理器基础(1-4)体系结构(architecture):通常称为指令集体系结构,对指令集处理器的指令集合进行说明,并定义处理器的功能性行为。逻辑实现:体系结构的具体设计,也称为微体系结构(microarchitecture)。某种体系结构在其ISA的生命周期内可以有多种逻辑实现。逻辑实现通常在硬件中实现,对软件透明。物理实现:设计的具体物理表现形式。对于微处理器...原创 2018-08-26 16:21:05 · 6946 阅读 · 1 评论 -
现代处理器设计——超标量处理器基础(5-8)
现代处理器设计——超标量处理器基础(5-8)重命名中出现的影子寄存器(shadow registers)具有专有用处,例如作为计数寄存器,链接寄存器的重命名等。分派阶段停顿的产生原因:寄存器读端口饱和,保留站饱和,重命名缓冲饱和,完成缓冲饱和,多于一条指令分派到同一单元(保留站只有一个写端口),串行化限制串行化限制:某些指令要求之前的指令必须在该指令执行之前完成分派/执行,之后的指令必须...原创 2018-08-29 17:28:53 · 2440 阅读 · 0 评论 -
现代处理器设计——超标量处理器基础(执行多线程)
现代处理器设计——超标量处理器基础(执行多线程)构造多处理机系统的挑战:如何为所有的线程提供一致的存储器视图,同时尽量减少平均访存延迟。load-locked/store-conditional:读出一个值,执行其他任意操作,然后试图将数据存到同一地址。如果中间插入其他任何一个线程的针对于同一地址的写操作,都会导致写条件失败。实现:每条LL指令必须记住它读取的地址,所有后续的写操作必须...原创 2018-08-30 10:56:47 · 1888 阅读 · 0 评论 -
Bootstrapping Using SMT Hardware to Improve Single-Thread Performance
Bootstrapping: Using SMT Hardware to Improve Single-Thread Performance(2018)摘要:解耦前瞻性(DLA)体系结构已被证明是提高单线程性能的有效方法。然而,默认实现需要一个额外的核心。虽然SMT风格是可能的,但是简单的实现是低效的,因此很慢。在本文中,我们提出了一种优化的实现,称为Bootstrapping,它使得DLA...原创 2018-09-11 23:35:34 · 348 阅读 · 0 评论 -
A survey of microarchitectural timing attacks and countermeasures on contemporary hardware
A survey of microarchitectural timing attacks and countermeasures on contemporary hardware侧信道是指受信任方意外泄露敏感数据;隐蔽信道是利用特洛伊木马利用故意泄露信息。在通用系统中,主要关心侧信道攻击,隐蔽信道攻击主要对不信任内部组件的系统感兴趣。side-channel attack:time dr...原创 2018-09-10 17:17:48 · 723 阅读 · 0 评论 -
MorphCore-An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP
MorphCore: An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP当今的工作负载需要一个能够处理高性能单线程代码和高吞吐量多线程代码的微体系结构,而消耗的能量并不比需要的多。MorphCore:一个独特的方法,用于满足这些相互矛盾的要求。从传统的高性能out of...原创 2018-09-13 17:00:59 · 384 阅读 · 0 评论 -
Design of the RISC-V Instruction Set Architecture笔记(chapter1-2)
Design of the RISC-V Instruction Set Architecture笔记(chapter1-2)A free and open ISA standard has the potential to increase innovation in microprocessor design, reduce computer system cost, and, as M...原创 2018-09-13 17:03:49 · 780 阅读 · 0 评论 -
Design of the RISC-V Instruction Set Architecture笔记(chapter3)
Design of the RISC-V Instruction Set Architecture笔记(chapter3)The guiding principle in defining RISC-V was to make an ISA suitable for nearly any computing device RISC-V不应该针对于任何特定的微体系结构模式,结构实现进行ov...原创 2018-09-13 17:04:19 · 346 阅读 · 0 评论 -
Design of the RISC-V Instruction Set Architecture笔记(chapter4)
Design of the RISC-V Instruction Set Architecture笔记(chapter4)RISC-V M extension :定点乘法和除法。直接使用整数寄存器,不增加其他寄存器(减少硬件开销,指令数目,寄存器之间的拷贝延迟和线程的上下文,同时有利于编译调度)The instructions in the A extension realize the ...原创 2018-09-13 17:04:45 · 437 阅读 · 0 评论 -
Design of the RISC-V Instruction Set Architecture笔记(chapter5)
Design of the RISC-V Instruction Set Architecture笔记(chapter5)RISC-V Compressed ISA Extension:旨在通过以更密集的格式编码最频繁的指令来减少RISC-V程序的静态代码大小和动态获取流量MIPS等其他RISC ISA扩展压缩指令集的缺点:基本ISA不是考虑压缩指令而设计的,因此操作码空间没有为压缩指令保...原创 2018-09-13 17:05:23 · 589 阅读 · 0 评论