mirror of
https://github.com/Didnelpsun/CS408.git
synced 2026-02-07 12:54:09 +08:00
更新
This commit is contained in:
@@ -362,7 +362,7 @@
|
||||
各种指令使用频度|相差很大|大都比较常用
|
||||
通用寄存器数量|较少|多
|
||||
目标代码|难以用优化编译生成高效的目标代码程序|采用优化的编译程序,生成代码较为高效
|
||||
控制方式|绝大多数为微程序控制|绝大多数为组合逻辑控制
|
||||
控制方式|微程序控制|组合逻辑(硬布线)控制
|
||||
利用率|低|高
|
||||
指令流水线|可以通过一定方式实现|必须实现
|
||||
兼容性|强|弱
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
+ 时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问(因为程序中存在大量的循环)。
|
||||
+ 空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问(因为很多数据在内存中都是连续存放的)。
|
||||
+ 快表,又称相连寄存器($TLB$),是一种访问速度比内存快很多的高速缓冲存储器,用来存放当前访问的若干页表项,以加速地址变换的过程。与此对应,内存中的页表常称为慢表。
|
||||
+ 快表,又称相联寄存器($TLB$),是一种访问速度比内存快很多的高速缓冲存储器,用来存放当前访问的若干页表项,以加速地址变换的过程,此是其物理特性。与此对应,内存中的页表常称为慢表。
|
||||
+ 由于查询快表的速度比查询页表的速度快很多,因此只要快表命中,就可以节省很多时间。
|
||||
+ 因为局部性原理,一般来说快表的命中率可以达到$90\%$以上。
|
||||
+ 快表的地址变换过程:
|
||||
@@ -544,7 +544,7 @@
|
||||
|
||||
在手动做题时,若需要淘汰页面,可以逆向检查此时在内存中的几个页面号。在逆向扫描过程中最后一个出现的页号就是要淘汰的页面。
|
||||
|
||||
该算法的实现要对所有页面进行排序,所以需要专门的硬件支持,如寄存器和栈,虽然算法性能好,最接近$OPT$算法,但是实现困难,开销大。
|
||||
该算法的实现要对所有页面进行排序,需要增加额外的$LRU$位(根本原因),所以需要专门的硬件支持,如寄存器和栈,虽然算法性能好,最接近$OPT$算法,但是实现困难,开销大。
|
||||
|
||||
#### 时钟置换算法
|
||||
|
||||
@@ -646,7 +646,7 @@
|
||||
+ 刚刚换出的页面马上又要换入内存,刚刚换入的页面马上又要换出外存,这种频繁的页面调度行为称为抖动,或颠簸。
|
||||
+ 产生抖动的主要原因是进程频繁访问的页面数目高于可用的物理块数(分配给进程的物理块不够)。所以需要合适的物理块数量。
|
||||
+ 工作集:指在某段时间间隔里,进程实际访问页面的集合。
|
||||
+ 所有的页面置换算法都可能存在抖动。
|
||||
+ **所有**的页面置换算法都可能存在抖动。
|
||||
+ 可以撤销部分进程来减缓抖动。
|
||||
|
||||
### 工作集
|
||||
|
||||
Reference in New Issue
Block a user