- 博客(95)
- 资源 (12)
- 收藏
- 关注
原创 动态转移预测
现代处理器设计——动态转移预测1. 动态转移预测技术介绍1997年,Calder在论文中表明静态转移预测技术对于分支指令的准确率能够达到70%-80%。但是如果剖视得到的信息不能够代表出运行时的行为特点,那么准确率将会更低。动态转移预测则能够利用运行时信息对不同的分支模式进行预测。静态技术无法应对某些分支,但是他们仍旧是非常可预测的一条分支在程序的前一半时间内发生跳转,而剩余的时间内不跳转。(静态预测只能够的达到50%的准确率)一条使用了程序输入的分支,在输入确定后,分支的结果也是确定的(例如
2020-10-23 16:12:31 972
原创 静态转移预测技术
静态转移预测技术1. 静态转移预测技术:十分简单,并且不会包含任何运行时的反馈信息优点:实现非常简单,只需要很少的硬件资源。问题在于在现代处理器中,晶体管的资源足够,因此足够提供动态转移预测的资源,但是静态的预测仍旧可以作为复杂的混合预测器中的组件,提供后备的预测方案使用。缺点:没有使用程序运行时的动态行为特征,预测器也将无法使用分支结果模式的变化,而这些变化通常是由于不同的程序输入和程序不同阶段的执行行为所决定的。2. 基于剖视的静态转移预测:相对于基于简单规则的静态预测更好基本假设:程序
2020-10-21 13:26:23 858
原创 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 375 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 743
原创 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 342
原创 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 463
原创 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 502
原创 Directly use other language codes in shell script
use_other_language_in_shelldirectly use other language code in shell scriptcode link: https://github.com/Shuiliusheng/use_other_language_in_shell./xxx srcFilename dstFilename************ python tr...
2020-03-03 22:01:37 147
原创 The future of microprocessors
The future of microprocessors (2011)在未来20年中,晶体管的缩小速度缩减和实际的能量限制会对持续的性能提升带来新的挑战。这些问题会导致操作的频率增加缓慢,能耗成为性能的关键限制因素,迫使设计使用大规模并行性,异构核心和加速器来实现性能和能效。另一方面软硬件协同实现高效的数据编排(orchestration)也更加的重要微处理器的定义特性仍旧是 体现...
2020-03-03 00:37:39 538
原创 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 478
原创 NoMap Speeding-Up JavaScript Using Hardware Transactional Memory
NoMap: Speeding-Up JavaScript Using Hardware Transactional Memory摘要:背景:脚本语言的性能较差是由于编译器缺少足够的静态信息。为了解决这个问题,JIT编译器被组织成多个级别,更高的级别使用剖视信息来生成高性能的代码。为了检测不正确的假设,会插入一些检查,如果检查出错,执行会过渡到更低的级别。在层级之间潜在的转移点成...
2020-02-21 22:43:54 264
原创 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 431
原创 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 436
原创 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 210
原创 SecDir:A Secure Directory to Defeat Directory Side-Channel Attacks
SecDir: A Secure Directory to Defeat Directory Side-Channel Attacks(ISCA’19)Directory-based cache coherenceNICHs (non-inclusive cache hierarchies) (Intel’s Skylake-X/SP)Directory Structure...
2019-09-22 23:26:27 228
原创 NDA:Preventing Speculative Execution Attacks at Their Source
NDA: Preventing Speculative Execution Attacks at Their SourceMain Point & ResultTwo attacks typesBTB side channel attackFour Threat ModelsUnsafe InstructionsDifferent Unsaf...
2019-09-16 11:04:47 316
原创 AMD Ryzen pipeline
AMD Ryzen pipeline(The microarchitecture of Intel, AMD and VIA CPUs https://www.agner.org/optimize/)流水线介绍Zen架构是AMD重新设计的一款处理器,比较成功。Ryzen是Zen的第一款处理器Ryzen共5-8个核心,每个核可以同时执行两个线程(SMT),并且不会产生严重的资源瓶颈...
2019-09-08 16:01:37 402
原创 AMD K8 and K10 pipeline
AMD K8 and K10 pipeline(The microarchitecture of Intel, AMD and VIA CPUs https://www.agner.org/optimize/)流水线结构指令会尽可能少,尽可能晚地在流水线中被拆分。每一条read-modify宏指令会在执行阶段拆分成read和modify微指令,在提交之前重新合并成宏指令。K8没有执行...
2019-09-07 23:18:08 321
原创 Core2 and Nehalem pipeline
Core2 and Nehalem pipeline(The microarchitecture of Intel, AMD and VIA CPUs https://www.agner.org/optimize/)介绍:相对于之前的PM的设计,流水线能够每周期处理四条微操作,执行单元由原本的64位宽变为128位宽Core2处理器有着两个或更多的CPU,每个CPU具有私有的L1 ca...
2019-09-06 17:44:16 225
原创 X86 microarchitecture(branch predictor)
X86 microarchitecture(branch predictor)(The microarchitecture of Intel, AMD and VIA CPUs https://www.agner.org/optimize/)转移预测器loop counter:如果循环次数很多,使用传统的两级预测器需要记录很长的历史信息,因此单独设计loop/switch coun...
2019-09-05 23:15:18 389
原创 Elastic(灵活的) Instruction Fetching
Elastic(灵活的) Instruction Fetching摘要:背景:分支预测(生成取值的地址)和指令缓存访问不应该紧密耦合,从而当指令取值阶段由于Icache发生miss或者back-pressure(不确定)而停止时,分支预测器可以提前运行并生成之后的取值地址。利用这些地址可以进行不同的优化,例如指令预取,并且可以隐藏跳转分支会产生的流水线空泡指令取值和分支预测解耦和的...
2019-04-18 13:36:51 878
原创 Cost-Effective Speculative Scheduling in High Performance Processors
Cost-Effective Speculative Scheduling in High Performance Processors摘要背景:为了最大化性能,乱序执行处理器中,有些情况下会在操作数尚未可用的情况下发射该指令,例如load指令通常会被推测认为在L1 cache中命中,并且之后的相关指令(消费者指令)也认为L1 cache会命中,这种情况下就被认为是推测调度随着流水...
2019-04-15 19:01:21 396
原创 Hybrid TLB Coalescing:Improving TLB Translation Coverage under Diverse Fragmented Memory Allocations
Hybrid TLB Coalescing: Improving TLB Translation Coverage under Diverse Fragmented Memory Allocations摘要:背景:在大的存储类应用程序中,会出现很多TLB缺失,因此出现了一些技术(大页,变长段variable length segments,硬件合并TLB表项)用来增加有限硬件资源的T...
2019-04-10 23:20:18 404
原创 Freeway:Maximizing MLP for Slice-Out-of-Order Execution
Freeway: Maximizing MLP for Slice-Out-of-Order Execution摘要:问题:为了能够掩盖内存和LLC的长访问延迟,充分的利用MLP将非常重要。尽管当前OOO处理器中能够有效的利用MLP,但是硬件复杂,能效低,能耗大之前的工作:sOOO(slice-out-of-out)是一种相对于OOO核能效更高的,能够利用MLP的微架构。这种结构将...
2019-04-01 21:23:43 306
原创 The Load Slice Core Microarchitecture
The Load Slice Core Microarchitecture摘要:背景:为了挖掘ILP,处理器从简单的按序流水线发展为超标量乱序流水线。利用超标量乱序流水线在提高ILP的同时,也能够提高cache和memory操作的并行。但是随着片外的存储墙和更复杂多核中的缓存层级结构,cache和memory的访问代价变得更大,因此MHP(memory hierarchy para...
2019-03-31 23:07:49 317
原创 The Accelerator Wall: Limits of Chip Specialization
The Accelerator Wall: Limits of Chip Specialization摘要:加速器墙:芯片上可用晶体管数量的停滞将限制加速器的设计优化空间,导致专有化硬件回报的减少,最终将会遇到加速器墙论文工作:探讨了在未来加速器和定制化芯片的限制将会有哪些论文使用数千个芯片的数据表(datasheet)构建的模型工具,论文描述了当前加速器如何依赖于CMOS缩放(s...
2019-02-25 21:06:00 561
原创 Control-Flow Decoupling
Control-Flow Decoupling摘要问题:论文在四个基准测试套件(spec2006,NU-MineBench3.0 BioBench,cBench-1.1)中发现,MPKI中的三分之一的指令是可分离分支。可分离分支是论文提出的一个概念,表示那些分支的控制相关区域很大(不适合if-conversion转换),并且这些分支的向后切片代码(backward slice)不依赖于其...
2019-01-21 23:16:43 282
原创 Two Level Bulk Preload Branch Prediction
Two Level Bulk Preload Branch Prediction摘要(IBM systems and technology group)论文介绍了在IBM的5.5GHz的在zEnterprise EC12处理器(大端机器)中使用的大容量的层级结构的分支预测器。并且通过在仿真模型和zEC12的真实硬件上实验,发现这种预测器比单层更小的预测器更好论文提出了两级分支预测的一种...
2019-01-20 15:31:19 331
原创 Branch Vanguard:Decomposing Branch Functionality into Prediction and Resolution Instructions
Branch Vanguard: Decomposing Branch Functionality into Prediction and Resolution Instructions摘要:问题:控制推测在乱序处理器中能够产生非常有效的调度,但是对于按序处理器却不够有效,因为编译在遇到无偏置分支的情况时会出现错误的调度,尽管这些分支具有很高的可预测性解决:论文提出了一种新的体系结构分...
2019-01-16 22:26:09 249
原创 Boomerang: a Metadata-Free Architecture for Control Flow Delivery
Boomerang(回旋镖): a Metadata-Free Architecture for Control Flow Delivery摘要:问题:现在服务器的工作负载的具有大量的指令,占用更深的分层软件堆栈,整个堆栈的活动指令工作集很容易到MB,已经容易导致指令cache缺失率增加,从而导致前端停顿增加,另一方面这种大规模的指令工作集中的大量的分支也会使得BTB缺失,而导致流水线刷...
2019-01-02 23:09:43 381
原创 McPAT
McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures论文的参与单位:美国圣母大学,惠普实验室,国立首尔大学,圣迭戈加利福尼亚大学摘要:McPAT:一个集成功耗,面积和时序建模的框架,同时支持90nm-22nm的多核和众核处理器配...
2019-01-02 16:23:18 3672
原创 DAWG A Defense Against Cache Timing Attacks in Speculative Execution Processors
DAWG: A Defense Against Cache Timing Attacks in Speculative Execution Processors摘要:由于推测式执行的问题,软件的侧信道攻击更加的严重。同时大部分的软件攻击都是利用cache tag的状态作为信息的泄露通道,大部分的软件防御措施可以修补特定的攻击,但是被可以规避文章建议通过对硬件很小的修改,以抵御广泛的攻击...
2018-12-25 23:07:45 628
原创 InvisiSpec Making Speculative Execution Invisible in the Cache Hierarchy
InvisiSpec: Making Speculative Execution Invisible in the Cache Hierarchy摘要:推测式执行对微架构的任何状态改变都可能会泄露信息论文提出了InvisiSpec,通过在数据缓存的层级结构中使得推测执行不可见,从而抵御硬件的推测攻击。主要是阻断了利用数据缓存进行隐蔽信道或侧信道来传递推测式load泄露的数据在inv...
2018-12-21 22:27:03 651
原创 Spectre Attacks Exploiting Speculative Execution-1
Spectre Attacks: Exploiting Speculative Execution摘要:推测式执行在如何执行方面是不可靠的,因为它可以访问受害者的内存和寄存器,并且可以执行具有可测量的副作用的操作幽灵攻击:诱导受害者在执行在正确的程序执行过程中不会发生的推测性操作,并通过一个侧信道将受害者的敏感数据泄露出去论文提出了一种实用的攻击方法,通过结合侧信道攻击,fault攻...
2018-12-16 18:42:22 1157
原创 Meltdown Reading Kernel Memory from User Space
Meltdown: Reading Kernel Memory from User Space摘要:计算机系统的安全性从根本上依赖于内存隔离,通过标记地址是否可用,隔离用户地址空间和内核地址空间熔断利用现代处理器上的乱序执行产生的一些微架构上的副作用,能够读取任意的内存空间熔断独立于OS,并且不依赖于软件漏洞,直接破坏了地址空间隔离和半虚拟化环境提供的所有安全保证,所有在此基础上的安...
2018-12-15 20:36:10 942 1
原创 A Systematic Evaluation of Transient Execution Attacks and Defenses (对暂态执行的攻击和防御的系统评估)(第五节)
A Systematic Evaluation of Transient Execution Attacks and Defenses (对暂态执行的攻击和防御的系统评估)(第五节)针对幽灵和熔断的防御措施针对幽灵的防御措施减轻或降低用于提取秘密数据的隐蔽信道的准确性如果数据在暂态执行过程中会被访问,则减少或者终止推测执行确保隐私数据不会被接触到针对熔断的防御措施确保在体...
2018-12-13 22:24:30 689
原创 A Systematic Evaluation of Transient Execution Attacks and Defenses (对暂态执行的攻击和防御的系统评估)(前四节)
A Systematic Evaluation of Transient Execution Attacks and Defenses (对暂态执行的攻击和防御的系统评估)(前四节)摘要:异常或者分支错误预测事件可能会在CPU的微体系状态中留下依赖于私有数据的足迹。通过这种观察,导致了新幽灵和熔断攻击变种的扩散。业界和学术界的问题在于:虽然在寻找有效的防御上,但是这些防御主要是针对于一...
2018-12-12 18:54:40 1451
原创 Analysis of Redundancy and Application Balance in the SPEC CPU2006 Benchmark Suite
Analysis of Redundancy and Application Balance in the SPEC CPU2006 Benchmark Suite摘要:使用spec2006可能出现的问题:研究人员由于仿真时间限制,编译器困难,lib库或者系统调用的问题等原因,可能会选择其中部分测试集,但是一个随机的子集就可能会出现误导结果的可能。文章工作:在几个系统平台上,利用性...
2018-12-10 19:34:09 886
原创 A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors(第七章)
A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors(第七章)可重配置的AMP分类:动态融合或者划分cores,能够改变核数在核间共享或者交换(trade)硬件资源转换核的架构核数可变的AMPIpek提出了Core Fusion,允许将相邻的OOO核融合成...
2018-11-21 20:42:18 355
原创 A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors(第六章)
A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors(第六章)改进AMP能效Kumar通过动态估计程序对资源的需求,然后将其映射到合适的core上,以节省能源Sawalha提出了一种动态调度的技术。应用程序行为随程序阶段的变化而变化,动态地调整映射可以显著地降低能耗。方法...
2018-11-21 11:36:54 167
sendMessage_withPicture.zip
2020-02-21
sendMessage.zip
2020-02-21
简易本地Git C++
2019-04-02
00-A Primer on Memory Consistency and Cache Coherence
2018-07-29
graphics.h
2014-11-14
二分法讲解文档
2014-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人