计算机体系结构
文章平均质量分 83
华东设计之美
初学者
展开
-
计算机体系结构基础复习
3. 32位处理器、32-bit 地址,每页Page Size :4 KB,每个页表项PTE: 4-byte,共有 2^20 PTEs,每个用户进程的页表 4 MB,为备份全部虚拟地址空间,需要 4 GB 的swap存储空间;提高系统的伸缩性和性能:系统分层之后,我们可以从逻辑上的分层变成物理上的分层。(4)不合理,因为缺页意味着主存中没有VA对应的页表,由于TLB是页表的子集,那么TLB原则上也不该有,此时应发TLB miss,若没有miss,反而hit,说明违背了子集定义,不符合层次化设计需求。原创 2024-01-12 16:28:02 · 1012 阅读 · 3 评论 -
计算机体系结构期末复习流程大纲
MSI(Modified/Shared/Invalid)协议有三种状态:Modified:只有该数据块的备份是最新的,主存和其他处理器中的数据是陈旧的;IBM Power5。存储器的容量、速度与价格之间的要求是相互矛盾的,速度越快,没bit位价格越高,容量越大,速度越慢,目前主存一般有DRAM构成。:多个处理器或核心之间共享数据时,由于Cache的存在,可能导致不同处理器对同一块内存数据的缓存内容不一致的情况。:是一种减少访存延迟的机制,它基于经验观察,即处理器进行的 内存访问模式通常是高度可预测的。原创 2024-01-09 23:09:12 · 1319 阅读 · 1 评论 -
计算机体系结构超标量及分支预测学习记录
3.分支预测,分支指令的延时来自两个方面,一是分支条件的计算,二是目的地址的计算;超标量通过动态调度,进一步降低CPI,通过每个周期发射多条指令来执行。猜测执行就是为了在Tomasulo算法的基础上,进一步解决控制冲突;猜测执行算法与Tomasulo算法结构基本相同就仅有几点区别:–因预测错误导致本不该执行的指令被实际的执行了,带来了无用。处理猜测执行的指令导致的例外,也可能会引入不必要的开销。猜测执行中不存在WAR/WAW问题,RAW可能存在。对不该执行的指令进行回滚,也需要消耗时间和功耗。原创 2024-01-09 21:11:18 · 574 阅读 · 0 评论 -
体系结构汇总复习(练习题)
在TSO模型中,Load 操作可以越过之后的Store 操作,但不能越过之前的 Store 操作;采用循环展开的 VLIW 指令进行7次循环展开。假设没有分支延迟,代码一共需要执行10个周期,10个周期内进行了23次操作,指令发射速率为每周期2.3次操作;操作槽共计5*10=50个槽位,操作槽的有效利用率约为23/50=46%。假设没有分支延迟期,9个周期内进行了23次操作,指令发射速率为每周期2.5次操作;操作槽个数为5*9=45个,操作槽的有效利用率约为23/45=51.1%原创 2024-01-09 18:20:43 · 1051 阅读 · 0 评论 -
计算机体系结构动态调度(计分板及Tomasulo)学习记录
Tomasulo算法在读取数据时会留下临时存储位置,并建立与原指令之间的标签关系,并在后续继续填入数据,这样能有效解决WAR/WAW的冲突。需要注意的是,计分板没有处理控制冲突,乱序执行仅局限于一个基本块内,没有消除WAR/WAW冲突,这些冲突仍然会导致停顿。就绪指令指不存在资源冲突、操作数已就绪的指令,例如,计分板算法使用计分板来实现,Tomasulo使用保留站来实现;动态调度流水线引入乱序执行,因此会带来WAR冲突,因此在动态调度流水线中,所有类型的冲突都是存在的。通过寄存器重命名,可彻底消除。原创 2024-01-09 09:14:10 · 455 阅读 · 0 评论 -
计算机体系结构流水线学习记录
是用来解决RAW冲突的,核心思想是将结果产生后第一时间送到需要他的功能部件里(一般是ALU也有可能是DM),而不是寄存器文件来传递;名字依赖分为反向依赖(后续指令需要读取前导指令的正确值)和输出依赖(两条相邻指令写入共同的寄存器或内存位置),需要注意,其核心特征为指令间不存在数据流动,可以通过重命名技术消除;控制冲突是指分支指令带来的PC取值的不确定性,若不能妥善处理,控制冲突将会导致停顿时间变长,且分支指令的比例变高。指令存储器的缩写是IM,数据存储器的缩写是DM,时钟周期的缩写是CC;原创 2024-01-08 23:35:15 · 1389 阅读 · 1 评论 -
MIPS 指令
使用寄存器的跳转指令,并且带有链接功能,指令的跳转地址在寄存器中,跳转发生时指令的放回地址放在R31这个寄存器中。如果第三个寄存器的内容为负,那么复制一个寄存器的内容到另外一个寄存器。如果第三个寄存器的内容为0,那么复制一个寄存器的内容到另外一个寄存器。一个双精度浮点数减去一个单精度浮点数,结果为双精度浮点数。一个双精度浮点数除以一个单精度浮点数,结果为单精度浮点数。一个双精度浮点数除以一个单精度浮点数,结果为双精度浮点数。一个双精度浮点数乘以一个单精度浮点数,结果为双精度浮点数。原创 2023-10-12 12:56:19 · 167 阅读 · 0 评论