[例6]一台模型机的各条指令的频度如下: ADD(加):43% SHR(右移):1% SUB(减):13% CLL(循环左移):2% JOM(按页转移):6% CLA(累加器清0):22% STO(存):5% STP(停机):1% JMP(转移):7%
试设计这9条指令的哈夫曼编码的操作码表示以及2-4等长扩展操作码表示,并计算这两
种表示的平均操作码长度。 答:构造Huffman树如下:
[例7]设某用户虚存共有8页, 主存有4页, 每页大小为1KB. 试根据页表计算出虚地址1023和6800的主存实地址。
解:页号与地址对应关系
[例8]某机主存容量为512KB,Cache的容量为32KB,每块的大小为16个字(或字节)。划出全相联方式主、缓存的地址格式、目录表格式及其容量。 答:全相联映象方式:
主存与缓存分成相同大小的数据块,主存的某 一数据块可以装入缓存的任意一块空间中。 根据已知条件可以求得:
主存块数:512K/16=32K=215; 缓存块数:32K/16=2K=211;
块内地址:16=24
[例9]某机主存容量为512KB,Cache的容量为32KB,每块的大小为16个字(或字节)。划出直接相联方式主、缓存的地址格式、目录表格式及其容量。 答:直接相联映象方式:
主存与缓存分成相同大小的数据块,将主存空间按缓存的容量分成区,主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。 根据已知条件可以求得:
主存区数:512K/32K=16=24;缓存块数:32K/16=2K=211;块内地址:16=24
[例10]主存容量为512KB,Cache的容量为32KB,每块为64个字(或字节),缓存共分128组。划出组相联方式主、缓存的地址格式、目录表格式及其容量。 答:组相联映象方式:
主存与缓存分成相同大小的数据块,主存和Cache按同样大小划分成组,将主存空间按缓存的容量分成区,当主存的数据调入缓存时,主存与缓存的组号应相等,但组内各块地址之间则可以任意存放。 根据已知条件可以求得:
主存区数:512K/32K=16=24;缓存组数:128=27; 缓存块数:32K/64=512=29;组内块数:512/128=4=22 块内地址:64=26
[例11]一个有快表和慢表的页式虚拟存储器,最多有64个用户,每个用户最多要用1024个页面,每页4K字节,主存容量8M字节。
(1)写出多用户虚地址的格式,并标出各字段的长度。 (2)写出主存地址的格式,并标出各字段的长度。
(3)快表的字长为多少位?分几个字段?各字段的长度为多少位? (4)慢表的容量是多少个存储字?每个存储字的长度为多少位?
答:用户号:64=26,虚页号:1024=210,页内地址:4K=212,主存页数:8M/4K=211 (1)多用户虚地址:
用户号(6位)+虚页号(10位)+页内地址(12位) 共28位 (2)主存地址:
主存实页号(11位)+页内地址(12位) 共23位
(3)快表字长27位;分3个字段:用户号6位,虚页号10位,实页号11位 (4)慢表容量为2(6+10),每个存储字长为: 主存页号+1=12位。
[例12]为在页式虚拟存储器中,一个程序由P1~P5共5个页面组成。在程序执行过程中依