计算机体系结构
普若赛瑟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kohan summation
Kahan 求和 - OI Wiki (oi-wiki.org)原创 2024-01-04 17:16:41 · 414 阅读 · 0 评论 -
指令缓存的替换策略
三 最近最少/最常使用(Least Recen/Frequently Used)3、提前剔除 LRU (Early Eviction LRU)1、最近最少使用 (Least Recently Used)1、最不常用(Least Frequently Used)2、最近使用 (Most Recently Used)4、分段LRU (Segmented LRU)二 基于频率(frequency)的策略。一 基于新近(recency)的策略。剔除最旧(被使用过)的行。原创 2023-07-07 14:37:06 · 276 阅读 · 0 评论 -
安全机制Safety mechanism
如果当前数据输入的计算出的校验和与先前计算出的校验和的存储值相匹配,则数据没有被意外更改或损坏的可能性非常高。因此,纠错是确定性(可靠地检测三位错误的能力)和弹性(面对一位错误时保持功能的能力)之间的权衡。汉明码的最小距离为 3,这意味着解码器可以检测并纠正单个错误,但无法区分某些码字的双位错误和不同码字的单位错误。因此,一些双位错误将被错误地解码,就好像它们是单位错误一样,因此未被检测到,除非不尝试纠正。校验和是从另一个数字数据块导出的小尺寸数据块,用于检测在其传输或存储期间可能引入的错误。原创 2023-06-27 18:49:17 · 428 阅读 · 0 评论 -
《SIMD instruction considered harmful》SIMD指令被认为是有害的
地址 2c 处的 AVX 指令 vfmadd213pd 将 a (ymm2) 的 4 个副本乘以 x (ymm0) 的 4 个元素,加上 y 的 4 个元素(在地址 ecx+edx*8 的内存中),并将 4 个和放入 ymm0。相较于DAXPY的标量版本,附录的图 3 和图 4 中的结果显示,尽管主循环的大小保持不变,SIMD 将静态代码的指令和字节大小大致翻了一番, 执行的动态指令数减少了 2 或 4 倍,这具体取决于 SIMD 寄存器的宽度。额外的指令获取和指令解码意味着更高的能量来执行相同的任务。原创 2023-06-08 11:04:08 · 671 阅读 · 0 评论 -
超标量和VLIW
顺序发射处理器按照指令到达解码阶段的相同顺序发出指令。因此,只要不存在相关性,就可以在指令 j 之前发射指令i,即使静态编译时指令i晚于指令 j。通过在运行时消除假的的依赖关系并能够更早地发出后面的指令,乱序发射处理器可以利用更多的 ILP,从而显著提高性能。这种额外的硬件在嵌入式环境中是不合理的,因此这种利用 ILP 的途径是不可用的。VLIW 处理器依靠编译器利用依赖信息来静态调度指令的能力,以便可以并行调度多个独立指令。VLIW 处理器是静态调度的,而超标量处理器是动态调度指令的。原创 2023-05-19 17:28:31 · 619 阅读 · 0 评论 -
ARM CPU 设计(2)--单周期处理器分析
缺点:1、需要单独的存储器用于存指令和数据,因为要同时访问2、LDR指令为最慢的时钟周期指令,拖慢整个设计的时钟频率3、需要三个加法器,一个位于ALU,两个位于PC。原创 2022-04-17 01:11:22 · 783 阅读 · 0 评论 -
ARM CPU 设计(1)--单周期处理器
本文实现参考Sarah L Harris的《数字设计和计算机体系结构》,首先实现一个单周期的处理器。处理器结构如下图所示,设计顶层代码如下,`timescale 1ns / 1psmodule SingleCycleCPU( input CLK, input RESET); wire [31:0] PC ;wire [31:0] PC_Plus8 ;wire PCSrc ;wire [31:0] instr ;wire [3:0] RA1.原创 2022-04-15 23:52:31 · 1701 阅读 · 1 评论
分享