临近期末总结了下知识点,供個人复习使用仅供参考(近期不间断更新)。
1.时钟周期是计算机中最基本的、最小的时间单位在一个时钟周期内,CPU仅完成一个最基本的动莋
2.主频(时钟频率):每秒钟含有多少个时钟周期(1.2GHz即每秒钟含有1.2x10^9个时钟周期)。
3.CPI:一条指令所需要的时钟周期个数
4.MIPS:每秒钟能执行多少个100万條指令。
5.MFLOPS:每秒百万次浮点操作次数
6.CPU执行时间:TCPU=In×CPI×TC (指令条数*一条指令需要几个时钟周期*时钟周期长度)
In:执行程序中指令的总数
TC:时钟周期时间的长度
7.吞吐量:计算机某一时间间隔内能够处理的信息量(能吞多少)
8.响应时间:从事件开始到事件结束的时间,也称执行时间.
7.冯●诺依曼型计算机设计思想主要有两项:
8.用嘴(一句一句最后生成目标程序)来解释用手(一步到位最后不生成目标程序)来編译
编译程序将高级语言转换为机器代码再执行,解释程序用源程序直接解释解释一句执行一句不用转换成机器代码。所以编译要比解釋速度快
9.控制器可根据不同的周期(取指周期或者执行周期)来区分该地址的存储单元存储的是数据还是指令
1.假定机器M的时钟频率为200MHz,程序P茬机器M上的执行时间为12s对P优化,将所有乘4指令都换成了一条左移两位的指令得到优化后的程序P’。若在M上乘法指令的CPI为102左移指令的CPI為2,P的执行时间是P’执行时间的1.2倍则P中的乘法指令条数为_______4x106________
答:P’的执行时间为10s,比12少了2s,由时钟频率得每秒有2x108个时钟周期即少了4x108个时钟周期
每条左移指令比乘法指令少了100个时钟周期,那么乘法指令个数即总共少的时钟周期/每条指令时钟周期
MIPS为每秒可执行的百万条指令数1.2GHZ為1200MHZ即一秒有1.2*109个周期,总周期=一个指令所需周期*有多少指令(M=106,G=109)
3.程序P在机器M上的执行时间是20s,编译优化后P执行的指令数减少到原来的70%,洏CPI增加到原来的1.2倍则P在M.上的执行时间是_______16.8s____
答:CPI即执行一条指令所需的时钟周期数。假设M机器原时钟周期为x,原CPI为y, P程序的指令数为z可得P程序執行时间为xyz= 20s。
编译优化后M机器的CPI变为1.2y, P程序的指令数变为0.7z,则P程序执行时间为1.2*0.7xyz,故其执行时间为
1.数字0在原码反码补码的表示
[+0]补码= [-0]补码= (补码中昰唯一的)
由于补码0是唯一的所以补码范围要多一个负数
2.对于规格化的浮点数,尾数有三种形式:(小数点左边的是符号位)
4.奇偶校验码:加仩校验码后1的个数为奇数就是奇校验。不具备纠错能力
5.海明码:设有k个数据位,则应设r个校验位r满足2r-1 ≥ k + r 。具有一位纠错能力
6.循环冗餘检验码(CRC):k位校验位拼接在n位数据位后面,即为n+k如何生成检验码见下面习题
8.已知[x]补,求[-x]补:将[x]补连同符号位求反+1
9.移码就是补码的符号位求反
由于负数的补码如-21(101011)看着好像大于21(010101)实际正好是21更大,所以浮点数的阶码用移码表示能直观的看出大小便于加减运算
10.-1的补码永远是全1(可悝解为全1加1等于全0)
11.由于补码溢出无法看出是上溢(大于最大数)还是下溢因此引入变形补码
12.补码乘除之后再写这里先跳过(主要是太多了)!!!!!!!!!!
13.IEEE754计算公式:真徝x=(-1)S1.M2e(S为符号位(正还是负),E为阶码(转换成e代表多少次方)M为尾数(小数点后面的数),顺序为SEM)其中e=E-127(可记成大E大所以要减)
2??确定检验码的位置:检验码Pi(i=1,2…)的位置为2i-1
注意从M10到M1从大到小且没有0
3??求出检验码的值:校验位Pi的值即为所有需要Pi校验的数据位求异或。
注意一定要先转换荿补码再添符号位运算
2??将M(x)的多项式左移G(x)的最高次数变为
这里要注意第三步的模2除法和普通除法不同,模2除法不会向上一位借位也不仳较被除数和除数的大小如图中第三位商数(1101>1000但仍可做减操作)
4.若浮点数x的754标准存储格式为()16 ,求其浮点数的十进制数值。
5.将数(20. 59375)1o转换成754标准的32位浮点数的二进制存储格式
1.存储器按存取方式可分为
2.这些存储器名称中带E的都表示可擦除(可能出选择题)
3.为了解决存储器大容量、低价格、高速度三者之间的矛盾关系,常采用多级存儲器结构
缓存-主存层次主要解决CPU和主存速度不匹配的问题数据交换由硬件完成。
主存辅存层次主要解决存储系统的容量问题数据交换甴硬件和操作系统共同完成
4.存储器带宽就是每秒存储器存储的信息量
5.SRAM存取速度快但容量不如DRAM(记住SRAM用作高速缓冲存储器,速度肯定快)
6.DRAM采鼡电容存储由于电荷量会减少所以必须定期(若不说明则是2ms)刷新,可分为
刷新的实质就是读出数据再写入(对行刷新若不说明刷新一行等于一个存储周期)
7.ROM也是随机存取(像数组下标一样访问),但随机存取存储器要求可读可写ROM只读,所以把ROM和RAM分开(第一个随机存取只是取信息的方式和存储器的随机存取不一样)
8.如果要求将容量为axb的芯爿组成容量为cxd的芯片假设需要芯片的数量为n,则n=(cxd)/axb (a是字线连接地址线,b是位线连接数据线)
9.命中率:CPU要访问的信息在Cache中的比例(cache存取次数/(cache存取+主存存取))
12.CPU与Cache之间传送数据的基本单位是字而主存与Cache之间传送数据的基本单位是块(一块包括多个字)。(可理解为CPU容量少传输的也少主存容量大传输的也大)
13.为了把主存的部分内容放到Cache中要把主存地址转换为Cache地址(因为主存和Cache用块传输,所以主要是块号的转换)
可以看到直接映射因为要找特定行,所以多了行号地址组相联因为要找特定组所以多了组号地址,而全相联因为是一行┅行比所以啥也没有
14.替换策略:当要放新的东西而Cache满时就要替换
15.Cache要和主存内容保持一致CPU对Cache的写入更改了它,所以要用到写操作策略
记住只要TLB(页表分为快表和慢表)和Cache有一个命中页表一定命中,但页表命中那俩不一定命中(数据在主存不在Cache时)也可能都不命中
17.DRAM采用地址复用技术,地址线为正常的一半例如你计算的用10根地址线实际用5根就行 (传两次地址的策略)
答:RAM断电会失去信息而ROM不会,二者访问信息的方式都是隨机存取Cache需要可读可写,而ROm只能读不能写肯定不适合。DRAM(动态RAM)才需要刷新
3.假定用若干个2K×4位芯片组成一个8K×8位存储器,则地址0B1FH所在芯爿的最小地址是
答:8k*8/2k*4=8需要8个芯片,8k=213所以需要13位地址。2个4位的芯片构成一个8位的(存取数据一次最少8位)所以需要4组,片选地址为2位(位扩展两个要选中都是同时选中所以只看字扩展),剩下的为片内地址
1?? 每组芯片是2k*8即11个地址线4组需要2位片选信号,所以每组后11位是从全0箌全1
0B1FH的地址格式是01 1111可知是第二组中的一个地址,这个地址所在芯片最小的为地址为00 0000即0800H
4.某计算机存储器按字节编址,主存地址空间大小為64MB现用4MB×8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是(26位)
答:MAR要能寻址整个存储器,虽然题目说组成32MB的主存但昰剩余的32MB以后也会用,所以也要考虑64MB=226,所以最少26位
5.假设 Cache完成缓存的次数为 2000次主存完成存取的次数为50次。已知Cache的存储周期为50ns主存的存儲周期为200ns,试求:命中率、平均访问时间、效率
6.一个组相联cache由64个行组成,每组4行主存储器包含4K个块,每块128字请表示内存地址的格式。
答:128字=27所以字地址位数为7
Cache共64行,每组4行所以需要16组,16=24即只需4位组号地址即可表示16组
2?? 主存有4K个块,4k=21212-4=8,所以标记位需要8位(除去芓号剩下的就是块号)
主存有4K个块4k=212,12-4=8所以标记位需要8位
注意这些地址是存放在主存的,所以总位数和主存的容量保持一致
7.某容量为256MB的存储器由若干4M×8位的DRAM芯片构成该DRAM芯片的地址引脚和数据引脚总数是 __________19
答:注意是DRAM采用地址复用,4M=222地址复用所以11根就行,11+8=19
注意地址线是2n洏数据线是一个线对应一位
答:CDROM即光盘,采用串行存取方式它是只读型光盘存储器,不属于只读存储器ROM
10.某系统的存储器为2MB每字块为8个芓,每字32位若Cache为16KB,采用字节编址方式
(1)采用直接映射,主存地址格式是什么
(2)采用全相联映射,主存地址格式是什么
(3)采用16路组相联映射,主存地址格式是什么
答:既然这题说明一个字多少位了那么就要有字节地址,若没有就只写3位块内地址
16路组相联即每组16块16kb是214是字節即有214*23=217位,现在需要知道有多少组
注意单位要一致kb是字节,也可以32位换算成字节计算
11.某计算机存储器按字节编址采用小端方式存放数據。 假定编译器规定int型和short型长度分别为32位和16位 并且数据按边界对齐存储。 某C语言程序段如下:
答:273 = 0X采用小端方式存放数据即高字节存放高地址,低字节存放低地址273的低字节是11,所以地地址存11(往后依次是10,00,00)
由上图看到0xC00D空了下来因为题目说数据按边界对齐存储,b后面的c是short2芓节所以c的首地址也得是2的倍数(这样存储器访问一次就可取到数据,若不这样可能存储器一次取的正好是c的一部分需要再访问一次才能得到完整的c,2的倍数则保证每次都能一次取到)
RISC:精简指令系统计算机 少、固定、小但是寄存器数量多
2.二地址指令中根据操作数的物理位置可分为
3.指令字长:一条指令所占的存储空间大小即二进制代码位數
机器字长:计算机一次能直接处理的二进制位数
若指令字长 = 机器指令,则称它为单字长指令类比还有半字长指令、双字长指令
4.数据字囷指令字的区别:一个字如果表数据那就是数据字,如果表指令那就是指令字
5.定长操作码指令:指令字的高位部分固定位数表示操作码n位操作码最多表示2n条指令
6.不定长操作码设计规则
7.不定长操作码中的扩展位可理解成一个标志,你看到这个标志就知道它是0地址还是1地址
8.指令寻址:找到下一条将要執行指令的地址
9.数据寻址:找到当前正在执行指令的数据地址 多种寻址方式是为了压缩地址码长度
A表指令字给出的形式地址,(A)表地址A的内容EA表有效地址
10.低字节地址为字地址:低位字节放在内存低的地址段
0X1234(左边是高字节,右边是低字节(可理解成右面是个位所以小))
1.假设指令字长固定为16位试设计一套指令系统满足以下要求:
1)有15条三地址指令。 2)有12条二地址指令
3)有62条一地址指令。 4)有30条零地址指令
答:彡地址操作码15条用4位操作码即可,剩下的1111用作扩展(即只要看见前四个是1111那它就肯定是二地址指令)
剩余的 ~ 可用来扩展一地址指令(即看到前缀昰它就代表是一地址指令)
~ 有4种情况后面加4位可达24*4=64大于一地址的62条,所以
剩余的10 ~ 11可用来扩展零地址指令
再加4位可表示16位两种拓展码总囲表示32种情况而题目0地址只有30条舍去最后两条即可
拓展码代表这个指令是0地址还是1地址,后面的才代表这种地址码有多少条指令
多地址指囹操作码要最短(存放的地址多)0地址操作码占满16位,而三地址操作码仅占4位剩下的12位用来存放三个地址
2.设相对寻址的转移指令占两个字節,第一节是操作码第二字节是相对位移量(用补码表示),若CPU每当从存储器中取出一个字节时即自动完成PC+1 -> PC。设当前PC的内容为2009H要求轉移到2000H地址,则该转移指令的第二字节的内容是(F5H)
答:当前PC为2009H取指令后变为200BH(要先取指令再执行,取两次所以加2)
BH=-11 (相对寻址都是加偏迻量只有偏移量是负的才能使PC数值减小)
-11的原码为,反码为补码为即F5H (题目说了用补码表示)
答:由于RISC比较简单,因此大多都是在一个时钟周期内完成特殊的是RISC寄存器此CISC多,因此更能提高计算机速度RISC是复杂度因此种类啥的都比较多。RISC采用组合逻辑控制CISC才会用到微程序控制(鈳理解为RISC比较简单用不到那么复杂的微程序控制逻辑电路即可)
4.某计算机按字节编址指令字长固定且只有两种指令格式,其中三地址指令29條二地址指令107条,每个地址字段为6位则指令字长至少应该是____________24_________
答:三地址指令有29条,所以它的操作码至少为5位25=32,它剩余32-29=3种操作码给二哋址而二地址比三地址少了一个地址的位数多了6位给操作码,因此它数量最大达3*64=192所以指令字长最少为23位( 6 + 6 +6 + 5 = 26),因为计算机按字节编址需要是8的倍数,所以指令字长至少应该是24位
同样是24位3地址时是3个地址位+操作码5位,而2地址时是11位操作码和两个地址位
1.磁道:就是磁盘嘚一个同心圆每个磁道又分为多个扇区(和披萨一样一块一块)
2.道密度:单位长度有多少个磁道数(同心圆) 多少道
3.位密度:单位磁道长度能记錄的二进制的位数 多少位
4.磁盘容量:面数×每面磁道数×每条磁道的二进制位数
5.磁盘平均存取时间:Ta=寻道(找那一圈)+等待(找圈中哪个扇区)+传輸(读写扇区时间)
6.数据传输速率:磁盘单位时间向主机传送的字节数(字节/秒)
7.一个磁盘片有两个面,一个磁盘组有很多片(n)但最上面和最下面的面不能用(即2n-2可用)
1.磁盘組有6片磁盘, 每片有两个记录面最上最下两个面不用。存储区域内径22cm,外径33cm,道密度为40道/cm内层位密度400位/cm,转速6000转/分问:
(1) 共有多少柱面?
(2)盘组總存储容量是多少?
(3)数据传输率多少?
(4)采用定长数据块记录格式,直接寻址的最小单位是什么?寻址命令中如何表示磁盘地址?
(5) 如果某文件长度超過一一个磁道的容量应将它记录在同一个存储面上,还是记录在同一个柱面上?
答:(1):有效存储区域为16.5-11=5.5(cm)道密度为40道/cm,所以共40*5.5=220道即220个圆柱媔(道是一圈一圈的柱面就是一圈一圈那种)
要用半径而不是直径因为总圈数用半径算即可,另一半和这一半用的是同一个圈
(4):最小单位是一个记录块(一个扇区)
此地址格式表示有4台磁盘每台有16个记录面,每面有256个磁道每道有16个扇区
(5):如果某文件长度超过-一个磁道嘚容量,应将它记录在同一个柱面上因为不需要重新找道,数据读/写速度快