1、计算计组成原理 串 讲,一、 计算机系统概论,一冯诺依曼型计算机的主要设计思想是什么?其要点是什么? 1基本思想:程序存储、按地址顺序执行。 2要点:程序和数据都用二进制表示。 二计算机的硬件系统由哪些部件组成?各部件的主要功能是什么? 硬件:计算机中的硬件是由有形的电子线路和物理装置等构成。它包括计算机的五大部件,由运算器、控制器、存储器、输入设备和输出设备组成。存储程序并按地址顺序执行,这是冯 诺依曼型计算机的工作原理,也是计算机自动化工作的关键。 CPU : 运算器和控制器称为中央处理器( Central Processing Unit CPU ) 主机: CPU 和内存储器合称为主机。
2、,三计算机的软件系统 软件系统是指挥整个计算机硬件系统工作的程序集合。计算机软件一般分为系统软件和应用软件。 四计算机系统的层次结构 (功能结构、语言结构) 计算机系统是一个由硬件、软件组成的多级层次结构,它通常由微程序级、机器语言级、操作系统级、汇编语言级和高级语言级组成。微程序级、机器语言级是计算机的电子线路与物理逻辑。,二、数据信息的表示方法,一.了解各种进制数据的表示、各种进制数值之间的转换及各种进制数与真值之间的转换原理。 数据表示-常用的信息编码 1)二进制(后缀B)、八进制(后缀O)、十六进制(后缀H)、BCD 码 2)各种进制数值之间的转换 - 重点掌握 二 十进制之间的转换
3、3)比较不同进制数值的大小 注意:必须在同一种进制下比较大小。,(1)十进制转换为二进制方法:整数部分除2取余,小数部分乘2取整。 (2)二进制转换为八进制方法:以小数点为界,整数部分从右向左每三位分为一组,最左端不够三位补零;小数部分从左向右每三位分为一组,最右端不够三位补零;最后将每小组转换为一位八进制数。 (3)二进制转换为十六进制方法:以小数点为界,整数部分从右向左每四位分为一组,最左端不够四位补零;小数部分从左向右每四位分为一组,最右端不够四位补零;最后将每小组转换为一位十六进制数。,二. 数的机器数(三码)表示 机器数:将数据的符号数码化。用“ 0”表示正号,用“1”表示负号。机器
4、数有原码、反码和补码三种表示方法。 正数的原码、补码和反码三码同形,符号位都为“ 0”,数值部分与真值数值部分相同。 X原=X补=X反= 0 X1X2 Xn。 负数的原码、补码和反码的符号位都为“ 1”原码的数值部分与真值的数值部分相同,反码的数值为原码的数值各位求反,补码的数值部分在反码数值部分末位加“ 1” 。,设机器字长为n+1位,1、定点数,定点机,小数定点机,整数定点机,原码,补码,反码,(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),数的表示范围,三
5、. 浮点数的表示方法 1. 任意一个浮点数可以写成 N = M 2E式中: E 为数 N 阶码,阶码指明数据中的小数点的位置;M为N的尾数,尾数M表示数N的有效数字,它是小于1的数。所以浮点数由阶码和尾数两部分组成。 2. 浮点数的表示范围和规格化 1)在相同位数情况下,浮点数的表示范围比定点数大,阶码和有效值均用补码表示,浮点数的表示范围,2)浮点数的规格化 以补码表示为例: 正数规格化后,尾数的形式为 01XXXX 负数规格化后,尾数的形式为 10XXXX 规格化后的正数:尾数最大值为 01111 尾数最小值为01000即 (1/2) m 1 规格化后的负数:最大值为 10111 最小值为
6、 10000 即-1m-(1/2),四. 十进制数的二进制编码(BCD码) 用四位二进制数码表示一位十进制数(8421码) 如BCD码 0001 0000 相当于十进制10,不等于( 0001 0000 )2。 五. 非数值数据的表示法 字符的表示方法 (1)字符形式一个字节放一个十进制数或符号位的ASCII编码值。 (2)压缩的十进制数形式一个字节放两个十进制数,符号位占半个字节。 ASCII 码:美国国家信息交换标准码,每个字符用七位二进制编码表示,七位二进制编码共可表示 128个字符。,六. 数据信息的单位和长度 1 . 数据的单位 位(bit):每一个二进制数据代码,位是数据的最小单位
7、。对于二进制数只有 0或1两个不同的数 字节(byte):一个字节由8位二进制数位组成。字节是数据中最基本的单位。 字(word):一个字包含若干位或几个字节。计算机常以“字”为单位进行数据处理。字又称为机器字。 2. 机器字长 字长:指运算器一次运算二进制数的位数,计算机的功能设计决定了计算机的字长,常用的机器字长有 8位、16位、32位及64位。,基本概念 1.原码:带符号数据表示方法之一,一个符号位表示数据的正负,0代表正号,1代表负号,其余的代表数据的绝对值。 2.补码:带符号数据表示方法之一,正数的补码与原码相同,负数的补码是符号位是1,其余二进制位按位取反后在最低位上加1。 3.反
8、码:带符号数据的表示方法之一,正数的反码与原码相同,负数的反码是符号位是1,其余二进制位按位取反。 4.阶码:在浮点数据编码中,表示小数点的位置的代码。 5.尾数:在浮点数据编码中,表示数据有效值的代码,6.机器零:在浮点数据编码中,阶码等于或小于它所表示的最小数或尾数为0时代表的0值。 7.上溢:指数的绝对值大于数据编码所能表示的数据范围。 8.下溢:指数的绝对值小于数据编码所能表示的数据范围。 9.规格化数:在浮点数据编码中,为使浮点数具有唯一的表示方式所作的规定,规定尾数部分用纯小数形式给出,而且尾数的绝对值应大于1/R。 10.Booth算法:一种带符号数乘法,它采用相加和相减的操作计
9、算补码数据的乘积。,三、运算方法及其实现,一补码加减法运算基础 1补码加法 运算公式为: X补Y补=XY补 2补码减法 运算公式为: X补Y补=XY补 通过Y补 求得 Y补 可以将减法运算转化为补码的加法运算。 已知 Y补求 Y补的法则是:对 Y补各位(包括符号位)取反,末位加1,就可以得到 Y补,补码加减法运算法则:(1)参加运算的数都用补码表示,相加结果为补码。如果运算结果符号位为 0,表明运算结果为正;如果符号位为1,则表明结果为负。 (2)数据的符号与数据一样参加运算。 (3)求差时将负减数求补,用求和代替求差,将减法运算转化为补码的加法运算。 (4)符号位的进位为模值,应该去掉。,二
10、溢出判断 1. 运算过程中,如果运算结果超出了数的表示范围的现象称溢出。若运算结果为正,绝对值超过表示范围时,称为正溢 。运算结果为负,绝对值超过表示范围时,称为负溢 。 2. 溢出产生的条件:仅当两加数符号相同时,运算结果可能发生溢出。对于加法,只有正数加正数和负数加负数两种情况下才会产生溢出;符号不同的两个数相加不会产生溢出。对于减法,只有正数减负数和负数减正数两种情况下才会产生溢出;符号相同的两个数相减不会产生溢出。,3检验溢出的方法 单符号位法: (1) 判两加数的符号位与结果的符号位是否相异,相异则溢出: 式中: X0、Y0表示两加数的符号位,Z0表示和的符号位 (2) 判是否同时产
11、生最高数位进位与符号位进位,仅产生一个进位时则溢出:V = Cn Cn-1 式中: Cn表示符号位进位; Cn-1表示最高数位进位,双符号位法(变形补码):双符号位的补码称为“变形补码”或“模 4补码”。采用变形补码后,加减法的运算公式同样成立,即: X补Y补 =XY补( mod4 ) X补Y补=X补Y补( mod4 ) 正数的变形补码符号用“ 00 ”表示,负数的变形补码符号用“ 11 ”表示:第一符号位Sf1,第二符号位Sf2, 取双符号位运算,当结果的两个符号位相异时,则产生溢出(结果符号取高位符号):溢出 V = Sf1Sf2 ,运算结果不论溢出与否,第一符号位总是表示结果的正负 。1
12、0是负溢出,01是正溢出。,三. 乘除法运算 1. 原码一位乘法 运算规则 (1)操作数、结果用原码表示; (2)绝对值运算,符号单独处理; (3)被乘数(B)、累加和(A)取双符号位; (4)乘数末位(Cn)为判断位,其状态决定下步操作; (5)n位数参加运算作n次循环(累加、右移),2. 补码位乘法(比较法、Booth算法)的运算法则如下: (1) 被乘数一般取双符号位参加运算。 (2) 乘数可取单符号位以决定最后一步是否需要校正,即是否加X补。 (3) 乘数末位增设附加位yn1,且初值为0。 (4) 由于求得一次部分积要右移一位,yn与yn1位就构成了各步运算的判断位。 (5) 按照上述
13、算法进行n1步操作,但n1步不再移位,仅根据y0与y1的比较结果作相应的运算即可,1.0 : X补修正 0.1 : X补修正 0.0 : 不修正 1.1 : 不修正,3. 原码位除法 方法:两个原码表示的数相除时,商的符号由两数的符号位异或求得,商的数值部分由两数的数值部分相除求得。 原码恢复余数法 (1)A、B双符号位,X、Y绝对值,X绝对值 Y绝对值 。 (2)运算结束后,余数乘以2-n,与被除数同号。 (3)求n位商,上商n+1次,第一次上商判溢出,原码不恢复余数法(加减交替法) 运算规则:当余数为正时,商上 1,余数左移一位,减去除数;当余数为负时,商上0,余数左移一位,加上除数。 (
14、1)求n位商,上商n+1次,第一次上商判溢出;若第n+1步余数为负,则第n+2步恢复余数,不移位。 (2)用移位的次数判断除法是否结束。,4. 补码位除法 符号位与数值位一起参加运算,商的符号与数值可由统一的算法求得。 运算中必须比较被除数(余数)与除数的大小,并根据比较结果上商。 为避免溢出,要求被除数的绝对值一定小于除数的绝对值。 补码不恢复余数法运算法则 (末位恒置1) 被除数与除数同号 被除数除数 被除数与除数异号 被除数除数 余数与除数同号,商上 1 余数左移一位除数 余数与除数异号,商上 0 余数左移一位除数,四. 浮点数加减法运算步骤 1.对阶:将两数的小数点位置对齐的过程。 对
15、阶的原则:小阶码向大阶码看齐。 对阶的方法: 若 mn ,则将操作数y的尾数右移一位,y 的阶码n加1,直到 m=n 。 若 mn ,则将操作数x的尾数右移一位,x 的阶码m加1,直到 m=n 。 2. 尾数相加 当两个浮点数的阶码相等,就可以执行尾数相加操作。尾数相加与定点数的加法相同。,3. 结果规格化 1)将运算结果规格化,先使尾数的符号位扩展为两位, 当结果的尾数部分,不是 11.0或 00.1 可能需要左规(尾数左移成规格化数),也可能需要右规(尾数右移成规格化数)。 2) 当尾数符号为 01 或 10 时需要右规: 右规的方法是尾数连同符号位右移一位,和的阶码加 1 。右规处理后就
16、可得到 00.1 或 11.0 的形式,即为规格化数。右规: 尾数运算结果已溢出(两符号位相异),需修正。 3) 当尾数符号为 11.1 或 00.0 时需要左规: 左规的方法是尾数连同符号位左移一位,和的阶码减 1 。直到尾数部分出现 11.0 或 00.1 的形式为止。,4.舍入:0舍1入法 “恒置1“法:只要尾数最低位为1或移出的几位中有为1 的数,则在最低位置1 5. 判溢:判阶码是否溢出 * 阶码正常-运算正常结束; * 阶码下溢-置运算结果为机器零; * 阶码上溢-置溢出标志。,四、 存储系统,一. 基本概念 1. 存储器的功能 具有稳定的记忆能力;能快速完成读/写操作;计算机中用
17、来存放程序和数据(以二进制方式存放) 2. 存储系统: 包括存储器以及管理存储器的软硬件和相应的设备 存储介质:能存放二进制信息的物理器件。存储位:存储器中,存放信息的最小单位。存储单元:由若干存储位组成一个存储单元。字单元:存放一个字。 字节单元:存放一个字节(八位二进制位)。存储体:若干存储单元组成一个存储体。,存储单元地址:每一个存储单元,有一个编号,这个编号就称为该单元的地址。 字节地址:若一个存储单元存放一个字节,则相应的地址称字节地址。 字地址:若一个存储单元存放一个机器字,则相应的地址称字地址。 字节编址 - 计算机可编址的最小单位是字节。 字编址 - 计算机可编址的最小单位是字
18、。 存储器的基本操作:写入信息(存数)和读出信息(取数)。,RAM:随机访问存储器,能够快速方便的访问地址中的内容,访问的速度与存储位置无关。 ROM:只读存储器,一种只能读取数据不能写入数据的存储器。 SRAM:静态随机访问存储器,采用双稳态电路存储信息。 DRAM:动态随机访问存储器,利用电容电荷存储信息。 相联存储器:一种按内容访问的存储器,每个存储单元有匹配电路,可用于cache中查找数据。 多体交叉存储器:由多个相互独立、容量相同的存储体构成的存储器,每个存储体独立工作,读写操作重叠进行。,固件:固化在硬件中的固定不变的常用软件。 虚拟存储器:为了扩大容量,把辅存当作主存使用,所需要
19、的程序和数据由辅助的软件和硬件自动地调入主存,对用户来说,好像机器有一个容量很大的内存,这个扩大了的存储空间称为虚拟存储器 层次化存储体系:把各种不同存储容量、不同访问速度、不同成本的存储器件按层次构成多层的存储器,并通过软硬件的管理将其组成统一的整体,使所存储的程序和数据按层次分布在各种存储器件中,存储器的层次结构主要体现在Cache主存和主存辅存这两个存储层次上。 Cache主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。 主存辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的
20、存储器其容量和位价接近于辅存,而速度接近于主存。,把程序中最近常用的部分驻留在高速的存储器中一旦这部分变得不常用了,把它们送回到低速的存储器中这种换入换出是由硬件或操作系统完成的,对用户是透明的力图使存储系统的性能接近高速存储器,价格接近低速存储器,虚拟存储系统与Cache存储系统的关系相同点:都基于局部性原理,两种存储系统的主要区别:,段式管理:一种虚拟存储器的管理方式,把虚拟存储空间分成段,段的长度可以任意设定,并可以放大或缩小。 页式管理:一种虚拟存储器的管理方式,把虚拟存储空间和实际存储空间等分成固定容量的页,需要时装入内存,各页可装入主存中不同的实际页面位置。 段页式管理:一种虚拟存
21、储器的管理方式,将存储空间逻辑模块分成段,每段又分成若干页。,3. 存储器的主要技术指标 1)存储容量: 存放二进制信息的总数,通常以字节( Byte) 为单位,B 、KB 、MB 、GB 、TB 容量 =字数字长 容量越大存放信息越多2)存取时间: 是存储器从接收到寻找存储单元的地址码开始,到读出或写入数据为止所需的时间3)存取周期: CPU连续两次访问存储器所需要的最短时间间隔。 存取时间存取周期4)存储器带宽:单位时间内存储器所存取的信息量,若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少? 解:存储器带宽 = 1/200ns 32位 = 160M位/秒 = 2
22、0MB/S = 5M字/秒,4. 存储器的分层结构 现代计算机是由高速缓冲存储器、主存和外存组成一个完整的存储系统 -三级存储系统。 5. 高速缓冲存储器 ( Cache )的作用 为解决 CPU与主存之间速度不匹配的问题。由于程序访问的局部性,可将某一块预先从主存调往高速缓存,高速缓存高速地向 CPU提供指令和数据,从而减少CPU访问主存的次数,加速程序的运行。,直接映象:cache的一种地址映象方式,一个主存块只能映象到cache中的唯一一个指定块。cache的块号i和主存的块号j有如下函数关系:i = j mod C (C为cache中的总块数2c) 全相联映象:cache的一种地址映象
23、方式,一个主存块可映象到任何cache块。 组相联映象:cache的一种地址映象方式,将存储空间分成若干组,各组之间用直接映象,组内各块之间用全相联映象。Cuv (u是Cache的组数,v是每组的行(块)数),cache的块号i和主存的块号j有如下函数关系:组号:qj mod u; i=q*v + k(k从0到v-1),某计算机的CACHE-主存层次采用组相联映射方式,页面大小为128B,CACHE容量为64页,按4页分组,主存容量为4096页,问 (1)主存地址共需多少位? (2)主存地址字段中主存字块标记,组地址标记和页内地址各需多少位? (3)说明层次结构的存储系统中CACHE和虚拟存储
24、器的作用有何不同。解: (1)主存容量4096128B=219 故主存地址共有19位 (2)页内地址7位 组地址4位 主存字块标记19748 (3)引入CACHE结构的目的是为了解决主存和CPU之间速度匹配问题; 而采用虚拟存储结构目的是解决主存容量不足的问题,Cache的性能评价 命中率Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数 cache存取时间为tc ,命中率为h,主存的存取时间为tm ,则系统平均存取时间为:ta = h * tc+(1- h) * (tm +tc) 存储系统的访问效率e= tc / ta,6. 虚拟存储器 定义:使计算机具有外存的容量,接近于主存
25、的速度和外存的位成本。虚拟存储器只是一个容量非常大的存储器逻辑模型,不是任何的实际物理存储器, 是指“主存外存”层次,虚拟存储空间是靠外存来支持的。 它借助于磁盘等辅助存储器来扩大主存容量。这个扩大了的存储空间称为虚拟存储器。 7.物理地址(实地址): 物理地址 由 CPU 地址引脚送出,用于访问主存的地址。地址总线为 m 位,空间为 2m大小。,8. 虚拟地址:程序的逻辑地址,程序员编程使用的地址。虚拟存储器提供一个比实际主存大得多的程序地址空间。 主存外存层次的基本信息传送单位 1) 段:是利用程序的模块化性质,按照程序的逻辑结构划分的多个相对独立部分,如、过程、子程序、数据表、阵列等。
26、优点:段的分界与程序的自然分界相对应,易编译、管理、修改、和保护,也便于多道程序共享。 缺点:段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦。,2) 页:基本信息传送的单位是定长的页,主存也被划分为等长的固定区域(页)。 优点:页面起点终点地址固定,造页表方便。 缺点:不是逻辑上独立的实体,所以处理、保护和共享都不及段式来得方便。 页式虚拟存储器 含义: 把存储空间按页分配的存储管理方式,页式虚拟存储器是把虚拟存储空间和实际存储空间等分成固定容量的页,各虚拟页可装入主存中不同的实际页面位置,主存中的这个页面存放位置称为页框架。,地址变换方法 : (1)假定虚拟地址空间为1MB,虚拟地
27、址长为20位,把它分成2048页,每页512个字。 其格式为 : 其中:页号 11位,211 =2048页,页号指出2048页的哪一页,页内地址9位29 =512,页内地址指出,该地址在页内的位置。 (2)又假定主存地址空间为64KB,页的大小与虚存相同,可分为128个页 由此说明:用户使用虚地址时 27 =128页,至少有1920页在外存中。 (3)根据页表进行地址变换,一个虚拟存储器有8个页面,页面大小为1024字,内存有4个页面框架。页表的内容为:虚页号 实页号0 31 12 -3 - 4 2 5 -6 07 - (1) 问哪些虚拟地址将引起页面失效? (2) 对应于以下虚拟地址的主存地
28、址是什么? (a) 0 (b) 3728 (c) 1023 (d) 1024 (e) 1025 (f) 7800 (g) 4096,答:将上述地址转换为二进制,页内地址10位,高位为页号,查表后替换为实页号 (1) 虚页号为2、3、5、7的页面将引起页面失效。 (2) (a) 虚页号=0,页内地址=0,实页号=3,主存地址为3x1024=3072(b) 虚页号=3,页面失效(c) 虚页号=0,页内地址=1023,实页号=3,主存地址为3x1024+1023=4095(d) 虚页号=1,页内地址=0,实页号=1,主存地址为1024(e) 虚页号=1,页内地址=1,实页号=1,主存地址为1x102
29、4+1=1025(f) 虚页号=7,页面失效(g) 虚页号=4,页内地址=0,实页号=2,主存地址为2x1024=2048,二. 存储器芯片与 CPU的连接 芯片的扩展 : 由多片存储器芯片组成存储器,要采用字位扩展法。 (1)位扩展法-当存储芯片所能提供的数据位数不能满足存储器的字长要求时,采用位扩展法进行扩展 方法: 各芯片的数据线分别接到数据总线的各位上; 各芯片的地址线并接在一起,连到相应的地址总线各位; 各芯片的控制线并接在一起,连到相应的控制线上 。,(2)字扩展法-用存储容量较小的芯片组成容量较大的存储器时,需采用字扩展法进行扩展。即采用多片串联的方法,扩大容量。 方法: 将各存
30、储芯片片内地址线、数据线、读/写控制线并联,接到相应的总线上; 将地址线的高位送地址译码器产生片选信号,接各存储芯片的 CS端,以选择芯片。 (3)字位扩展法,刷新对DRAM定期进行的全部重写过程; 刷新原因因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作; 常用的刷新方法有三种集中式、分散式、异步式。 集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新; 分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间; 异步式:是集中式和分散式的折衷。,五、指令系统,一. 基本概念 1. 指令:指挥计算机工作的指示和命令 ,控制器发布的操作命令称指令。 2.
31、 指令系统:计算机中所有指令的集合。 计算机的程序是由一系列机器指令组成的。 从计算机组成的层次结构来说,计算机的指令有微指令(硬件)、机器指令和宏指令(软件)之分。,二. 指令格式 指令字用二进制代码表示的结构形式。一条指令的结构可用如下形式来表示:指令由操作码和地址码两部分组成。 1)每条指令都用一个唯一的代码来表示其操作性质,即操作码。n位操作码可表示 2n条指令。 固定格式(定长操作码) 可变格式(扩展操作码)-操作码的位数随地址数的减少而增加 2)地址码 根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前二地址和一地址指令格式用得最多。,三. 寻址方式: 寻
32、找指令或操作数的有效地址的方式。 1.指令的寻址方式 顺序寻址方式: 由 CPU 中程序计数器( PC )对指令进行顺序计数。 PC 中开始时存放程序的首地址,然后每执行一条指令, PC 自动加 1,指出下一条指令的地址,直至程序结束。 跳跃寻址方式: 当程序中出现分支或循环时,下一条指令的地址不是通过程序计数器 PC自动加1获得,而是由指令本身给出。指令系统中的条件转移指令和无条件转移指令是通过跳跃寻址方式实现的。,2.操作数寻址方式 操作数寻址方式就是形成操作数有效地址E的方法。目前常用的操作数寻址方式有立即寻址、直接寻址、间接寻址、相对寻址、寄存器寻址、变址寻址等 寻址过程: 把 X 和
33、 D 的不同组合变换成有效地址的过程。 OP : 操作码 X :寻址特征码 D :形式地址或称偏移量 立即寻址:指令的地址字段指出的不是操作数的地址而是操作数本身。特征位X指出的是立即寻址; D不是形式地址,而是操作数。, 直接寻址:指令的地址字段直接指出操作数的地址, 此时特征位X指出为直接寻址,形式地址D给出操作数的地址。(即 D 所指示单元中的内容,才是操作数) E=D 间接寻址:间接寻址是相对直接寻址而言的,形式地址 D 不是操作数的地址,而是操作数地址的地址。 D是一个间接地址,E=(D) 相对寻址:由程序计数器 PC 中的内容加上指令中的形式地址 D ,形成操作数的有效地址。 此时
34、, X 指示为相对寻址方式, PC 中的内容就是当前指令的地址,相对即是相对当前指令地址。E=(PC) D, 寄存器寻址:操作数存在中央处理器某个寄存器中,不需要访问主存。 X 特征码表示寄存器寻址,形式地址 D 表示通用寄存器号。E=Ri 寄存器间接寻址:E=(Ri) 变址寻址: X 特征码指定为变址寻址方式,在变址方式下,指定变址寄存器来存放寻址的修改量。 有效地址: E=(IR)D 基址寻址:指定基址寄存器来存放寻址的基准量。E=(BR)D,六、 中央处理器,CPU 的 组成 传统CPU 的组成:运算器、控制器 现代的CPU的基本组成:运算器、 Cache 和控制器 运算器 组成:算术逻
35、辑部件 ( ALU ) ,通用寄存器组 GR ,输入选择器 ,移位器等组成。 功能:接受控制器送来的命令而动作,负责对数据进行 数据加工,执行算术运算、逻辑运算及逻辑测试。,控制器 组成: 程序计数器( PC ) ,指令寄存器( IR ) ,指令译码器,微操作产生部件,时序发生器等组成。 功能:控制器接收从主存取来的指令,将其解释成一组具有时间标志的控制信号,指挥运算器,主存和外设动作。完成指令所指定的操作(即解释指令、发布控制命令)。,微操作产生部件 1. 中央处理器的控制流程 指令的执行过程可以包括取指令、指令译码(分析指令)、取操作数和执行指令。而指令一进入指令寄存器,就被解释成一组微操
36、作控制信号,用来控制取操作数,执行指令操作码字段指定的功能。然而,取操作数,执行完成指定的功能都要依靠指令寄存器(IR)、程序计数器(PC)、通用寄存器组 GR和程序状态字寄存器 PSW四个寄存器,使信息在其间传送。,控制信息流动,必须在各寄存器之间建立数据通路。“数据通路”描述了信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。 建立数据通路的任务,是由“操作控制部件”来完成。 控制流程的实质是周而复始地 取指令 指令译码( 分析指令 ) 取操作数 执行指令 。,2. 操作控制器功能 操作控制部件的功能就是根据指令操作码和时序信号、条件及状态信息进行组合,
37、形成各种具有时间标志的操作控制信号(称微操作控制序列),以便正确地建立数据通路,从而完成取指令和执行指令的控制。 信息流的控制就是靠把微操作产生部件产生的微操作控制序列(即微操作控制信号),送到各个部件的控制门触发器或锁存器。去打开或关闭某些特定的门电路,使数据信息按事先规定好的路径,从一个功能部件传送到另一个功能部件,实现对数据的加工、处理。,3. 微操作产生部件的结构:组合逻辑型(组合逻辑控制器)、存储逻辑型(微程序控制器) 4. 微操作产生部件的组成 硬布线控制器 -采用时序逻辑技术来实现 微程序控制器 -采用存储逻辑来实现 5. 时序发生器 CPU时序就是CPU执行一条指令时,所需要的
38、时间序列,时序发生器产生一组时序信号及一系列脉冲与电位,送到微操作产生部件,对各种微操作控制信号进行定时控制。,指令周期的基本概念 1.指令周期:将一条指令从取出到执行完成所需要的时间称为指令周期。 CPU 每取出、执行一条指令,都要完成一系列的操作,由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期是不尽相同的。 2.机器周期:CPU同主存或外设进行一次信息交换所需的时间。 3.时钟周期 :CPU执行一个微操作的最小时间单位。 一个指令周期常用若干个机器周期表示,每个机器周期又包括若干个时钟周期 机器周期对应指令执行的不同阶段,如取指周期、取操作数周期、执行周期。,指令的
39、微操作序列 指令流程图只能反映指令操作级的执行过程,指令的微操作序列从微操作级讨论指令的执行过程。 指令从主存储器取出,经控制器解释成一组微操作序列,控制器就是利用这组微操作序列去控制相应的数据通路,使数据信息在其中流动并被加工处理,从而实现指令所规定的动作。 指令执行周期:一个指令周期中,每个机器周期都有一定的持续时间,各个周期之间有严格的次序,每个机器周期内的各个微操作也都有严格的时序,所以CPU执行指令的过程实质上也是时序控制的过程。 三级时序系统: 采用三级体制 : 主状态周期 - 节拍电位 - 节拍脉冲 (指令周期) (CPU周期) (时钟周期),微程序控制器 1基本概念 微命令:采
40、用微程序控制的计算机中,称那些打开或关闭控制门的控制命令(或微操作控制信号)为微命令。由微命令控制实现的过程称微操作。 微指令:微指令是由若干微命令组合而成,这些微命令的组合产生一组控制信号,控制执行相应的一组操作。 微程序 :一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常叫做 微程序。, 控制存储器:控制存储器用于存放实现全部指令的所有微程序。它是一种只读存储器,一旦微程序固化,机器运行时只读不写。 微指令周期(微周期):读出一条微指令和执行这条微指令所需要的时间总和称为一个微指令周期。,一条机器指令对应一段微程序,这段微程序是由若干条微指令序列组成的。因此,一条机
41、器指令的功能是由若干条微指令组成的序列来实现的。微程序存放于控制存储器中。 微命令的编码方法是指微命令在操作控制字段中的表示方法,常见的微命令组合与编码方法有:直接控制法、字段直接编码法及字段间接编码法三种 微指令的格式 -水平型微指令和垂直型微指令 产生后继微指令的微地址的方法有增量方法、增量与下址字段结合方式、多路转移方式、微中断方式等。,如何形成控制不同微操作序列的时序控制信号的方法,称为控制器的控制方式。 控制方式通常分为同步控制方式、异步控制方式、同异步联合控制方式三类。,八、辅助存储器,磁表面存储器工作原理:磁性材料沉积在基体上形成记录介质,通过磁头与记录介质的相对运动来读写信息。
42、 光存储器记录原理:用激光在具有感光特性的介质上非接触地记录高密度信息,以介质材料的光学性质的变化来表示0或1。 磁致电阻效应:将某些磁性材料放在磁场中,如果通以一恒定电流,当外加磁场改变时,该材料的电阻率也随之变化,这就是磁致电阻效应。 磁记录编码方式:是一种编码方法,按某种规律将一串二进制数字信息变换成存储介质磁层的相应磁化翻转形式,并经读写控制电路实现这种转换规律。,常用记录方式可分为归零制(RZ),不归零制(NRZ),见1就翻的不归零制(NRZ1),调相制(PM),调频制(FM)和改进调频制(MFM)六大类。需要外同步的记录方式有NRZ、NRZ1,具有自同步能力的记录方式有RZ、FM、
43、PM、MFM。直接从磁盘读出的信号中提取同步信号,这种方法称为自同步,即能从读出的数据(脉冲序列)中提取同步信号。不需要外同步机制。,归零制:写“1”用正脉冲,写“0”用负脉冲,一位信息写完后,电流总回归到零。 不归零制:记录“1”时,用正脉冲,记录“0”时,用负脉冲。磁头中电流不回到零。 见1就翻的不归零制:记录“1”时,磁头线圈中写电流改变方向,使磁层磁化翻转;而记录“0”时,写电流方向维持不变。 调相制:若写“0”时,写电流先负后正;而写“1”时,写电流是先正后负。 调频制:记录“1”时,写电流在位周期中间和边界各改变一次方向;记录“0”时,写电流仅在位周期边界改变一次方向。 改进调频制
44、:记录“1”时,写电流在位周期中间改变方向;记录独立的一个“0”,写电流不改变方向,记录连续的两个或两个以上“0”,写电流在位周期边界改变方向。,硬盘由驱动器(HDD)和控制器(HDC)组成。 在硬盘中信息分布呈如下层次:记录面、圆柱面、磁道、信息块/扇区。 磁盘存储器的技术指标 存储密度:道密度:沿磁盘半径方向单位长度上的磁道数,单位为 道/英寸。位密度:磁道单位长度上能记录的二进制代码位数 ,单位为 位/英寸。面密度:位密度和道密度的乘积。 存储容量=盘面数 每面磁道数 每道扇区数 每扇区存储容量, 平均存取时间:存取时间包括找道时间、等待时间和读写时间。找道时间和等待时间都是随机的,所以
45、取平均时间。 平均存取时间 = 控制延迟 + 寻道时间 + 旋转延迟 + 传输延迟 数据传输率(外部): 指磁盘存储器在单位时间内向主机传送数据的字节数。 数据传输率: Dr=N* V (字节/秒)其中:N-每条磁道容量;V-磁盘旋转的线速度。 非格式化容量最大位密度最内圈磁道周长总磁道数 格式化容量每道扇区数扇区容量总磁道数,磁盘阵列(DiscArray)是由许多台磁盘机或光盘机按一定的规则,如分条(Striping)、分块(Declustering)、交叉存取(Interleaving)等组成一个快速、超大容量的外存储器子系统。它在阵列控制器的控制和管理下,实现快速,并行或交叉存取,并有较
46、强的容错能力。,九、输入输出系统,I/O接口指主机和外设的交接部分,位于系统总线和外设之间,是若干端口加上相应的控制逻辑电路 常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址; I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。,I/O 设备数据传送控制方式 1、程序直接控制传递方式
47、 用I/O指令编程实现信息传送。 2、程序中断控制方式 CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序,处理完毕后自动恢复原程序的执行。 3、直接内存访问方式DMA 直接依靠硬件实现主存与I/O间的数据传送,传送期间不需CPU程序干预。 4、I/O通道控制 5、输入、输出处理机方式,比较程序查询、程序中断和DMA三种方式的综合性能 (1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。 (2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。 (3)程序查询方式传送时,CPU与I/O设备串行工作;程序中断方式时,CPU与I/O设备并行工作
48、,现行程序与I/O传送串行进行; DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。 (4)程序查询方式时,CPU主动查询I/O设备状态; 程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。,(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢; 程序查询方式软件额外开销时间基本没有,因此传输速度比中断快; DMA方式基本由硬件实现传送,因此速度最快。 (6)程序查询接口硬件结构最简单,因此最经济; 程序中断接口硬件结构稍微复杂一些,因此较经济; DMA控制器硬件结构最复杂,因此成本最高。 (7)程序中断方式适用于中、低速设备的I/O交换; 程序查询方式适用于中、低速实时处理过程; DMA方式适用于高速设备的I/O交换。,说明中断和子程序调用的不同 子程序的执行是程序员事先安排好的,而中断服务程序的执行则是由随机的中断事件引起的,比如电源掉电、请求I/O数据传送、现场报警等。 子程序的执行往往与主程序有关,而中断服务程序可能与被中断的程序毫无关系。 有可能出现多个中断事件同时请求的情况,此时,主机就需要进行判优,进而决定为哪一个请求服务。,