![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
体系结构
文章平均质量分 56
Join_It
这个作者很懒,什么都没留下…
展开
-
流水线冒险
在现代CPU中,采用多级流水线结构,提高CPU的执行效率,我们希望每一周期执行一条或者多条指令,但是在某些情况下流水线的并行将导致错误,无法按照预期执行,这就是流水线冒险。 结构冒险:指令占用同一执行单元或者结构,导致一条流水线的执行必须等待另一条流水线的执行。 解决方案: 1. 填充流水线气泡(nop) 2. 增加执行单元或者结构(比如取指和取数同时访问cache,增减数据cache和指令cache) 3. 读写寄存器冲突,前半周期读后半周其写等等。 数据冒险:一条流水线的执行需要另一条流水线的计算结果。原创 2021-11-15 20:54:25 · 287 阅读 · 0 评论 -
计算机体系结构-精简指令集和复杂指令集
精简指令集(CISV)和复杂指令集(RISC) 一、Intel和AMD可以认为是CISC的典型代表。一条复杂的指令实现复杂的功能,对于编译器的要求低,只需一条指令就可以解决问题。ARM必须将数据加载到寄存器才能被指令使用。举例如下: // Intel AVX指令集如下: // 将寄存器ymm1 += ymm3(或者地址mem中值) * ymm2 // 这是一条CISC指令集,最后一个操作数可以从地址或者寄存器中直接读,这将增加逻辑电路的复杂度。 vfmadd231ps ymm1, ymm2, ymm3/me原创 2021-11-15 20:39:50 · 3024 阅读 · 1 评论 -
内存使用学习
一、系统内存 free指令查看系统的内存使用情况(/proc/meminfo) Mem:系统整个物理内存的大小 Swap:磁盘文件中Swap分区或者块,主要是系统在物理内存不够的情况下缓存不常用数据到Swap磁盘那,获取更大的物理内存给应用程序,这将使用磁盘IO导致性能下降。可以设置swappiness参数(0~100)来指定使用swap的紧迫程度,数值越大表示尽可能缓存到swap中。 Totel:总的物理内存。 used:已经被使用的物理内存。 free:完全没被使用的物理内存。 shared:被共享的原创 2021-11-10 15:24:40 · 406 阅读 · 0 评论