1)第一代计算机(1946-1957年)——电子管时代:逻辑元件采用电子管,使用机器语言进行编程
2)第二代计算机(1958-1964年)——晶体管时代:逻辑元件采用晶体管,软件开始使用高级语言,如Fortran
3)第三代计算机(1965-1971年)——中小规模集成电路时代:逻辑元件采用中小规模集成电路,开始有了分时操作系统
4)第四代计算机(1972-现在)——超大规模集成电路时代:逻辑元件采用大规模集成电路和超大规模集成电路,并产生了微处理器
摩尔定律
32位、64位指的是机器字长,是指计算机进行一次整数运算所能处理的二进制数据的位数。
电子计算机可分为电子模拟计算机和电子数字计算机。数字计算机又可按用途分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机6类。
计算机按指令和数据流还可分为:
1)单指令流和单数据流系统(SISD),也即冯诺依曼体系结构
2)单指令流和多数据流系统(SIMD),包括阵列处理器和向量处理器系统
3)多指令流和单数据流系统(MISD),这种计算机实际上不存在
4)多指令流和多数据流系统(MIMD),包括多处理器和多计算机系统
选择题
2.微型计算机的发展以(微处理器)技术为标志
4.只有当程序执行时才能将源程序翻译成机器语言,并且一次只能解释一行语句,边翻译边执行的是(解释)程序,把汇编语言源程序转变为机器语言程序的过程是(汇编)
5.到目前为止,计算机中所有的信息仍以二进制方式表示的理由是(由物理器件的性能决定)
硬件系统和软件系统共同构成了一个完整的计算机系统。对于某一个功能来说,其既可以用软件实现,也可以用硬件实现,则称为软硬件在逻辑上是等效的。
早期的冯诺依曼机的特点:
1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成
2)指令和数据以同等地位存于存储器内,并可按地址寻访
3)指令和数据均用二进制代码表示
4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
5)指令在存储器内按顺序存放
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据
现代计算机已经发展为以存储器为中心,使I/O操作尽可能地绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。
输入设备:键盘、鼠标、扫描仪、摄像机等等
输出设备:显示器、打印机
存储器:主存储器和辅助存储器
主存储器的工作方式是按存储单元的地址进行存取的,称为按地址存取方式。(相联存储器是按内容访问的)
地址寄存器MAR用于寻址,其位数对应着存储单元的个数,MAR的长度与PC的长度相等。
数据寄存器MDR和存储字长相等。
MAR和MDR的位数分别为(地址码长度、存储字长)
注意:MAR和MDR虽然是存储器的一部分,但在现代CPU中却是存在于CPU中的,另外后文提到的高速缓存Cache也是存在于CPU中。
运算器:算术逻辑单元ALU、通用寄存器(累加器ACC、乘商寄存器MQ、操作数寄存器X、变址寄存器IX、基址寄存器BR)、程序状态寄存器PSW
控制器:程序计数器PC、指令寄存器IR、控制单元CU
系统软件、应用软件
注意:数据库管理系统DBMS和数据库系统DBS是有区别的,DBMS是系统软件,而DBS一般由数据库、数据库管理系统、数据库管理员DBA和应用系统构成
机器语言是计算机唯一可以直接识别和执行的语言;
汇编语言的程序必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行;
高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或者直接由高级语言程序翻译成机器语言程序。
注意:(PC)指程序计数器PC中存放的内容,括号不能省略,即(PC)+1->PC不能写成PC+1->PC
选择题
1.完整的计算机系统应包括(配套的硬件系统和软件系统)
2.冯诺依曼机的基本工作方式是(控制流驱动方式)
4.冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是(指令周期的不同阶段)
9.MAR和MDR的位数分别为(地址码长度、存储字长)
12.一个8位的计算机系统以16位来表示地址,则该计算机系统有(2^16=65536)个地址空间
16.将高级语言源程序转换为机器级目标代码文件的程序是(编译程序)
20.相联存储器(既可以按地址寻址又可以按内容寻址)
机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度就越高。
数据通路带宽是指数据总线一次所能并行传送信息的位数。
吞吐量:系统吞吐量主要取决于主存的存取周期
响应时间:通常包括CPU时间(运行一个程序所花费的时间)与等待时间
CPU时钟周期:即主频的倒数,它是CPU中最小的时间单位
主频(CPU时钟频率):主频的倒数是CPU时钟周期,对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
CPI:执行一条指令所需的时钟周期数
CPU执行时间,指运行一个程序所花费的时间
CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
CPU的性能(CPU执行时间)取决于三个要素:主频,每条指令执行所用的时钟周期数(CPI)、指令条数
MIPS:每秒执行多少百万条指令。MIPS=指令条数/(执行时间*10^6)=主频/CPI
MFLOPS:每秒执行多少百万次浮点计算
GFLOPS:每秒执行多少十亿次浮点计算
TFLOPS:每秒执行多少万亿次浮点计算
选择题
4.存储字长是指(存放在一个存储单元中的二进制代码位数)
6.下列关于机器字长、指令字长和存储字长的说法中,正确的是(三者在数值上可能不等、存储字长是存放在一二存储单元中的二进制代码位数,存储字长是MDR的位数)
7.32位微机是指该计算机所用CPU(B能同时处理32位的二进制数)
A 具有32位寄存器 B 能同时处理32位的二进制数 C 具有32个寄存器 D 能处理32个字符
8.用于科学计算的计算机中,标志系统性能的最有用的参数是(C MFLOPS)(科学计算:评估浮点运算的性能)
A 主时钟频率 B 主存容量 C MFLOPS D MIPS
9.若一台计算机的机器字长为4字节,则表明该机器(在CPU中能够作为一个整体处理32位的二进制代码)
10.在CPU的寄存器中,(B指令寄存器)对用户是完全透明的
A 程序计数器 B 指令寄存器 C 状态寄存器 D 通用寄存器
11.计算机操作的最小单位时间是(A 时钟周期)
A 时钟周期 B 指令周期 C CPU周期(又称机器周期,由多个时钟周期组成) D 中断周期
12.CPU的CPI与下列哪个因素无关(A 时钟频率)
A 时钟频率 B 系统结构 C 指令集 D 计算机组织
15.下列关于“兼容”的叙述,正确的是(指计算机软件或硬件的通用性,通常在同一系列不同型号的计算机间通用)
在逻辑功能上,软件和硬件是等效的。在计算机系统中,许多功能既可以由硬件直接实现,也可以在硬件的配合下由软件实现。
翻译程序是指把高级语言源程序翻译成机器语言程序(目标代码)的软件,可以分为两种:一种是编译程序,将高级语言源程序一次全部翻译成目标程序,只要源程序不变,就无须重新编译,目标程序与体系结构相关,但仍不是计算机硬件能够直接执行的程序;另一种是解释程序,翻译一句执行一句,并且不会生成目标程序。
汇编程序把汇编语言源程序翻译成机器语言程序。
在计算机领域中,站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。在CPU中,IR、MAR和MDR对各类程序员都是透明的。
机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含二进制代码的位数。
存储字长:一个存储单元存储二进制代码的长度。
二进制转换为八进制和十六进制:以小数点为界,其整数部分,从小数点开始往左数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,在数的最左边根据需要加“0”补齐;对于小数部分,从小数点开始往右数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,在数的最右边根据需要加“0”补齐。
八进制或十六进制转换为二进制:略。
任意进制转换为十进制:略
十进制转换为任意进制:基数乘除法。对于整数部分用除基取余法;对于小数部分用乘基取整法。
注意:并不是每一个十进制小数都可以准确地用二进制表示,但任意一个二进制小数都可以用十进制小数表示。
二进制编码的十进制数(BCD码):
8421码:设其各位的数值为b3、b2、b1、b0,则权值从高到低依次为8/4/2/1,则它表示的十进制数为D=8b3+4b2+2b1+1b0。如果两个8421码相加之和小于等于(1001),即(9),则不需要修正;如果相加之和大于等于(1010),即(10),则要加6修正。
余3码:在8421码的基础上加上(0011)形成的,即每个数都多余“3”
2421码:权值由高到低分别为2/4/2/1,特点是大于等于5的4位二进制数中最高位为1,小于5的最高位为0。如5为1011而不是0101。
小端模式:先存储低位字节、后存储高位字节的顺序(即从低位字节向高位字节顺序)存放字符串的内容
大端模式:先存储高位字节、后存储低位字节的顺序(即从高位字节向低位字节顺序)存放字符串的内容
奇偶校验码:在原编码上加一个校验位,它的码距等于2,可以检测出一位错误(或奇数位错误),但不能确定出错的位置,也不能够检测出偶数位错误,增加的冗余位称为奇偶校验位。
奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数
偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数
海明(汉明)校验码:不但可以发现错位,还能指出错位的位置,为自动纠错提供了依据。
L-1=D+C且D≥C,即编码最小码距L越大,则其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。
信息位n和校验位k应满足n+k≤2^k-1
求海明码的步骤(略)
循环冗余校验码(CRC):在K为信息码后再拼接R位的校验码,整个编码的长度为N位
选择题
16.能发现两位错误并能纠正1位错的编码是(海明码)
17.在CRC中,接收端检测出某一位数据错误后,纠正的方法是(D)
A 请求重发 B 删除数据 C 通过余数值自行纠正 D 以上均可
18.在大量数据传送过程中,常用且有效的检测法是(CRC)
原码表示法:用机器数的最高位表示该数的符号,其余的各位表示数的绝对值
纯小数的原码定义:若字长为n+1,则原码小数的表示范围为-(1-2^-n)≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 1-x = 1+|x|,0≥x>-1
纯整数的原码定义:若字长为n+1,则原码小数的表示范围为-(2^n-1)≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^n-x = 2 ^n+|x|,0≥x>-2 ^n
注意:真值零的原码表示有正零和负零两种形式:[+0]=00000, [-0]=10000
补码表示法:
纯小数的补码定义:若字长为n+1,则原码小数的表示范围为-1≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 2+x = 2-|x|,0≥x>-1
纯整数的补码定义:若字长为n+1,则原码小数的表示范围为-2^n≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^(n+1)+x = 2 ^(n+1)-|x|,0≥x≥-2 ^n
注意:真值零的补码表示是唯一的:[+0]=[-0]=0.0000
由原码求补码、由补码求原码:
对于正数,补码与原码的表示相同。
对于负数,原码符号位不变,数值部分按位取反,末位加1.
反码表示法:
纯小数的原码定义:若字长为n+1,则原码小数的表示范围为-(1-2^-n)≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 2-2^-n +x,0≥x>-1
纯整数的原码定义:若字长为n+1,则原码小数的表示范围为-(2^n-1)≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^(n+1)-1+x,0≥x>-2 ^n
注意:真值零的原码表示有正零和负零两种形式:[+0]=0.0000, [-0]=1.1111
移码表示法:移码常用来表示浮点数的阶码,它只能表示整数。
[x] = 2^n+x(其中2 ^n>x≥-2 ^n,机器字长为n+1)
注意:
1)移码中零的表示唯一,[+0]=2^n+0=[-0]=2 ^n-0=100…0(n个0)
2)一个真值的移码和补码仅差一个符号位,补码的符号位取反即得移码(1表示正,0表示负,这与其他机器数的符号位取值正好相反)
3)移码全0时,对应真值的最小值-2^n;移码全1时,对应真值的最大值2 ^n -1
4)移码大真值就大,移码小真值就小
不同机器数算术移位后的空位填补规则
码制 | 添加代码 | |
---|---|---|
正数 | 原码、补码、反码 | 0 |
负数 | 原码 | 0 |
负数 | 补码 | 左移添0,右移添1 |
负数 | 反码 | 1 |
逻辑移位:将操作数当做无符号数看待,逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0.
注意:逻辑移位不管左移还是右移,都是添0.
溢出是指运算结果超过了数的表示范围,称大于机器所能表示的最大正数为上溢,小于机器所能表示的最小负数为下溢。
仅当两个符号相同的数相加,或两个符号相异的数相减才可能产生溢出。
补码定点数加减运算溢出判断的方法有3种:
1)采用一位符号位:只要参加运算的两个数符号相同,结果又与原操作数符号不同,则表示结果溢出。
2)采用双符号位:运算结果的两个符号位相同,表示未溢出;运算结果的两个符号位不同,表示溢出,此时最高位符号位代表真正的符号。
00,表示结果为正数,无溢出;
01,表示结果正溢出;
10,表示结果负溢出;
11,表示结果为负数,无溢出。
3)采用一位符号位根据数据位的进位情况判断溢出:如果符号位的进位与最高数位的进位相同,说明没有溢出,否则表示发生溢出。
选择题
6.对真值0表示形式唯一的机器数是(补码和移码)
9.如果X为负数,由[X]补求[-X]补是将([X]补连同符号位一起变反,末位加1)
10.8位原码能表示的不同数据有(255)
要去掉0,0的原码表示有两种,若将题中原码改为反码,也是255,但若改为补码或移码,则有256
47.原码乘法是(先取操作数绝对值相乘,符号位单独处理)
48.x、y为定点整数,其格式为1位符号位,n位数值位,若采用补码一位乘法实现乘法运算,则最多需要(n+1)次加法运算
49.在原码一位乘法中,(符号位不参加运算)
50.原码乘法时,符号位单独处理乘积的方式是(两个操作数符号相“异或”)
51.实现N位(不包括符号位)补码一位乘时,乘积为(2N+1)位
52.在原码不恢复余数除法(又称原码加减交替法)的算法中,(仅当最后一步不够减时,才恢复一次余数)
53.下列关于补码除法正确的是(补码不恢复余数除法中,异号相除时,够减商0,不够减商1)
54.在计算机中,通常用来表示主存地址的是(无符号数)
IEEE754标准中,规格化的短浮点数的真值为(-1)^S1.M2 ^(E-127)
规格化长浮点数的真值为(-1)^S1.M2 ^(E-1023)
其中,s=0表示正数,s=1表示负数;短浮点数E的取值为1~254(8位表示),M为23位,共32位;长浮点数E的取值为1 ~2046(11位表示),M为52位,共64位。
浮点数的加减运算:
1)对阶
2)尾数求和
3)规格化
4)舍入
5)溢出判断
选择题
6.长度相同但格式不同的两种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,则它们可表示的数的范围和精度为(前者可表示的数的范围大但精度低)
7.长度相同但格式不同的两种浮点数,假设前者基数大,后者基数小,则它们可表示的数的范围和精度为(前者可表示的数的范围大但精度低)
19.在浮点数编码表示中,(基数)在机器数中不出现,是隐含的
21.采用规格化的浮点数最主要是为了(增加数据的表示精度)
运算器由算术逻辑单元ALU、累加器、状态寄存器和通用寄存器等组成。运算器的操作和操作种类由控制器决定,运算器处理的数据来自存储器,处理后的结果数据通常送回存储器,或暂存在运算器中。
一位全加器:
和表达式:Si=Ai⊕Bi⊕Ci-1(Ai、Bi、Ci-1有奇数个1,则Si=1,否则Si=0)
进位表达式:Ci=AiBi+(Ai⊕Bi)Ci-1
串行加法器:只有一个全加器
并行加法器:由多个全加器组成,提高并行加法器速度的关键是尽量加快进位产生和传递的速度。
进位表达式:Ci=Gi+PiCi-1,Gi是进位产生函数,Gi=AiBi;Pi是进位传递函数,Pi=Ai⊕Bi
并行加法器的进位通常分为串行进位和并行进位
分组并行进位方式:
单级先行进位方式又称为组内并行、组间串行进位方式;多组先行进位方式又称为组内并行、组间并行进位方式。
选择题
3.在串行进位的并行加法器中,影响加法器运算速度的关键因素是(进位传递延迟)
6.组成一个运算器需要多个部件,但下面(D地址寄存器)不是组成运算器的部件
A 状态寄存器 B 数据总线 C ALU D 地址寄存器(属于存储器)
按在计算机中的作用(层次)分类:主存储器、辅助存储器、高速缓冲存储器Cache
按存储介质分类:磁表面存储器(磁盘、磁带)、磁芯存储器半导体存储器(MOS型存储器、双极型存储器)、光存储器(光盘)
按存取方式分类:随机存储器(静态RAM、动态RAM)、只读存储器(ROM)、串行访问存储器(顺序存取存储器(磁带)、直接存取存储器(磁盘))
按信息的可保存性分类:易失性存储器(RAM)、非易失性存储器(ROM、磁表面存储器、光存储器)
存储容量=存储字数*字长,存储字数表示存储器的地址空间大小,字长表示一次存取操作的数据量
存储速度:数据传输率=数据的宽度/存储周期
存取时间Ta:指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间
存取周期Tm:指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔
主存带宽Bm:又称数据传输率,表示每秒从主存进出信息的最大数量
存取时间不等于存储周期,通常存储周期大于存取时间。
选择题
2.磁盘属于(直接存取存储器(DAM))类型的存储器
5.相联存储器是按(内容指定方式和地址指定方式相结合)进行寻址的存储器
“Cache-主存”:解决CPU和主存速度不匹配的问题
“主存-辅存”:解决存储系统的容量问题
Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都嗯呢该交换信息
注意:主存和Cache之间的数据调动是由硬件自动完成的,对所有程序员均是透明的;而主存和辅存之间的数据调动是由硬件和操作系统共同完成的,对应用程序员是透明的。
Cache中的内容只是主存中内容的一部分,主存中的内容只是辅存中内容的一部分
选择题
4.存储器从速度最快到最慢的排列顺序是(寄存器-Cache-主存-辅存)
1)存储矩阵
2)译码驱动
3)读写电路
4)读写控制线
5)片选线:确定哪个存储芯片被选中
6)地址线:单向输入
7)数据线:双向的,数据线数和地址线数共同反映存储芯片容量的大小。如地址线10根,数据线8根,则芯片容量=2^10*8=8K位
静态随机存储器SRAM:用双稳态触发器(六管MOS)来记忆信息,属于易失性半导体存储器,一般用来组成高速缓冲存储器
动态随机存储器DRAM:利用存储元电路中栅极电容上的电荷来存储信息,一般用来组成大容量主存系统。刷新方式有三种:集中刷新、分散刷新、异步刷新
SRAM | DRAM | |
---|---|---|
存储信息 | 触发器 | 电容 |
破坏性读出 | 非 | 是 |
需要刷新 | 不要 | 需要 |
送行列地址 | 同时送 | 分两次送 |
运行速度 | 快 | 慢 |
集成度 | 低 | 高 |
发热量(功耗) | 大 | 小 |
存储成本 | 高 | 低 |
主要用途 | 高速缓存 | 主机内存 |
掩膜式只读存储器MROM:写入以后任何人都无法改变其内容
一次可编程只读存储器PROM:允许用户用专门设备写入程序,写入后内容就无法改变
可擦除可编程只读存储器EPROM:允许用户写入信息,而且可以对其内容进行多次改写
闪速存储器Flash Memory:在不加电时仍可长期保存信息且能进行快速擦除重写
固态硬盘SSD:用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(Flash芯片)组成
选择题
3.若RAM中每个存储单元为16位,则下面所述正确的是(数据线是16位)
4.DRAM的刷新是以(行)为单位的
14.U盘属于(C只读存储器)类型的存储器
A 高速缓存 B 主存 C 只读存储器 D 随机存取存储器
1)主存储器通过数据总线、地址总线和控制总线与CPU连接
2)数据总线的位数与工作频率的乘积正比于数据传输率
3)地址总线的位数决定了可寻址的最大内存空间
4)控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻
主存容量的扩展:位扩展法、字扩展法、字位同时扩展法
CPU要实现对存储单元的访问,首先要选择存储芯片,即进行片选,然后再为选中的芯片依地址码选择相应的存储单元,以进行数据的存取,即进行字选。
片选信号的产生分为线选法和译码片选法。
双端口RAM:指同一个存储器有左、右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元。
1)两个端口不同时对同一地址单元存取数据(正常)
2)两个端口同时对同一地址单元读出数据(正常)
3)两个端口同时对同一地址单元写入数据(可能会写入错误)
4)两个端口同时对同一地址单元,一个写入数据,另一个读出数据(出现读出错误)
多模块存储器:
单体多字存储器:存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元
多体并行存储器:由多体模块组成,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器,既能并行工作,又能交叉工作
多体并行存储器由分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)
高位交叉编址:高位地址表示体号,低位地址为体内地址
低位交叉编址:低位地址为体号,高位地址为体内地址
流水线方式,存储器交叉模块数应大于等于m=T/r(T为存取周期,r为总线传送周期),连续读取m个字所需时间为t1=T+(m-1)r,而顺序方式连续读取m个字所需时间为t2=mT
高速缓冲技术就是利用程序访问的局部性原理。
当CPU发出读请求时,如果访存地址在Cache中命中,就将此地址转换成Cache地址,直接对Cache进行读操作,与主存无关;如果Cache不命中,则仍需访问主存,并把此字所在的块一次从主存调入Cache内。若此时Cache已满,则需根据某种替换算法,用这个块替换掉Cache中原来的某块信息。
注意:CPU与Cache之间的数据交换以字位单位,而Cache与主存之间的数据交换以Cache块为单位
Cache命中率H=Nc/(Nc+Nm)
平均访问时间Ta=Htc+(1-H)tm
直接映射:j = i mod 2^c(j是Cache的块号,又称行号,i是主存的块号,2 ^c是Cache的总块数)
地址结构为:
主存字块标记 | Cache字块地址 | 字块内地址 |
---|
全相联映射:
地址结构为:
主存字块标记 | 字块内地址 |
---|
组相联映射:将Cache空间分成大小相同的组,主存的一个数据块可以装入到一组内的任何一个位置,即组间采取直接映射,而组内采取全相联映射。
j = i mod Q(j是Cache的组号,i是主存的块号,Q是Cache的组数,Q=1变为全相联映射,Q=Cache块数变为直接映射)
地址结构为:
主存字块标记 | 组地址 | 字块内地址 |
---|
置换算法:
1)随机算法RAND:没有依据程序访问的局部性原理
2)先进先出算法FIFO:没有依据程序访问的局部性原理
3)近期最少使用算法LRU
4)最不经常使用算法LFU
Cache写策略
对于Cache写命中:
1)全写法(写直通法write-through):必须把数据同时写入Cache和主存
2)写回法(write-back):只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存
对于Cache写不命中:
1)写分配法(write-allocate):加载主存中的块到Cache中,然后更新这个Cache块
2)非写分配法(not-write-allocate):只写入主存,不进行调块
非写分配法通常与全写法合用,写分配法通常和写回法合用。
主机和联机工作的辅存共同构成了虚拟存储器,对于应用程序而言,虚拟存储器是透明的。
页式虚拟存储器:以页为基本单位,虚拟空间和主存空间都被划分成同样大小的页,主存的页称为实页,虚存的页称为虚页。把虚拟地址分为两个字段:虚页号和页内地址。
优点是页面的长度固定,页表简单,调入方便。缺点是由于程序不可能正好是页面的整数倍,最后一页的零头将无法利用而造成浪费,并且页不是逻辑上独立的实体,所以处理、保护和共享都不及段式虚拟存储器方便。
段式虚拟存储器:段是按程序的逻辑结构划分的,各个段的长度因程序而异。把虚拟地址分为两部分:段号和段内地址。
优点是段的分界与程序的自然分界相对应,因而具有逻辑独立性,使它易于编译、管理、修改和保护,也便于多道程序的共享;缺点是因为段长度可变,分配空间不便,容易在段间留下碎片,不好利用,造成浪费。
段页式虚拟存储器:把程序按逻辑结构分段,每段再划分为固定大小的页,主存空间也划分为大小相等的页,程序对主存的调入、调出仍以页为基本传送单位。每个程序对应一个段表,每段对应一个页表,段的长度必须是页长的整数倍,段的起点必须是某一页的起点。虚地址分为段号、段内页号、页内地址三部分。
优点是兼具页式和段式虚拟存储器的优点,可以按段实现共享和保护。缺点是在地址变换过程中需要两次查表,系统开销比较大。
快表TLB依据程序执行的局部性原理,快表只是慢表Page的一个副本,而且只存放了慢表中很少的一部分。
查找时,快表和慢表同时进行,快表由于根据内容指定地址,一般使用相联存储器。
注意:TLB是Page的一个很小的副本,所以若TLB命中则Page一定命中。
在同时具有虚拟页式存储器(有TLB)和Cache的系统中,访问顺序为TLB->页表->Cache->主存
虚拟存储器和Cache的不同之处:
1)Cache主要解决系统速度,而虚拟存储器是为了解决主存容量
2)Cache全由硬件实现,是硬件存储器,对所有程序员透明;而虚拟存储器由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,但对应用程序员透明。
3)虚拟存储器系统不命中时对系统性能影响更大。
4)Cache不命中时主存能和CPU直接通信,同时将数据调入Cache中;而虚拟存储器系统不命中时,只能先由硬盘调入内存中,而不能直接和CPU通信。
选择题
2.虚拟存储管理系统的基础是程序访问的局部性原理,此理论的基本含义是(在程序的执行过程中,程序对主存的访问是不均匀的)
6.虚存(对应用程序员透明,对系统程序员不透明)
7.在虚拟存储器中,当程序正在执行时,由(操作系统)完成地址映射。
8.采用虚拟存储器的主要目的是(扩大主存储器的存储空间)
指令的长度是指一条指令中所包含的二进制代码的位数。指令字长取决于操作码的长度、操作数地址码的长度和操作数地址的个数。指令长度与机器字长没有固定的关系。
零地址指令:
1)不需要操作数的指令:空操作指令、停机指令、关中断指令
2)零地址的运算类指令仅用在堆栈计算机中
一地址指令:
1)只有目的操作数的单操作数指令,按A1地址读取操作数,进行OP操作后,结果存回原地址,即OP(A1)->A,如加1,减1,求反、求补等
2)隐含约定目的地址的双操作数指令,按指令地址A1可读取源操作数,指令可隐含约定另一个操作数由ACC(累加器)提供,运算结果也存放在ACC中,即(ACC)OP(A1)->ACC
二地址指令:给出目的操作数和源操作数的地址,其中目的操作数地址还用于保存本次的运算结果,即(A1)OP(A2)->A1
三地址指令:(A1)OP(A2)->A3
四地址指令:(A1)OP(A2)->A3,A4=下一条将要执行指令的地址
选择题
9.能够完成两个数的算术运算的单地址指令,地址码指明一个操作数,另一个操作数来自于(隐含寻址)方式
12.在指令格式中,采用扩展操作码设计方案的目的是(保持指令字长度不变而增加指令的数量)
隐含寻址:在指令中隐含着操作数的地址,累加器ACC对单地址指令格式来说是隐含地址
优点:有利于缩短指令字长
缺点:需增加存储操作数或隐含地址的硬件
立即(数)寻址:指出的是操作数本身,又称为立即数
优点:指令在执行阶段不访问主存,指令执行时间最短
缺点:A的位数限制了立即数的范围
直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即EA=A
优点:简单,指令在执行阶段仅访问一次主存,不需要专门计算操作数的地址
缺点:A的位数决定了该指令操作数的寻址范围,操作数的地址不易修改
间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址,即EA=(A)
优点:可扩大寻址范围,便于编制程序(用间接寻址可以方便地完成子程序返回)
缺点:指令在执行阶段要多次访存(一般问到扩大寻址范围通常都是寄存器间接寻址)
寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=Ri,其操作数在由Ri所指的寄存器内
优点:指令在执行阶段不访问主存,只访问寄存器,执行速度快,支持向量/矩阵运算
缺点:寄存器价格昂贵,寄存器个数有限
寄存器间接寻址:在寄存器Ri中给出的不是一个操作数,而是操作数所在主存单元的地址,即EA=(Ri)
优点:与一般间接寻址相比速度更快
缺点:需要访问主存
相对寻址:把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(PC)+A
优点:操作数的地址不是固定的,随着PC的变化而变化,并且与指令地址之间总是相差一个固定值,因此便于程序浮动,广泛应用于转移指令
基址寻址:将CPU中基址寄存器(BR)的内容加上指令格式中的形式地址A,而形成操作数的有效地址,即EA=(BR)+A
优点:可扩大寻址范围,用户不必考虑自己的程序位于主存的哪一空间区域,故有利于多道程序设计,以及用于编制浮动程序
变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=(IX)+A
优点:可扩大寻址范围,用于处理数组问题
堆栈寻址:硬堆栈、软堆栈
寻址方式 | 有效地址 | 访存次数 |
---|---|---|
隐含寻址 | 程序指定 | 0 |
立即寻址 | A即是操作数 | 0 |
直接寻址 | EA=A | 1 |
一次间接寻址 | EA=(A) | 2 |
寄存器寻址 | EA=Ri | 0 |
寄存器间接一次寻址 | EA=(Ri) | 1 |
相对寻址 | EA=(PC)+A | 1 |
基址寻址 | EA=(BR)+A | 1 |
变址寻址 | EA=(IX)+A | 1 |
选择题
2.指令系统中采用不同寻址方式的目的是(可缩短指令字长,扩大寻址空间,提高编程的灵活性)
3.直接寻址的无条件转移指令的功能是将指令中的地址码送入(程序计数器PC)
4.为了缩短指令中某个地址段的位数,有效的方法是采取(寄存器寻址)
5.简化地址结构的基本方法是尽量采用(隐含地址)
6.在指令寻址的各种方式中,获取操作数最快的方式是(立即寻址)
9.(变址寻址)便于处理数组问题
11.相对寻址方式总,指令所提供的相对地址实质上是一种(以下条指令在内存中首地址为基准位置的偏移量)
12.下列寻址方式中,最适合按下标顺序访问一维数组元素的是(变址寻址)
19.对按字寻址的机器,程序计数器和指令寄存器的位数各取决于(存储器的字数、指令字长)
类别 | CISC | RISC |
---|---|---|
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 一般大于200条 | 一般小于100条 |
指令字长 | 不固定 | 固定 |
可访存指令 | 不加限制 | 只有Load/Store指令 |
各种指令执行时间 | 相差较大 | 绝大多数在一个周期内完成 |
各种指令使用频度 | 相差很大 | 都比较常用 |
通用寄存器数量 | 较少 | 多 |
目标代码 | 难以用优化编译生成高效的目标代码程序 | 采用优化的编译程序,生成代码较为高效 |
控制方式 | 绝大多数为微程序控制 | 绝大多数为组合逻辑控制 |
指令流水线 | 可以通过一定方式实现 | 必须实现 |
具体功能:指令控制、操作控制、时间控制、数据加工、中断处理
运算器:主要由算术逻辑单元、暂存寄存器、累加寄存器、通用寄存器组、程序状态字寄存器、移位器、计数器等组成
控制器:主要由程序计数器、指令寄存器、指令译码器、存储器地址寄存器、存储器数据寄存器、时序系统和微操作信号发生器等组成
注意:通用寄存器组、程序状态字寄存器对用户是可见的,存储器地址寄存器、存储器数据寄存器、指令寄存器对用户是透明的,不可见的。
选择题
1.汇编语言程序员可见的是(程序计数器PC)
3.通用寄存器是(可编程指定多种功能的寄存器)
4.CPU中保存当前正在执行指令的寄存器是(指令寄存器)
5.CPU中跟踪后继指令地址的寄存器是(程序计数器)
6.条件转移指令执行时所依据的条件来自(标志寄存器)
7.所谓n位的CPU,这里的n是指(数据总线线数)(CPU一次能处理的数据的位数)
11.在一条无条件跳转指令的指令周期内,PC的值被修改(2)次
12.程序计数器的位数取决于(存储器的容量)
13.指令寄存器的位数取决于(指令字长)
14.CPU中通用寄存器的位数取决于(机器字长)
15.CPU中的通用寄存器(可以存放数据和地址)
19.指令译码是对(指令的操作码字段)进行译码
20.CPU中不包括(地址译码器)(地址译码器在主存中)
22.间址周期结束时,CPU内寄存器MDR中的内容为(操作数地址)
CPU从主存中取出并执行一条指令所需的全部时间称为指令周期,也就是CPU完成一条指令的时间。
一个完整的指令周期应包括取指、间址、执行和中断四个周期。
注意:中断周期中进栈操作是将SP减1,和传统意义上的进栈操作相反,因为计算机的堆栈中都是向低地址增加,所以进栈操作是减1,不是加1.
取指周期是根据PC中的内容从主存中取出指令代码并存放在指令寄存器IR中,取指令的同时,PC加1
间址周期是取操作数有效地址
执行周期是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果
中断周期是处理中断请求,假设程序断点存入堆栈中,并用SP表示栈顶地址,而且进栈操作是先修改栈顶指针,后存入数据。
单指令周期:对所有指令都选用相同的时间来完成,指令之间串行执行,指令周期取决于执行时间最长的指令的执行时间。
多指令周期:指令之间串行执行,不再要求所有指令占用相同的执行时间
流水线方案:指令之间并行执行,尽量让多条指令同时执行,但各自处在不同的执行步骤中
选择题
1.冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是(指令周期的不同阶段)
3.计算机工作的最小时间周期是(时钟周期)
4.采用DMA方式传递数据时,每传送一个数据就要占用(存取周期)
6.指令(总是根据程序计数器)从主存中读出
9.取指操作是自动进行的,也就是说控制器不需要得到相应的指令
11.由于CPU内部操作的速度较快,而CP访问一次存储器的时间较长,因此机器周期通常由(存取周期)来确定
13.执行各条指令的机器周期数可变,各机器周期的长度可变
14.以下关于间址周期的描述中正确的是(C)
A 所有指令的间址操作都是相同的
B 凡是存储器间接寻址的指令,它们的操作都是相同的
C 对于存储器间接寻址和寄存器间接寻址,它们的操作是不同的
D 都不对
15.CPU响应中断的时间是(一条指令执行结束)
16.以下叙述中,错误的是(B)
A 取指操作是控制器固有的功能,不需要再操作码控制下完成
B 所有指令的取指操作是相同的(错误)
C 在指令长度相同的情况下,所有指令的取指操作是相同的(正确)
D 中断周期是在指令执行完成后出现的
17.(控制器)可区分存储单元中存放的是指令还是数据
18.指令字长等于存储字长的前提下,取指周期等于机器周期;指令字长和机器字长的长度没有任何关系
数据在功能部件之间传送的路径称为数据通路,其功能是实现CPU内部的运算器和寄存器以及寄存器之间的数据交换。
基本结构:
1)CPU内部单总线方式:所有寄存器的输入端和输出端都连接到一条公共的通路上
2)CPU内部三总线方式:所有寄存器的输入端和输出端都连接到多条公共的通路上
3)专用数据通路方式:根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线
选择题
2.在单总线的CPU中(ALU只能有一个输入端可与总线相连,另一输入端需通过暂存器与总线相连)
3.采用CPU内部总线的数据通路与不采用CPU内部总线的数据相比(前者性能较低、前者的数据冲突问题较严重,后者的硬件量大、实现难度高)
4.CPU的读/写控制信号的作用是(决定数据总线上的数据流方向,控制存储器操作的读/写类型,控制流入、流出存储器信息的方向)
1)运算器部件通过数据总线与内存储器、输入设备和输出设备传送数据
2)输入设备和输出设备通过接口电路与总线相连接
3)内存储器、输入设备和输出设备从地址总线接收地址信息,从控制总线得到控制信号,通过数据总线与其他部件传送数据
4)控制器部件从数据总线接收指令信息,从运算器部件接收指令转移地址,送出指令地址到地址总线,还要向系统中的部件提供它们运行所需要的控制信号
控制器的主要功能有:
1)从主存中取出一条指令,并指出下一条指令在主存中的位置
2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作
3)指挥并控制CPU、主存、输入和输出设备之间的数据流动方向
硬布线控制器由复杂的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器。
通常以存取周期作为基准时间,即内存中读取一个指令字的最短时间作为机器周期。在存储字长等于指令字长的前提下,取指周期也可看做机器周期。
微程序控制器采用存储逻辑实现,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。
微程序设计思想是将每一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令。
微命令是微操作的控制信号,微操作是微命令的执行过程。
注意:在组合逻辑控制器中也存在微命令与微操作这两个概念,它们并非只是微程序控制器的专有概念。
微指令是若干微命令的集合,存放微指令的控制存储器的单元地址称为微地址。
微周期通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。
主存储器用于存放程序和数据,在CPU外部,用RAM实现;控制存储器CM用于存放微程序,在CPU内部,用ROM实现。
注意:若指令系统中具有n种机器指令,则控制存储器中的微程序数至少是n+1个(1为公共的取指微程序)
微指令的编码方式又称为微指令的控制方式,指如何对微指令的控制字段进行编码,以形成控制信号。目标是在保证速度的情况下,尽量缩短微指令字长。
1)直接编码(直接控制)方式
2)字段直接编码方式:将微指令的微命令字段分成若干个小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同的字段中
3)字段间接编码方式,又称隐式编码
微指令的地址形成方式:
1)直接由微指令的下地址字段指出(又称为断定方式):由微指令的下地址字段直接指出后继微指令的地址
2)根据机器指令的操作码形成:当机器指令取至指令寄存器后,微地址的地址由操作码经微地址形成部件形成
微指令的格式:
1)水平型微指令:指令字中的一位对应一个控制信号,有输出时为1,否则为0。一条水平型微指令定义并执行几种并行的基本操作。优点是微程序短,执行速度快;缺点是微指令长,编写微程序较麻烦。
2)垂直型微指令:类似机器指令操作码的方式,设置微操作码字段,由微操作码规定微指令的功能。一条垂直型微指令只能定义并执行一种基本操作。优点是微指令短、简单、规整,便于编写微程序;缺点是微程序长,执行速度慢,工作效率低。
3)混合型微指令
类别 | 微程序控制器 | 硬布线控制器 |
---|---|---|
工作原理 | 微操作控制信号以微程序的形式存放在控制存储器中,执行指令时读出即可 | 微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生 |
执行速度 | 慢 | 快 |
规整性 | 较规整 | 烦琐、不规整 |
应用场合 | CISC CPU | RISC CPU |
易扩充性 | 易扩充修改 | 困难 |
选择题
1.相对于微程序控制器,硬布线控制器的特点是(指令执行速度快,指令功能的修改和扩展难)
2.取指令操作(是控制器固有的功能,不需要在操作码控制下进行)
3.在组合逻辑控制器中,微操作控制信号的形成主要与(指令译码信号和时钟)信号有关
4.在微程序控制器中,形成微程序入口地址的是(C机器指令的操作码字段)
A 机器指令的地址码字段 B 微指令的微地址码字段
C 机器指令的操作码字段 D 微指令的微操作码字段
6.微程序控制器的速度比硬布线控制器慢,主要是因为(增加了从控制存储器读取微指令的时间)
7.微程序控制存储器属于(CPU)的一部分
9.硬布线控制器与微程序控制器相比(微程序控制器的时序系统比较简单)
10.在微程序控制器中,控制部件向执行部件发出的某个控制信号称为(微命令)
11.在微程序控制器中,机器指令与微指令的关系是(每一条机器指令由若干微指令组成的微程序来解释执行)
12.微指令格式分为水平型和垂直型,水平型微指令的位数(较多),用它编写的微程序(较短)
16.某带中断的计算机指令系统共有101中操作,采用微程序控制方式时,控制存储器中相应最少有(102)个微程序。(增加的1个位公共的取指微程序;另一个为对应中断周期的微程序)
17.兼容性微指令是指那些可以同时产生、共同完成某一些微操作的微命令。
18.每一条机器指令由一段微程序来解释执行;水平型微指令能充分利用数据通路的并行结构。
20.通常情况下,一个微程序的周期对应一个(指令周期)
一条指令的执行过程:
取指:根据PC内容访问主存储器,取出一条指令送到IR中
分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数
执行:根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中
1)顺序执行方式:前一条指令执行完后,才启动下一条指令,T=3nt
2)一次重叠执行方式:第k条指令的执行阶段和第k+1条指令的取指阶段同时进行,T=(1+2n)t
3)二次重叠执行方式:把取第k+1条指令提前到分析第k条指令的期间完成,而将分析第k+1条指令与执行第k条指令同时进行,T=(2+n)t
按使用级别分:部件功能级流水线、处理机级流水线、处理机间级流水线
按完成功能分:单功能流水线、多功能流水线
按连接方式分:动态流水线、静态流水线
按有无反馈信号分:线性流水线、非线性流水线
影响流水线的因素
1)结构相关:由于多条指令在同一时刻争用同一资源而形成的冲突
解决办法:
a. 前一指令访存时,使后一条相关指令(以及其后续指令)暂停一个时钟周期
b. 单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行,这属于资源重复配置
2)数据相关:必须等前一条指令执行完才能执行后一条指令的情况
a. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,可分为硬件阻塞(stall)和软件插入“NOP”指令两种方法
b. 设置相关专用通路,即不等前一条指令把计算结果返回寄存器组,下一条指令也不再读寄存器组,而是直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作可以继续执行,称为数据旁路技术
c. 通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关
3)控制相关:遇到转移指令和其他改变PC值得指令而造成断流
a. 对转移指令进行分支预测,分为简单(静态)预测和动态预测,静态预测总是预测条件不满足,即继续执行后续指令;动态预测根据程序执行的历史情况,进行动态预测调整。
b. 预取转移成功和不成功两个控制流方向上的目标指令
c. 加快和提前形成条件码
d. 提高转移方向的猜准率
两条连续的指令读取相同的寄存器时,就会产生RAR(读后读)相关,这种相关不会影响流水线;
当某条指令要读取上一条指令所写入的寄存器时,就会产生RAW(写后读)相关,这种称数据相关或真相关,影响流水线。按序流动的流水线只可能出现RAW相关。
当某条指令的上条指令要读/写该指令的输出寄存器时,就会产生WAR(读后写)和WAW(写后写)相关。在非按序流动的流水线中,既可能发生RAW,也可能发生WAR和WAW相关。
对流水线影响最严重的指令相关是数据相关。
流水线的性能指标
1)流水线的吞吐率:TP=n/Tk,n是任务数,Tk是处理完成n个任务所用的时间;一条k段线性流水线能够在k+n-1个时钟周期内完成n个任务,此时TP=n/((k+n-1)*t),t为时钟周期;当n趋于无穷时,得到最大吞吐率TPmax=1/t
2)流水线的加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比
S=T0/Tk=(knt)/((k+n-1)*t)=(kn)/(k+n-1),当n趋于无穷时,得到最大加速比Smax=k
3)流水线的效率:E=n个任务占用k时空区有效面积/n个任务所用的时间与k个流水段所围成的时空区总面积=T0/(kTk)
超标量流水线技术:每个时钟周期内可并发多条独立指令,即以并行操作方式将两条或多条指令编译并执行,为此需配置多个功能部件
超流水线技术:在一个时钟周期内再分段,在一个时钟周期内一个功能部件使用多次
超长指令字:将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字,为此需要采用多个处理部件
选择题
4.下列关于超标量流水线不正确的是(D)
A 在一个时钟周期内一条流水线可执行一条以上的指令
B 一条指令分为多段指令由不同电路单元完成
C 超标量通过内置多条流水线来同时执行多个处理器,其实质是以空间换时间
D 超标量流水线式指运算操作并行(错误)
5.下列关于超标量流水线特性的叙述中,正确的是(II、III)
I. 能缩短流水线功能段的处理时间(不影响)
II. 能在一个时钟周期内同时发射多条指令(正确)
III. 能结合动态调度技术提高指令执行并行性(正确)
7.一个m段流水线稳定时的CPU的吞吐能力,与m个并行部件的CPU的吞吐能力相比(具有同等水平的吞吐能力)
总线是一组能为多个部件分时共享的公共信息传送线路。分时和共享是总线的两个特点。
分时是指同一时刻只允许由一个部件向总线发送信息;共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。在某一时刻只允许由一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。
主设备:是指获得总线控制权的设备
从设备:是指被主设备访问的设备,只能响应从主设备发来的各种总线命令
总线特性:机械特性、电气特性、功能特性、时间特性
猝发传输方式:在一个总线周期内传输存储地址连续的多个数据字的总线传输方式叫猝发传送
总线的分类:
1)片内总线:CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线
2)系统总线:计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线
a. 数据总线:用来传输各功能部件之间的数据信息,双向传输,其位数与机器字长、存储字长有关
b. 地址总线:用来指出数据总线上的源数据或目的数据所在的主存单元或I/O接口的地址,单向传输,其位数与主存地址空间有关
c. 控制总线:传输控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号
3)通信总线:用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,也称为外部总线
系统总线的结构:
1)单总线结构:CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上
2)双总线结构:主存总线、I/O总线
3)三总线结构:主存总线、I/O总线、DMA总线
总线的性能指标:
1)传输周期,简称总线周期
2)时钟周期
3)工作频率:总线周期的倒数,总线工作频率=时钟频率/N(N表示N个时钟周期)
4)时钟频率
5)总线宽度,又称总线位宽,是总线上同时能够传输的数据位数,通常是指数据总线的根数
6)总线带宽,总线的数据传输率,即单位时间内总线上可传输数据的位数,总线带宽=总线工作频率 * (总线宽度/8)
总线带宽=总线宽度 * 总线频率
选择题
1.在系统总线的数据线上,不可能传输的是(C握手(应答)信号)
A 指令 B 操作数 C 握手(应答)信号 D 中断类型号
5.一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据,这种总线事务方式成为(突发传输)
6.挂接在总线上的多个部件(只能分时向总线发送数据,但可同时从总线接收数据)
7.在总线上,同一时刻(只能有一个主设备控制总线传输操作)
9.系统总线是用来连接(CPU、主存和外设部件)
10.计算机使用总线结构便于增减外设,同时(C减少了信息传输线的条数)
A 减少了信息传输量 B 提高了信息的传输速度
C 减少了信息传输线的条数 D 提高了信息传输的并行性
11.间址寻址第一次访问内存所得到信息经系统总线的(数据总线)传送到CPU
12.系统总线中地址线的功能是(用于指定主存和I/O设备接口电路的地址)
13.单周期处理器中所有指令的指令周期为一个时钟周期,下列关于单周期处理器的叙述中,错误的是(A)
A 可以采用单总线结构数据通路(错误)
B 处理器时钟频率较低
C 在指令 执行过程中控制信号不变
D 每条指令的CPI为1
15.不同信号在同一条信号线上分时传输的方式称为(总线复用方式)
16.主存通过(总线的类型)来识别信息是地址还是数据
22.下列关于总线定时的叙述中,错误的是(C)
A 异步通信方式中,全互锁协议最慢
B 异步通信方式中,非互锁协议的可靠性最差
C 同步通信方式总,同步时钟信号可由各设备提供(错误,采用统一的时钟信号)
D 半同步通信方式中,握手信号的采样由同步时钟控制
23.下列关于总线设计的叙述中,错误的是(A)
A 并行总线传输比串行总线传输速度快(错误,不一定)
B 采用信号线复用技术可减少信号线数量
C 采用突发传输方式可提高总线数据传输率
D 采用分离事务通信方式可提高总线利用率
24.下列关于多总线结构的叙述中,错误的是(D)
A 靠近CPU的总线速度较快
B 存储器总线可支持突发传送方式
C 总线之间须通过桥接器相连
D PC I-Express*16 采用并行传输方式(错误,采用串行数据包传输数据)
为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。
集中仲裁方式:将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决
1)链式查询方式:离总线控制器越近的部件,其优先级越高。优点:链式查询方式优先级固定,结构简单,扩充容易;缺点:对故障敏感,优先级不能改变
2)计数器定时查询方式:优点:设备使用总线的优先级相等,优先次序可以改变,对故障不敏感;缺点:增加了控制线数,相对复杂
3)独立请求方式:优点:响应速度快,对优先次序的控制相当灵活;缺点:控制线数量多,逻辑更复杂
链式查询 | 计数器定时查询 | 独立请求 | |
---|---|---|---|
控制线数 | 3 | log2 n向上取整 + 2 | 2n+1 |
优点 | 优先级固定;结构简单;扩充容易 | 优先级灵活 | 响应速度快;优先级灵活 |
缺点 | 对电路故障敏感;优先级不灵活 | 控制线多;控制复杂 | 控制线多;控制复杂 |
分布仲裁方式:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号,最后获胜者的仲裁号保留在仲裁总线上。
选择题
1.在技术器定时查询方式下,若每次计数从上一次计数的终止点开始,则(每个设备使用总线的机会相等)
4.在计数器定时查询方式下,(总线设备的优先级可变)
6.在某计算机系统中,各个主设备得到总线使用权的机会基本相等,则该系统采用的总线判优控制方式可能是(计数器定时查询方式、独立请求方式)
一个总线周期可分为4个阶段:
1)申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。
2)寻址阶段:主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
3)传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送
4)结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权
同步定时方式:系统采用一个统一的时钟信号来协调发送和接收双方的传递定时关系。适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差
异步定时方式:没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢
1)不互锁方式:主设备自动撤销“请求”信号,从设备自动撤销“回答”信号,双方不存在互锁关系
2)半互锁方式:主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁关系;而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。
3)全互锁关系:主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号;从设备发出“回答”信号,必须待获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系。
选择题
5.(各部件的存取时间比较接近)是同步传输的特点
6.在异步总线中,传送操作(由CPU控制)
7.总线的异步通信方式是(不采用时钟信号,只采用“握手”信号)
8.在各种异步通信方式中,(不互锁)的速度最快
ISA总线:最早出现的微型计算机的系统总线标准,应用在IBM的AT机上
EISA总线:为配合32位CPU而设计的总线扩展标准,EISA对ISA完全兼容
VESA总线:32位标准的计算机局部总线,是针对多媒体PC要求高速传送活动图像的大量数据应运而生的
PCI总线:高性能的32位或64位总线,专为高度集成的外围部件、扩充插板和处理器/存储器系统而设计的互联机制。目前常用的PCI适配器有显卡、声卡、网卡等。PCI总线支持即插即用,与处理器时钟频率无关,属于局部总线,可以通过桥连接实现多层PCI总线
PCI-Express(PCI-E)是最新的总线和接口标准,将全面取代现行的PCI和AGP,最终实现总线标准的统一
AGP:是一种视频接口标准,专用于连接主存和图形存储器,属于局部总线。AGP技术为传输视频和三维图形数据提供了切实可行的解决方案。
RS-232C总线是由美国电子工业协会(EIA)推荐的一种串行通信总线标准,是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的标准接口
USB总线:连接外部设备的I/O总线标准,属于设备总线,具有即插即用、热插拔等优点,有很强的连接能力
PCMCIA:广泛应用于笔记本电脑中的一种接口标准,是一个小型的用于扩展功能的插槽,可即插即用
IDE总线:ATA,是一种IDE接口磁盘驱动器接口类型,硬盘和光驱通过IDE接口与主板连接
SCSI:用于计算机和智能设备之间(硬盘、软驱、光驱、打印机等)系统级接口的独立处理器标准
SATA:基于行业标准的串行硬件驱动器接口,硬盘接口规范
选择题
2.下列关于USB总线特性的描述中,错误的是(D)
A 可实现外设的即插即用和热拔插
B 可通过级联方式连接多台外设
C 是一种通信总线,连接不同外设
D 同时可传输2位数据,数据传输率高(USB总线是串行总线,不能同时传输)
3.下列总线标准中是串行总线的是(B)
A PCI(并行总线) B USB(串行总线) C EISA(并行) D ISA(并行)
4.用于设备和设备控制器(I/O接口)之间互连的接口标准是(USB)
5.在现代微机主板上,采用局部总线技术的作用是(节省系统的总带宽)
6.下列不属于计算机局部总线的是(D)
A VESA B PCI C AGP D ISA(系统总线)
I/O控制方式主要有一下4种:
1)程序查询方式:由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息
2)程序中断方式:只在I/O设备准备就绪并向CPU发出中断请求时才予以响应
3)DMA方式:主存和I/O设备之间有一条直接数据通路,当主存和I/O设备交换信息时,无需调用中断服务程序
4)通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作。
选择题
1.在微型机系统中,I/O设备通过(设备控制器)与主板的系统总线相连接
2.下列关于I/O指令的说法,错误的是(D)
A I/O指令是CPU系统指令的一部分
B I/O指令是机器指令的一类
C I/O指令反映CPU和I/O设备交换信息的特点
D I/O指令的格式和通用指令格式相同(错误)
3.下列关于通道程序的叙述中,正确的是(A)
A 通道程序存放在主存中
B 通道程序存放在通道中
C 通道程序是由CPU执行的(错误,由通道执行)
D 通道程序可以在任何环境下执行I/O操作(错误)
显示存储器VRAM:
VRAM容量 = 分辨率 * 灰度级位数
VRAM带宽 = 分辨率 * 灰度级位数 * 帧频
一块磁盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称为块)是磁盘读写的最小单位,也就是说磁盘按块读取。
磁头数:即记录面数,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头
柱面数:表示硬盘每一面盘片上有多少条磁道
扇区数:表示每一条磁道上有多少个扇区
平均存取时间由寻道时间(磁头移动到目的磁道)、旋转延迟时间(磁头定位到所在扇区)和传输时间(传输数据所花费的时间)三部分构成
硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。
RAID0没有容错能力,RAID1-RAID5的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏。
RAID0:无冗余和无校验的磁盘阵列
RAID1:镜像磁盘阵列
RAID2:采用纠错的海明码的磁盘阵列
RAID3:位交叉奇偶校验的磁盘阵列
RAID4:块交叉奇偶校验的磁盘阵列
RAID5:无独立校验的奇偶校验磁盘阵列
RAID通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高存储系统的数据吞吐量;通过镜像功能,可以提高安全可靠性;通过数据校验,可以提供容错能力。
选择题
3.一台字符显示器的VRAM中存放的是(显示字符的ASCII码)
9.下列选项中,用于提高RAID可靠性的措施有(I、III)
I. 磁盘镜像 II. 条带化 III. 奇偶校验 IV. 增加Cache机制
I/O接口的功能:
1)实现主机和外设的通信联络控制
2)进行地址译码和设备选择
3)实现数据缓冲
4)信号格式的转换
5)传送控制命令和状态信息
内部接口:内部接口与系统总线相连,实质上是与内存、CPU相连,数据的传输方式只能是并行传输
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。
注意:端口是指接口电路中可以进行读/写的寄存器,若干个端口加上相应的控制逻辑才可以组成接口。
I/O端口是指接口电路中可以被CPU直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干个端口加上相应的控制逻辑电路组成接口。CPU能对数据端口执行读写操作,对状态端口只能执行读操作,对控制端口只能执行写操作。
I/O端口的编址方式:
1)统一编址,又称存储器映射方式,是指把I/O端口当做存储器的单元进行地址分配,这种方式CPU不需要设置专门的I/O指令,用统一的访存指令就可以访问I/O端口
2)独立编址,又称I/O映射方式,是指I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口
选择题
1.下列选项中,在I/O总线的数据线上传输的信息包括(I、II、III)
I. I/O接口中的命令字 II. I/O接口中的状态字 III. 中断类型号
2.在统一编址的方式下,区分存储单元和I/O设备是靠(不同的地址码)
5.I/O的编址方式采用统一编址方式时,进行输入/输出的操作的指令是(访存指令)
6.在具有专门I/O指令的计算机中,I/O设备才可以单独编址
8.磁盘驱动器向盘片磁道记录数据时采用(串行)方式写入
9.程序员进行系统调用访问设备用的是(逻辑地址)
11.I/O指令实现的数据传送数据通常发生在(通用寄存器和I/O端口之间)
程序查询方式:CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序,有“踏步”现象,CPU与I/O串行工作
1)CPU执行初始化程序,并预置传送参数
2)向I/O接口发出命令字,启动I/O设备
3)从外设接口读取其状态信息
4)CPU不断查询I/O设备状态,直到外设准备就绪
5)传送一次数据
6)修改地址和计数器参数
7)判断传送是否结束,若没结束转第3步,直到计数器为0
程序中断方式:CPU与I/O并行工作
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
程序中断方式工作流程:
1)中断请求:中断源向CPU发出中断信号
外中断:来自处理器和内存以外的部件引起的中断
内中断:在处理器和内存内部产生的中断
硬件中断属于外中断;软件中断属于内中断。
非屏蔽中断是一种硬件中断,属于外中断;可屏蔽中断也是一种硬件中断,属于外中断。
2)中断判优:判断多个中断源的优先级,可由硬件实现或软件实现
硬件中断属于最高级,其次是软件中断,非屏蔽中断优于可屏蔽中断,DMA请求优于I/O设备传送的中断请求,高速设备优于低速设备,输入设备优于输出设备,实时设备优于普通设备。
3)CPU响应中断的条件
有中断源提出中断请求
CPU允许中断及开中断
一条指令执行完毕且没有更紧迫的任务
4)中断隐指令:完成关中断、保存断点、引出中断服务程序,由硬件直接实现,不允许、也不可能为用户使用的特殊指令。
5)中断向量:查询中断服务程序的入口地址
注意:中断向量是中断服务程序的入口地址,中断向量地址地址是指中断服务程序的入口地址的地址。
6)中断处理:执行中断服务程序最后恢复现场,中断返回
中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。
多重中断:当CPU处理中断时,又有更高优先级的中断请求
条件:
1)在中断服务程序中提前设置开中断指令
2)优先级高的中断源有权中断优先级低的中断源
DMA方式:完全由硬件进行成组信息传送的控制方式,主存和DMA接口之间有一条直接数据通路,I/O与主机并行工作,程序和传送并行工作
组成:
主存地址计数器:存放要交换数据的主存地址
传送长度计数器:用来记录传送数据的长度
数据缓冲寄存器:用于暂存每次传送的数据
DMA请求触发器:I/O设备准备好数据后使DMA请求触发器置位
控制/状态逻辑:由控制和时序电路及状态标志组成
中断机构:数据块传送完毕后触发中断机构,提出中断请求
传送方式:
停止CPU访存:当需要传送数据时,停止CPU对主存的访问
交替访存:将CPU周期分为DMA访存和CPU访存两个部分
周期挪用(周期窃取):I/O设备需要访存时,挪用一个或几个存取周期
传送过程:
预处理:完成寄存器置初始值之类的准备工作,I/O设备向DMA控制器发送DMA请求,再由DMA控制器向CPU发送总线请求
数据传送:占用总线传输数据,数据传送完全由DMA(硬件)控制
后处理:CPU执行中断服务程序做结束DMA处理
DMA方式和中断方式的区别:
1)中断方式是程序的切换,需要保护和恢复现场;而DMA方式除了预处理和后处理,其他时候不占用CPU的任何资源
2)对中断请求的响应只能发生在每条指令执行完毕时(即指令的执行周期之后);而对DMA请求的响应可以发生在每个机器周期结束时(在取指、间址、执行周期之后均可),只要CPU不占用总线就可以被响应
3)中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,故数据传输速率非常高,适合于高速外设的成组数据传送
4)DMA请求的优先级高于中断请求
5)中断方式具有对异常事件的处理能力,而DMA方式仅限于传送数据块的I/O操作
6)从数据传送来看,中断方式靠程序传送,DMA方式靠硬件传送
选择题
10.浮点数运算下溢不产生中断
11.“自陷”是人为预先设定的一种特定处理事件
12.DMA方式的中断请求是为了报告CPU数据的传输结束,而程序中断方式的中断请求完全是为了传送数据。
14.能产生DMA请求的总线部件是(具有DMA接口的设备)
15.中断响应由高到低的优先次序宜用(访管->程序性->重新启动)
19.主存故障引起的中断是(机器校验中断)(属于内中断)
20.在配有通道的计算机系统中,用户程序需要输入/输出时,引起的中断是(访管中断)
24.在中断周期中,由(中断隐指令)将允许中断触发器置0
26.设置中断屏蔽标志可以改变(多个中断服务程序执行完的次序)
29.中断方式的特点是(CPU与外设并行工作,传送与主程序串行工作),DMA方式的特点是(CPU与外设并行工作,传送与主程序并行工作)
30.在DMA传送方式中,由(外部设备)发出DMA请求,在传送期间总线控制权由(DMA控制器)掌握
31.程序中断方式和DMA方式中都有中断请求,但目的不同
33.CPU响应DMA请求的条件是当前(机器周期)执行完
38.中断发生时,程序计数器内容的保护和更新是由(硬件自动(中断隐指令))完成的
40.在DMA方式下,数据从内存传送到外设经过的路径是(内存->数据总线->DMAC->外设)