版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 概述2计算机的基本组成1. 计算机由五大部件组成3. 指令和数据用二进制表示4. 指令由操作码和地址码组成6. 以运算器为中心2. 指令和数据以同等地位存于存储器, 可按地址寻访5. 存储程序一、冯诺依曼计算机的特点(1945年6月30日 发布EDVAC计算机设计方案)事先编制程序-存入主存储器-运行程序3冯诺依曼结构思想1) 采用二进制形式表示数据和指令 数据和指令在代码的外形上并无区别都是由0和1组成的代码序列,只是各自约定的含义不同而已。 采用二进制、使信息数字化容易实现,可以用二值逻辑工具进行处理。 程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将
2、源程序当作被加工处理的对象。4冯诺依曼结构思想(2) 采用存储程序方式 这是诺依曼思想的核心内容。 事先编制程序-存入主存储器-运行程序 这是计算机能高速自动运行的基础。 计算机的工作体现为执行程序,计算机功能的扩展在很大程度上体现为所存储程序的扩展。5数据、指令存储:程序与数据都采用二进制代码按照指令计数器PC的内容作为地址读取指令按照指令给出的操作数地址去读取数据一般将指令和数据分别存放在程序区的不同区域6算术运算逻辑运算存放数据和程序将信息转换成机器能识别的形式将结果转换成人们熟悉的形式指挥程序运行1.2冯诺依曼计算机硬件框图存储器输入设备运算器控制器输出设备7冯诺依曼结构思想3) 由运
3、算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机系统,并规定了这五部分的基本功能。Von Neumann计算机硬件的组成输入设备输出设备存储器运算器控制器程序数据结果状态结果指令数据请求命令地址命令8按任务需要编制成的各种程序用来管理整个计算机系统 系统软件应用软件语言处理程序操作系统服务性程序数据库管理系统网络软件软件计算机软件9计算机硬件的主要技术指标1.机器字长CPU 一次能处理数据的位数与 CPU 中的 寄存器位数 有关2.运算速度时钟周期主频每秒执行百万条指令MIPS执行一条指令所需时钟周期数CPI每秒浮点运算次数FLOPS10221 = 256 KB213 = 1 KB
4、如3.存储容量主存容量辅存容量存储单元个数 存储字长字节数字节数 500 GB 700MB如 MAR MDR 容量 10 8 16 32存放二进制信息的总位数1K = 210 1B = 23b1GB = 230B1 K 8位64 K 32位 容量越大,则可运行比较复杂的程序,使软件支撑环境更完善。指计算机系统中联机运行的辅助存储器容量第二章 运算方法122.0.2 数制之间的转换非十进制数转换为十进制数 按权相加法:先将各位数码与权值相乘,再将各位的乘积值相加,得到十进制数 十进制数转换为任意进制数降幂法(减权定位法)整数小数分别转换整数部分:除基取余法小数部分:乘基取整法 转换举例二进制与十
5、进制十六进制与十进制十六进制与二进制 13(1)十进制整数转换为二进制整数十进制数转换成等值的二进制数。转换方法: 减权定位法(了解) 除2取余法 (掌握)117 余数 (117)10 = (1110101)2258 1229 014 1222 7 03 121 12例:(117)10=(?)20 1或 117D = 1110101B14(2)十进制小数转换为二进制小数转换方法: 减权定位法 (了解) 乘2取整法 (掌握)注:1.若出现乘积的小数部分一直不为“0”,根据计算精度的要求截取一定的位数即可。 2.一个十进制数不一定有对应的二进制数。小数部分乘以2 整数部分 小数部分0.68752=
6、1.375 1 0.3750.3752=0.75 0 0.75 0.752=1.5 1 0.50.52=1 1 0例:(0.6875)10=(?)2(0.6875)10=(0.1011)215(3) 二进制整数转换为十进制整数转换方法: 按权相加法(掌握)特点:比较直观,适于手算 逐次乘基相加法 特点:适合于编程实现例:按权相加法 (1011)2=123+022+121 +120 =(11)1016转换方法: 按权相加法(掌握) 逐次除基相加法例:(0.1011)2=12-1+02-2+12-3+12-4 =0.5+0.125+0.0625 =(0.6875)10(4)二进制小数转换为十进制小
7、数17转换方法:分组转换(掌握)(5)二进制数与十六进制数的互换二进制-十六进制 原则:四位二进制对应一位十六进制 0011 0101 1011 1111 3 5 B F 0011010110111111B = 35BFH十六进制-二进制 A 1 9 C 1010 0001 1001 1100 A19CH = 1010000110011100B2.1 无符号数和有符号数一、无符号数不含符号的整数表示范围: 8 位 0 25516 位 0 655351000 0001129: 带符号的数 符号数字化的数+ 0.10110 1011小数点的位置+ 11000 1100小数点的位置 11001 11
8、00小数点的位置 0.10111 1011小数点的位置真值 机器数1. 机器数与真值二、有符号数2.120带符号数的编码方式原码表示反码表示补码表示(重点)对于正数,三种表示方式一样,其区别在于负数的表示原码的特点:简单、直观缺点: 一个负数和一个正数用原码作加法时,先要比较两数绝对值大小,然后将绝对值大的数减去绝对值小的数,结果的符号以绝对值大的数为准。 加法运算需要用减法器实现,复杂、费时能否 只作加法 ? 找到一个与负数等价的正数 来代替这个负数就可使 减 加2.1当真值为 负 时,原码 可用 补码除符号位外 每位取反,末位加 1 求得 2.1当真值为 负 时,补码 可用 原码除符号位外
9、 每位取反,末位加 1 求得 真值0, 10001101, 01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示练习求下列真值的补码 1补 = 2 + x = 10.0000 1.0000 = 1.0000+ 0补 = 0补由小数补码定义= 1000110 x补 x原2.1x = +70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000= 1000110 x补 = x 1 x 02+ x 0 x 1(mod
10、2)三种机器数的小结 对于正数,原码 = 补码 = 反码 对于负数 ,符号位为 1,其 数值部分原码除符号位外每位取反末位加 1 补码原码除符号位外每位取反 反码 最高位为符号位,书写上用“,”(整数)或“.”(小数)将数值部分和符号位隔开 2.1例2.11 000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码 无符号数对应的真值 原码对应 的真值补码对应 的真值反码对应 的真值012127253254255-125-126-127-3-2-
11、1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+1272.1+0 设机器数字长为 8 位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少? 补码比原码、反码多表示一个数!例2.12 解:已知 y补 求 y补 y补 = 0. y1 y2 yny = 0. y1 y2 yny = 0. y1 y2 yn y补 = 1.y1 y2 yn + 2-n y补 = 1. y1 y2 yn y原 = 1. y1 y2 yn + 2-n y = (0. y1 y2 yn + 2-n) y = 0. y1 y2 yn + 2-n y补 = 0. y
12、1 y2 yn + 2-n 设 y补 = y0. y1 y2 yn 2.1每位取反, 即得 y补y补连同符号位在内, 末位加 1 每位取反, 即得 y补y补连同符号位在内, 末位加 1 复习进制转换1、123D=(?)B 2、0.6357D=(?)B(小数点后保留四位)3、1101.101B=(?)D 4、101.11B=(?)D5、10110101B=(?)Q=(?)H6、111010011B=(?)Q=(?)H有符号数编码表示(8位机器字长,1位符号位)1、x=-1010 写出相应的原码、补码、反码2、 x=-0.1010 写出相应的原码、补码、反码3、写出+0和-0的原码、补码和反码4、
13、已知x补=1,0101011,求x真值5、已知x补=1,0000000,求x真值6、已知x补=1,0101101,求-x补2.2 数的定点表示和浮点表示小数点按约定方式标出 一、定点表示 Sf S1S2 Sn数符数值部分小数点位置Sf S1S2 Sn数符数值部分小数点位置或定点机小数定点机整数定点机原码补码反码(1 2-n) +(1 2-n)(2n 1) +( 2n 1) 1 +(1 2-n) 2n +( 2n 1)(1 2-n) +(1 2-n)(2n 1) +( 2n 1)29 :符号位;数值范围:原码 (绝对值最大负数)最小负数:-(2n-1) 11.11最大负数:-1 10.01最小正
14、数:1 00.01 最大正数: 2n-1 01.11补码最小负数:-2n 10.00最大负数:-1 11.11最小正数:1 00.01最大正数: 2n-1 01.11带符号定点整数(共n+1位)小数点隐含位置30带符号定点小数(纯小数)数值范围:原码最小负数:-(1-2-n) 1.1.11最大负数:-2-n 1.0.01最小正数: 2-n 0.0.01最大正数: 1-2-n 0.1.11补码最小负数:-1 1.0.00最大负数: -2-n 1.1.11 最小正数: 2-n 0.0.01最大正数: 1-2-n 0.1.11特点: 简单,实现定点运算的硬件成本低。 表示范围较小,精度较低。尾数二、
15、浮点表示N = Srj 浮点数的一般形式 S 尾数 j 阶码 r 基数(基值) 计算机中 r 取 2、4、8、16 等 当 r = 2 N = 11.0101= 0.110101210 = 1.1010121 = 1101.012-10 = 0.001101012100 计算机中 S 小数、可正可负 j 整数、可正可负 规格化数二进制表示2.21. 浮点数的表示形式 Sf 代表浮点数的符号 n 其位数反映浮点数的精度 m 其位数反映浮点数的表示范围 jf 和 m 共同表示小数点的实际位置 2.2jf j1 j2 jm Sf S1 S2 Sn j 阶码S 尾数阶符数符阶码的数值部分尾数的数值部分
16、小数点位置2. 浮点数的规格化形式r = 2尾数最高位为 13. 浮点数的规格化r = 2左规 尾数左移 1 位,阶码减 1 右规 尾数右移 1 位,阶码加 1 基数 r 越大,可表示的浮点数的范围越大基数 r 越大,浮点数的精度降低 例如:最大正数= 215( 1210 ) 2+1111 0.111111111110 个 1最小正数最大负数最小负数= 21521 = 215( 12 10 ) = 216= 21521 = 2162-1111 0.10000000009 个 02-1111 ( 0.1000000000)9 个 02+1111 ( 0.1111111111)10 个 1设 m
17、= 4,n = 10,r = 2 尾数规格化后的浮点数表示范围 2.2例2.15 写出对应下图所示的浮点数的补码 形式。 设 n = 10,m = 4, 阶符、数符各取 1位。负数区正数区下溢0上溢上溢 12( 2m1 )2( 2m1)(1 2n)22m2n最小负数最大正数最小正数22m2n最大负数解:真值最大正数最小正数最大负数最小负数215(1 210)216 210216 210215(1)0,1111; 0.11111111111,0000; 0.00000000011,0000; 1.11111111110,1111; 1.0000000000补码2.2二、加减法运算 1. 补码加减
18、运算公式 (1) 加法 (2) 减法 整数 A补 + B补= A+B补(mod 2n+1)小数 A补 + B补= A+B补(mod 2)AB= A+(B )整数 A B补= A+(B )补= A补 + B补(mod 2n+1) 小数 A B补= A+(B )补(mod 2) 连同符号位一起相加,符号位产生的进位自然丢掉 = A补 + B补2.3例 2.20 设机器数字长为 8 位(含 1 位符号位)且 A = 15, B = 24,用补码求 A B解:A = 15 = 0001111B = 24= 0011000A补 + B补+A补= 0, 0001111 B补= 1, 1101000= 1,
19、 1110111= A B补B补 = 0, 0011000练习 1 设 x = y = ,用补码求 x+y 9161116x + y = 0.1100 =1216练习 2 设机器数字长为 8 位(含 1 位符号位) 且 A = 97,B = +41,用补码求 A BA B = + 1110110 = + 118 A B = 1001 = 9错错 2.33. 溢出判断 (1) 一位符号位判溢出参加操作的 两个数(减法时即为被减数和“求补”以后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出硬件实现 最高数据位的进位 符号位的进位 = 1 如 1 0 = 10 1 = 1有 溢出0 0
20、 = 01 1 = 0无 溢出6.3溢出 概念:运算结果超出结果数据类型的表示范围,称为溢出(overflow)。 正溢:超过最大正数 负溢:超出最小负数39(2) 两位符号位判溢出 (双符号位)将符号位扩展为两位,信息量扩大,就能判明是否有溢出以及结果的符号。结果符号:00结果为正,无溢出;01结果正溢;10结果负溢;11结果为负,无溢出。溢出= Sf1 Sf2若两个符号位不一致时表明溢出。 00 1010+ 11 1001 00 0011Sf1Sf2(1)3+2:正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正确负溢正确正确
21、(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 1110 11 101000 0100第一符号位Sf1第二符号位Sf2例2.21已知 x = 0.1110 y = 0.1101 求x y原解:2.3数值部分的运算0 . 0 0 0 00 . 1 1 1 00 . 1 1 1 00 . 0 0 0 00 . 1 1 1 00 . 1 1 1 0部分积 初态 z0 = 0 部 分 积 乘 数 说 明 0 . 0 1 1 101
22、. 0 0 0 11 01 . 0 1 1 01 1 00 . 1 0 1 10 1 1 01,得 z4 逻辑右移 1 1 0 1=0 . 0 1 1 11,得 z1 0 1 1 0=0 . 0 0 1 11,得 z2 1 0 1 1=0 . 1 0 0 01,得 z3 1 1 0 1=逻辑右移 逻辑右移 逻辑右移 + x* + 0+ x*+ x* 数值部分按绝对值相乘 乘积的符号位 x0 y0 = 1 0 = 1x* y* = 0. 1 0 1 1 0 1 1 0则 x y原 = 1. 1 0 1 1 0 1 1 0特点 绝对值运算逻辑移位例2.21 结果 用移位的次数判断乘法是否结束2.3
23、小结 被乘数只与部分积的高位相加 由乘数的末位决定被乘数是否与原部分积相加, 然后 1 位形成新的部分积,同时 乘数 1位(末位移丢),空出高位存放部分积的低位。硬件3个寄存器,具有移位功能 1个全加器 2.3 乘法 运算可用 加和移位实现n = 4,加 4 次,移 4 次 (2) 不恢复余数法加减交替 不恢复余数法运算规则 上商“1” 2Ri y* 上商“0” 2Ri + y* (加减交替法) 2.3x = 0.1011 y = 0.1101 求 原xy解:例2.250 . 1 0 1 11 . 0 0 1 10 . 1 1 0 11 . 0 0 1 11 . 0 0 1 10 . 1 1
24、0 10 . 0 0 0 0+ y*补01 . 1 1 1 0余数为负,上商 0 1 . 1 1 0 001+y*补00 . 1 0 0 1余数为正,上商 1 + y*补1 . 0 0 1 00 11+ y*补+y*补0 . 1 0 1 00 1 111 . 1 0 1 00 1 1 010 . 0 1 0 10 1余数为正,上商 1 0 . 0 1 1 10 1 1 0 余数为正,上商 1 1 . 1 1 0 10 1 1余数为负,上商 0 x原 = 1.1011y*补 = 0.1101y*补 = 1.0011y原 = 1.11011101逻辑左移2.3x*补 = 0.1011逻辑左移逻辑左
25、移逻辑左移被除数(余数) 商 说 明余数商 x0 y0 = 1 1 = 0 x*y*= 0.1101 = 0.1101 原xy上商 n+1 次 例2.25 结果特点 用移位的次数判断除法是否结束 第一次上商判溢出 移 n 次,加 n+1 次 2.32.4 浮点四则运算一、浮点加减运算 x = Sx 2jxy = Sy 2jy 1. 对阶 (1) 求阶差 (2) 对阶原则 j = jx jy = jx= jy 已对齐 jx jy jx jy x 向 y 看齐y 向 x 看齐x 向 y 看齐y 向 x 看齐小阶向大阶看齐 Sx 1, Sy 1, Sx 1, Sy 1, = 0 0 0 jx1jy+
26、1 jx+1jy1例如x = 0.1101 201 y = (0.1010) 211求 x y解:x补 = 00, 01; 00.1101 y补 = 00, 11; 11.0110 1. 对阶j补 = jx补 jy补= 00, 0111, 0111, 10阶差为负( 2)Sx补 = 00.0011 Sy补= 11.011011.1001 Sx 2 jx+ 2 x+y补 = 00, 11; 11. 1001 对阶x补 = 00, 11; 00.0011+对阶后的Sx补 2.4 求阶差2. 尾数求和3. 规格化(1) 规格化数的定义(2) 规格化数的判断r = 2 |S| 1 12S0真值原码补码
27、反码规格化形式S 0 规格化形式 真值 原码 补码 反码 0.1 0.1 0.1 0.1 原码 不论正数、负数,第一数位为1 补码 符号位和第 一数位不同 0.1 1.1 1.0 1.0 2.4特例S = = 0.100 0 12 补 不是规格化的数 12S = 1 1补 是规格化的数 S原 = 1 . 1 0 0 0S补 = 1 . 1 0 0 0 S补 = 1 . 0 0 0 0 6.4(3) 左规(4) 右规尾数左移一位,阶码减 1,直到数符和第一数位不同为止 上例 x+y补 = 00, 11; 11. 1001左规后 x+y补 = 00, 10; 11. 0010 x + y = (
28、0.1110)210 当 尾数溢出( 1)时,需 右规即尾数出现 01. 或 10. 时 尾数右移一位,阶码加 1 2.4例2.27x = 0.1101 210 y = 0.1011 201求 x +y(除阶符、数符外,阶码取 3 位,尾数取 6 位) 解:x补 = 00, 010; 00. 110100y补 = 00, 001; 00. 101100 对阶 尾数求和j补 = jx补 jy补 = 00, 010 11, 111100, 001阶差为 +1 Sy 1, jy+1 y补 = 00, 010; 00. 010110Sx补 = 00. 110100Sy补 = 00. 010110对阶后
29、的Sy补 01. 001010+尾数溢出需右规2.4 右规x +y补 = 00, 010; 01. 001010 x +y补 = 00, 011; 00. 100101右规后 x +y = 0. 100101 2112.4第三章 存储器5455(2) 存储速度4. 主存的技术指标 (1) 存储容量(3) 存储器的带宽主存 存放二进制代码的总位数 读出时间 写入时间 存储器的 访问时间 存取时间 存取周期 读周期 写周期 连续两次独立的存储器操作(读或写)所需的 最小间隔时间 例如:32M位/秒 3.256芯片容量 二、半导体存储芯片简介 1. 半导体存储芯片的基本结构 译码驱动存储矩阵读写电路
30、1K4位 16K1位 8K8位 片选线读/写控制线 地址线数据线地址线(单向)数据线(双向)1041411383.257(1)半导体存储器静态存储器 利用双稳态触发器存储信息集成度最高,但信息易失,需要定时刷新内容速度快,非破坏性读出用途:作主存。动态存储器 依靠电容上的存储电荷存储信息用途:高速缓存。 三、随机存取存储器 ( RAM ) 58动态 RAM 刷新 刷新与行地址有关 集中刷新(存取周期为0.5 s )“死时间率” 为 128/4 000 100% = 3.2%“死区” 为 0.5 s 128 = 64 s 周期序号地址序号tc0123871387201tctctctc3999VW
31、01127读/写或维持刷新读/写或维持3872个周期(1936 s) 128个周期(64 s) 刷新时间间隔(2 ms)刷新序号tcXtcY 以128 128 矩阵为例59tC = tM + tR读写刷新无 “死区”存取周期变长,系统速度降低了 分散刷新(存取周期为1 s )(存取周期为 0.5 s + 0.5 s )以 128 128 矩阵为例W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔128个存取周期60 分散刷新与集中刷新相结合(异步刷新)对于 128 128 的存储芯片(存取周期为 0.5 s )将刷新安排在指令译码阶段,不会出现 “死
32、区”“死区” 为 0.5 s 若每隔 15.6 s 刷新一行每行每隔 2 ms 刷新一次61 3. 动态 RAM 和静态 RAM 的比较DRAMSRAM存储原理集成度芯片引脚功耗价格速度刷新电容触发器高低少多小大低高慢快有无主存缓存62 用 1K 4位 存储芯片组成 1K 8位 的存储器?片 五、存储器与 CPU 的连接 1. 存储器容量的扩展 (1) 位扩展(增加存储字长)10根地址线8根数据线DDD0479AA021142114CSWE2片63 (2) 字扩展(增加存储字的数量) 用 1K 8位 存储芯片组成 2K 8位 的存储器11根地址线8根数据线3.2?片2片1K 8位1K 8位D7
33、D0WEA1A0A9CS0A10 1CS164 (3) 字、位扩展用 1K 4位 存储芯片组成 4K 8位 的存储器8根数据线12根地址线WEA8A9A0.D7D0A11A10CS0CS1CS2CS3片选译码3.21K41K41K41K41K41K41K41K4?片8片65 2. 存储器与 CPU 的连接 (1) 地址线的连接(2) 数据线的连接(3) 读/写命令线的连接(4) 片选线的连接(关键)访存控制线(MREQ#)、地址线(5) 合理选择存储芯片(ROM/RAM型号) 3.266例3.1CPU:16根地址线、8根数据线、MREQ#、WRROM芯片:2K8、4K8、8K8RAM芯片:1K
34、4、4K8、8K8 74138译码器、与非门要求: 6000H67FFH为系统程序区 6800H6BFFH为用户程序区67例3.1 (1) 写出对应的二进制地址码(2) 确定芯片的数量及类型0 1 1 00 0 0 00 0 0 00 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 01 0 1 11 1 1 11 1 1 12K8位1K8位RAM2片1K4位ROM1片 2K8位68(3) 分配地址线A10 A0 接 2K 8位 ROM 的地址线A9
35、A0 接 1K 4位 RAM 的地址线(4) 确定片选信号CBA0 1 1 00 0 0 00 0 0 00 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 01 0 1 11 1 1 11 1 1 12K 8位1片 ROM1K 4位2片RAM3.269 2K 8位 ROM 1K 4位 RAM1K 4位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WR例 3.1 CPU 与存储器
36、的连接图3.2702. 多体并行系统(1) 顺序方式(高位交叉) M0M1M2M33.2体内地址体号体号地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111 111171各个体并行工作3.2M0地址01n1M1nn+12n1M22n2n+13n1M33n3n+14n1地址译码体内地址体号体号(1) 高位交叉 72M0M1M2M33.2体号体内地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 0
37、11111 101111 11(2) 交叉方式(低位交叉)各个体轮流编址 733.2M0地址044n4M1154n3M2264n2M3374n1地址译码 体号体内地址 体号(2) 低位交叉 各个体轮流编址 74低位交叉的特点 在不改变存取周期的前提下,增加存储器的带宽时间 单体访存周期 单体访存周期3.2启动存储体 0启动存储体 1启动存储体 2启动存储体 375 3.2设四体低位交叉存储器,存取周期为T,总线传输周期为,为实现流水线方式存取,应满足 T 4。连续读取 4 个字所需的时间为 T(4 1)例5 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储
38、周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64b4=256b顺序存储器和交叉存储器连续读出4个字所需的时间分别是:t2=mT=4200ns=800ns=810-7st1=T+(m-1)=200ns+150ns=350ns=3.510-7s顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3.510-7)s=730Mb/s773.3 高速缓冲存储器一、概述1. 问题的提出避免 CPU
39、“空等” 现象CPU 和主存(DRAM)的速度差异缓存CPU主存容量小速度高容量大速度低Cache容量通常不到主存容量的千分之一!78程序访问的局部性原理局部性原理: 在一段时间内,整个程序的执行仅限于程序中的某一部分。时间局部性如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。空间局部性一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问792. Cache 的工作原理字节: 8位字:2-8个字节字节字字块问题:一次访存操作读取内容? 为了主存和Cache内容映射,将主存与Cache分成若干个块。主存块的大小与Cac
40、he块的大小一致。每个块包含若干个字。 字块(行):4-8个字Cache行80主存和缓存按块(行)交换数据Cache行标志位flags:是否是有效数据(invalid)是否修改过(dirty)来自内存的数据块内容(data block)标记tag:数据块的块地址一个cache行中的数据块是内存中多个块中的某一块data blocktagflagscache line81 (1) 主存和缓存的编址主存和缓存按块存储 块的大小相同 B 为块长主存块号主存储器00字块 0字块 1字块 2m-1主存块号index块内地址block offsetm位b位n位字节地址0111.1字块 0字块 1字块2c-
41、1标记Cache缓存块号3.3主存地址主存有 2m块2m 2cCache有 2c块0.1082(2) 命中与未命中主存块 调入 缓存主存块与缓存块 建立 了对应关系用 标记记录 与某缓存块建立了对应关系的 主存块号命中未命中主存块与缓存块 未建立 对应关系主存块 未调入 缓存3.383(3) Cache 的命中率CPU 欲访问的信息在 Cache 中的 比率命中率 与 Cache 的 容量 与 块长 有关 一般每块可取 4 8 个字块长取一个存取周期内从主存调出的信息长度 CRAY_1 16体交叉 块长取 16 个存储字 IBM 370/168 4体交叉 块长取 4 个存储字(64位4 = 2
42、56位)3.384(4) Cache 主存系统的效率效率 e 与 命中率 有关 设 Cache 命中率 为 h,访问 Cache 的时间为 tc , 访问 主存 的时间为 tm 3.3则 e = 100% tc h tc+ (1h) tm 访问 Cache 的时间 平均访问时间 e = 100%853. Cache 的基本结构3.3Cache替换机构Cache存储体主存Cache地址映射变换机构由CPU完成864. Cache 的 读写 操作 访问Cache取出信息送CPU 访问主存取出信息送CPU将新的主存块调入Cache中执行替换算法 腾出空位 结束命中?Cache满?CPU发出访问地址
43、开始是否是否读 3.387Cache 和主存的一致性 4. Cache 的 读写 操作 写3.3 写直达法(Write through) 写回法(Write back) 写操作时数据既写入Cache又写入主存 写操作时只把数据写入 Cache 而不写入主存当 Cache 数据被替换出去时才写回主存 写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略比较容易实现写操作时间就是访问 Cache 的时间,读操作 Cache 失效发生数据替换时,被替换的块需写回主存,增加了 Cache 的复杂性885. Cache 的改进 (1) 增加 Cache 的级数片载(片内)L1 Cache
44、片外 L2 Cache (2) 统一缓存和分立缓存指令 I-Cache数据 D-Cache与主存结构有关与指令执行的控制方式有关是否流水Pentium 8K 指令 Cache 8K 数据 CachePowerPC620 32K 指令 Cache 32K 数据 Cache3.389 字块2m1 字块2c+1 字块2c+11 字块2c +1 字块2c 字块2c1 字块1 字块0主存储体 字块 1 标记 字块 0 标记字块 2c-1标记Cache存储体 t位012c1 字块字块地址 主存字 块标记t 位c 位b 位主存地址 比较器(t位)= 不命中 有效位=1?*m位 Cache内地址 否是命中 二
45、、Cache 主存的地址映射 1. 直接(Direct)映射每个缓存块 i 可以和 若干 个 主存块 对应每个主存块 j 只能和 一 个 缓存块 对应i = j mod C3.3 字块2c+1 字块2c 字块0 字块 0特点: 实现简单 不够灵活90Problems with direct mapped caches?What happens if a program uses addresses 2,6,2,6,2,?91直接映射举例92直接映射举例例3.8 假设主存容量为512KB,Cache 容量为4KB,每个字块为16 个字,每个字32 位。(1)Cache 地址有多少位?可容纳多少块
46、?(2)主存地址有多少位?可容纳多少块?(3)在直接映射方式下,主存的第几块映射到Cache 中的第5 块(设起始字块为第1 块)?(4)画出直接映射方式下主存地址字段中各段的位数。94(1)Cache容量4KB=212B,Cache地址12位每个字块大小=16字 32位/字8位/字节 =64字节(2)主存容量512KB=219B,主存地址19位Cache块数=4KB64B/块=64 块主存块数=512KB64B/块=8192块95 字块8192 字块65字块64字块7 字块6字块5 字块2 字块1主存储体 字块 2 字块 1字块64 Cache存储体64字节 字块 5直接映射方式下:(3)主
47、存的第64n+5块(n=0, 1,127)可以映射到第五块(4)内存地址共19位,其中: a.字块64字节,内地址6位 b.缓存64块,缓存字块地址6位 c.剩余7位作为主存字块标记 例3.8 题目(续)96直接映射特点972. 全相联(Fully Associative)映射主存 中的 任一块 可以映射到 缓存 中的 任一块字块2m1字块2c1字块1 字块0字块2c1字块1字块0标记标记标记主存字块标记 字块内地址主存地址m = t + c 位b位m = t+cCache 存储器主存储器 字块03.3特点: 方式灵活 结构复杂982. 全相联(Fully Associative)映射In a
48、ssociate cache mapping, the block data from any location in memory can be loaded into any line in the cache.When the processor wants an memory data, all tag fields in the cache will be checked to determine if the data is already in the cache.All tags can be checked in parallel.992. 全相联映射举例100字块2m1字块
49、2c-r+1 字块2c-r + 1 字块2c-r字块2c-r 字块1 字块0 字块 3标记 字块 1标记字块 2c1标记 字块 2标记 字块 0标记字块 2c2标记 字块内地址组地址主存字块标记s = t + r 位q = cr 位b 位组012c-r1主存地址Cache主存储器m 位共 Q 组,每组内两块(r = 1)1某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块 i = j mod Q直接映射全相联映射3. 组相联(Set Associative)映射3.3 字块0 字块 1 字块 0 字块2c-r 字块2c-r+11013. 组相联映射举例1023. 组相联映射举例1
50、03例3.11 设某机主存容量为16MB,Cache 的容量为8KB。每字块有8 个字,每字32 位。设计一个四路组相联映象的Cache 组织,要求:(1)画出主存地址字段中各段的位数。(2)设Cache 初态为空,CPU 依次从主存第0、1、2、99 号单元读出100 个字(主存一次读出一个字),并重复此次序读10 次,问命中率是多少?(3)若Cache 的速度是主存速度的5 倍,试问有Cache 和无Cache 相比,速度提高多少倍?(4)系统的效率为多少?105例3.11 四路组相联映射 (1)主存容量16MB=224B,主存地址24位每个字块大小=8字 32位/字8位/字节 =32字节
51、字块内地址5位。Cache块数=8KB32B/块=256 块Cache中组(行)数=2564=64组。组地址6位。字块标记位数=24-5-6=13位。106 字块8192 字块65字块64字块7 字块6字块5 字块1 字块0主存储体Cache存储体64字节 主存第0号单元未命中,将主存字块0读入cache。例3.11 题目(续1)字块0字块1字块11字块12字01237 字块00组1组11组主存第1-7号单元命中。同理第8,16,96号单元未命中,需要读操作,其余单元都Cache命中。命中率=(100*10-13)/(100*10)=0.987后9次循环全部命中。107例3.11 题目(续2)
52、(3) 假设Cache存取周期为t,主存存取周期为5t没有Cache时,1000个单元读取时间为5000t有Cache时,读取时间为13*5t+(1000-13)*t速度提高倍数=5000t13*5t+(1000-13)*t 3.75(4) 系统效率为t0.987*t+(1-0.987)*5t 95%1083. 组相联映射特点109三、替换算法1. 先进先出 ( FIFO )算法 2. 近期最少使用( LRU)算法小结某一 主存块 只能固定 映射到 某一 缓存块直接全相联组相联某一 主存块 能 映射到 任一 缓存块某一 主存块 只能 映射到 某一 缓存 组 中的 任一块不灵活成本高3.3当Ca
53、che内容/行已满,无法接收来自主存块的时候,替换机构将某个块移出Cache。第四章 指令系统1101114.1 机 器 指 令 一、指令的一般格式 操作码字段 地址码字段1. 操作码反映机器做什么操作(1) 长度固定(2) 长度可变用于指令字长较长的情况,RISC如 IBM 370操作码 8 位操作码分散在指令字的不同字段中112(3) 扩展操作码技术操作码的位数随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A311111111111100000001111011111111111111111111111111111
54、1111111000000011111111111111111111111111111A3A3A30000000111104 位操作码8 位操作码12 位操作码16 位操作码最多15条三地址指令最多15条二地址指令最多15条一地址指令16条零地址指令4.1113(3) 扩展操作码技术操作码的位数随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A311111111111100000001111011111111111111111111111111111111111100000001111111111111111111111
55、1111111A3A3A30000000111104 位操作码8 位操作码12 位操作码16 位操作码三地址指令操作码每减少一种可多构成24 种二地址指令二地址指令操作码每减少一种可多构成24 种一地址指令4.11144.3 寻 址 方 式 一、指令寻址 顺序 ( PC ) + 1 PC跳跃 由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式 指令地址 指令 顺序寻址 1顺序寻址 2顺序寻址 3跳跃寻址 7顺序寻址 8115二、数据寻址 形式地址 指令字中的
56、地址 有效地址 操作数的真实地址 约定 指令字长 = 存储字长 = 机器字长 1. 立即寻址 指令执行阶段不访存 举例 ?形式地址 A 操作码 寻址特征 OP # A立即寻址特征 立即数 可正可负 补码 形式地址 A 就是操作数 4.3MOV AX,3 A 的位数限制了立即数的范围1162. 直接寻址 EA = A操作数主存寻址特征OP0123H 0123AX 执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改A) 有效地址由形式地址直接给出4.3MOV AX,0123H1173. 隐含寻址操作数地址隐含在操作码中ADDA操作数主存寻址特征AACC暂
57、存ALU另一个操作数隐含在 ACC 中如 8086MUL 指令被乘数隐含在 AX(16位)或 AL(8位)中MOVS 指令源操作数的地址隐含在 SI 中目的操作数的地址隐含在 DI 中 指令字中少了一个地址字段,可缩短指令字长 4.31184. 间接寻址EA =(A)有效地址由形式地址间接提供 OPA寻址特征 AEA主存 EAA1EA A1主存 EA10 执行指令阶段 2 次访存 可扩大寻址范围 便于编制程序 OPA寻址特征 A一次间址多次间址操作数 操作数 多次访存4.31195. 寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征 寄存器个数有限,可缩短指令
58、字长操作数R0RiRn寄存器有效地址即为寄存器编号4.3120EA = ( Ri )6. 寄存器间接寻址 有效地址在寄存器中, 操作数在存储器中,执行阶段访存操作数 主存OPRi寻址特征 便于编制循环程序地址 R0RiRn寄存器有效地址在寄存器中4.31217. 基址寻址(1) 采用专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器OPA操作数 主存寻址特征ALUBR 可扩大寻址范围 有利于多道程序 BR 内容由操作系统或管理程序确定 在程序的执行过程中 BR 内容不变,形式地址 A 可变4.3122(2) 采用通用寄存器作基址寄存器 操作数 主存 寻址特征ALUOPR0A
59、R0 作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器通用寄存器 R0Rn-1R1 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 A 可变4.31238. 变址寻址EA = ( IX ) +AOPA操作数主存寻址特征ALUIX 可扩大寻址范围 便于处理数组问题 IX 的内容由用户给定 IX 为变址寄存器(专用) 在程序的执行过程中 IX 内容可变,形式地址 A 不变通用寄存器也可以作为变址寄存器4.31249. 相对寻址 EA = ( PC ) + A A 是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令
60、 操作数寻址特征ALUOPA相对距离 A1000PC 主存1000AOP4.3125 (1) 相对寻址举例 M 随程序所在存储空间的位置不同而不同EA = ( M+3 ) 3 = M 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令 BNE 与 指令 ADD X, D 相对位移量不变 3* 指令 BNE 操作数的有效地址为 3* 相对寻址特征*4.3126(2) 按字节寻址的相对寻址举例OP位移量2000 H2008 H8JMP * + 8OP06 H2000 H2008 H8设 当前指令地址 PC = 200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省长沙市师大附中教育集团第十2025-2026学年中考复习全程精练模拟卷(全国卷)数学试题含解析
- 脊椎骨折患者的职业康复与重返工作
- 山东南山集团东海外国语校2026年初三下学期第三次验收物理试题理试卷含解析
- 江苏省溧水区重点中学2026届初三期中考试数学试题试卷含解析
- 河北省石家庄高邑县联考2026年初三下学期第一次月考(数学试题-文)试卷含解析
- 河南省安阳市六十三中重点达标名校2026年初三下学期5月适应性考试物理试题含解析
- 福建省泉州2025-2026学年初三年级物理试题二模试题含解析
- 2026年浙江省绍兴市诸暨市浣江教育集团中考物理试题仿真卷:物理试题试卷(3)含解析
- 张家港市2025-2026学年初三考前适应性测试物理试题含解析
- 市场研究深度分析:2026年中国风电运维行业市场全景调查及投资前景预测报告
- 2026湖南张家界市桑植县招聘城市社区专职工作者20人考试参考试题及答案解析
- 2025年国家保安员资格证考试题库+答案
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人考试备考试题及答案解析
- (新教材)2026年春期人教版三年级下册数学教学计划+教学进度表
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 2023版思想道德与法治专题4 继承优良传统 弘扬中国精神 第2讲 做新时代的忠诚爱国者
- 林义《社会保险基金管理》(第2版)笔记和课后习题详解
- 2023年安徽汽车职业技术学院单招职业适应性测试题库及答案解析
- 拉丁舞比赛服饰装饰元素的演变,服装设计论文
- YY/T 0698.2-2022最终灭菌医疗器械包装材料第2部分:灭菌包裹材料要求和试验方法
- 二次函数中几何图形的最值问题课件
评论
0/150
提交评论