资源描述
题型:
单项选择题:2×10=20
填空题:每空2分,共20分
计算问答题:12×5=60
复习要点:
1. 经典计算机硬件系统的五大组成部件。注意!CPU中包括运算器和控制器。
课本第9页。
由运算器、存储器、控制器、输入、输出设备五大基本部件
2. 电子计算机的主要技术指标。字长、存储容量、主频。
1)字长:字长是CPU能够直接处理的二进制数据位数,它直接关系到计算机的计算精度、功能和速度。字长越长处理能力就越强。常见的微机字长有8位、16位和32位。
2)运算速度:运算速度是指计算机每秒中所能执行的指令条数,一般用MIPS为单位。
3)主频:主频是指计算机的时钟频率,单位用MHz表示。
4)内存容量:内存容量是指内存储器中能够存储信息的总字节数,一般以KB、MB为单位。
课本第10、11页。
3. 二进制转化成十六进制、十六进制转化成十进制、十进制数表示成BCD码。
注意!BCD码是十进制数,只是将其表示成二进制的编码形式。
课本第20页、第29页。
4. 真值和机器数。其中机器数包括:原码、反码、补码和移码。比如,对+0和-0的四种机器数的表示,对+1和-1的四种机器数的表示,对+127和-127的四种机器数的表示,对-128的表示等。
课本第27页。
5. 如何由[X]补求[-X]补?给定两个数,按位进行基本的与或非运算。
6. 汉字编码。汉字字模码,已知汉字点阵,如何计算其所占的字节数?
课本第31页。
7. 校验码。最大码距和最小码距的概念,以ASCLL码为例。奇偶校验码,进行奇和偶校验时,所添加的校验位。
课本第33页。
8. 计算题!循环冗余校验码!给定原始发送数据、生成多项式,计算完整的CRC校验码。
课本第35页。课后练习:P39页,2.5、2.7。
9. 定点数的加减运算。注意!减法要转化成加法来做。对加减运算的结果,是否有溢出的判定——符号比较法,双进位位法,双符号位法。00/01/10/11。
10. BCD码的加法运算,两数之和为多少时需要调整结果?
BCD码是0-9,而二进制的4位可以表示0-F,那么从A-F就超出了BCD码的表示范围,就要进行进位了(加法时),而减法时,借位不是借16,而是借10,所以也需要调整。
11. 符号比较法判断是否溢出。同符号相加,什么情况下溢出?(和的符号与加数/被加数相反)。异符号相减,什么情况下溢出?(差的符号与减数符号相同。)课本第41页。
看第九题
12. 定点数的乘法运算。原码相乘和补码相乘。前者不带符号位运算,相加和移位(逻辑右移)都是N次,后者带符号位运算,相加N+1次,移位(算术)N次。
课本第55页。
13. 存储器。分类,RAM和 ROM的区别。SRAM和DRAM的区别。SRAM、DRAM、EPROM、PROM、闪存等,掉电时内容也消失的是?
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据
【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息
0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,
所以不需要刷新。另外,SRAM的存取速度比DRAM更高,常用作高速缓冲存储器Cache。
断电后RAM中的数据随之消失。
SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,
课本第76页。
14. 存储器中的数据组织。大端方式和小端方式。比如给定12345678H,小端方式和大端方式分别如何存放?(注意:主存就是存储器)
课本P79页。
15. 存储器的扩展,字扩展和位扩展的基本区别。
课本第84页。
16. CACHE的结构、位置和作用?几种映像方式,哪些涉及/不涉及替换策略?
17. 计算题!直接映像中,CACHE地址与主存地址的映像关系。
课后练习:107页,411、412、413。
18. 已知地址总线和数据总线的位数,计算存储器容量。比如:AB=24,字节编制的情况?
19. 寻址方式。各种寻址方式中,所涉及的操作数在哪里?比如,寄存器寻址,寄存器间接寻址(数据在内存中)基址寻址、直接寻址(举例)、存储器间接寻址等。注意,立即寻址时,#后面的也表示立即数。MOV AL,#20H ;将20H这个立即数放到AL寄存器中。
20. 位操作指令,按位与、按位或、按位异或等。
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。
另,负数按补码形式参加按位与运算。
“与运算”的特殊用途:
(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。
(2)取一个数中指定位
方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
例:设X=10101110,
取X的低4位,用 X & 0000 1111 = 0000 1110 即可得到;
还可用来取X的2、4、6位。
按位或运算符(|)
参加运算的两个对象,按二进制位进行“或”运算。
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
即 :参加运算的两个对象只要有一个为1,其值为1。
例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。
另,负数按补码形式参加按位或运算。
“或运算”特殊作用:
(1)常用来对一个数据的某些位置1。
方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。
例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。
异或运算符(^)
参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
“异或运算”的特殊作用:
(1)使特定位翻转 找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。
例:X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可得到。
(2)与0相异或,保留原值 ,X ^ 0000 0000 = 1010 1110。
从上面的例题可以清楚的看到这一点。
取反运算符(~)
参加运算的一个数据,按二进制位进行“取反”运算。
运算规则:~1=0; ~0=1;
即:对一个二进制数按位取反,即将0变1,1变0。
使一个数的最低位为零,可以表示为:a&~1。
~1的值为1111111111111110,再按“与”运算,最低位一定为0。因为“~”运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符都高。
左移运算符(<<)
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a << 2 将a的二进制位左移2位,右补0,
左移1位后a = a * 2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
右移运算符(>>)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
例如:a = a >> 2 将a的二进制位右移2位,
左补0 or 补1 得看被移数是正还是负。
>> 运算符把 expression1 的所有位向右移 expression2 指定的位数。expression1 的符号位被用来填充右移后左边空出来的位。向右移出的位被丢弃。
例如,下面的代码被求值后,temp 的值是 -4:
-14 (即二进制的 11110010)右移两位等于 -4 (即二进制的 11111100)。
var temp = -14 >> 2
无符号右移运算符(>>>)
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。
例如:var temp = -14 >>> 2
变量 temp 的值为 -14 (即二进制的 11111111 11111111 11111111 11110010),向右移两位后等于 1073741820 (即二进制的 00111111 11111111 11111111 11111100)。
复合赋值运算符
位运算符与赋值运算符结合,组成新的复合赋值运算符,它们是:
&= 例:a &= b 相当于a=a & b
|= 例:a |= b 相当于a=a | b
>>= 例:a >>= b 相当于a=a >> b
<<= 例:a <<= b 相当于a=a << b
^= 例:a ^= b 相当于a=a ^ b
运算规则:和前面讲的复合赋值运算符的运算规则相似。
不同长度的数据进行位运算
如果两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。
以“与”运算为例说明如下:我们知道在C语言中long型占4个字节,int型占2个字节,如果一个long型数据与一个int型数据进行“与”运算,右端对齐后,左边不足的位依下面三种情况补足,
(1)如果整型数据为正数,左边补16个0。
(2)如果整型数据为负数,左边补16个1。
(3)如果整形数据为无符号数,左边也补16个0。
如:long a=123;int b=1;计算a & b。
如:long a=123;int b=-1;计算a & b。
如:long a=123;unsigned int b=1;计算a & b。
21. 几种周期的概念。时钟周期、指令周期和总线周期。
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间)),它一般由12个时钟周期组成。而时钟周期=1秒/晶振频率,因此单片机的机器周期=12秒/晶振频率 .
指令周期(Instruction Cycle):取出并执行一条指令的时间。 总线周期(BUS Cycle):也就是一个访存储器或I/O端口操作所用的时间。 时钟周期(Clock Cycle):又称节拍周期,是处理操作的最基本单位。(晶振频率的倒数,也称T状态) 指令周期、总线周期和时钟周期之间的关系:一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。
指令周期
CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。换言之指令周期是取出一条指令并执行这条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。例如一条加法指令的指令周期同一条乘法指令的指令周期是不相同的。 指令周期常常用若干个CPU周期数来表示,CPU周期也称机器周期。指令不同,所需的机器周期数也不同。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
总线周期
1.微处理器是在时钟信号CLK控制下按节拍工作的。8086/8088系统的时钟频率为4.77MHz,每个时钟周期约为200ns。 2.由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存贮器或 I/O接口)进行一次访问所需时间称为一个总线周期。一个总线周期一般包含4个时钟周期,这4个时钟周期分别称4个状态即T1状态、T2状态、T3状态和 T4状态。
时钟周期
一个CPU周期时间有包含若干个时钟周期(通常称为节拍脉冲或T周期,他是处理操作的最基本单位)。时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 μs),是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1μs;若采用4MHZ的时钟频率,则时钟周期为250ns。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的 8051单片机的时钟范围是1.2MHz-12MHz。 在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。 8051系列单片机的一个机器周期同6 个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6 个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
概念辨析
总结一下,它们之间的关系就是,指令周期由若干个机器周期组成,总线周期一般由4个时钟周期组成。 机器周期和总线周期……机器周期指的是完成一个基本操作的时间,这个基本操作有时可能包含总线读写,因而包含总线周期,但是有时可能与总线读写无关,所以,并无明确的相互包含的关系。 指令周期:是CPU的关键指标,指取出并执行一条指令的时间。一般以机器周期为单位,分单指令执行周期、双指令执行周期等。现在的处理器的大部分指令(ARM、DSP)均采用单指令执行周期。 机器周期:完成一个基本操作的时间单元,如取指周期、取数周期。 时钟周期:CPU的晶振的工作频率的倒数。(fantaxy:晶振一次需要的时间) 例子:22.1184MHZ的晶振,它的晶振周期、时钟周期和机器周期分别是多少? 以51为例,晶振22.1184M,时钟周期(晶振周期)就是(1/22.1184)μs,一个机器周期包含12个时钟周期,一个机器周期就是 0.5425μs。一个机器周期一般是一条指令花费的时间,也有些是2个机器周期的指令,DJNZ,是双周期指令。 周期:就是时间,完成一次任务的时间 时钟周期:这个名字的英文clock cycle; clock period;时钟是用来计时的,是一个基本单位;在计算机中,cpu的晶振时间就是一个最最基本的单位,因此时钟周期很基本,别的周期都用它来参考!
课本第123开始。
22. 计算题!单总线结构CPU中,给定几条指令,写出指令执行流程。包括课本例子和课后练习。课本第125页。课后练习P133,5.9。
23. 上图中,各部件的位置和名称。比如MAR、MDR、IR、ID、PC等
24. CPU的组成。运算器包括哪些部件?控制器包括哪些部件?
课本第135页。
25. 几个概念:微操作、微命令、微地址、微指令、微程序之间的关系。入口地址。机器指令与微指令之间的关系。那些是相斥性位操作?常见的有:ALU的功能选择信号、读操作和写操作控制信号、各部件向总线输出的信号。
26. 计算题!浮点数的加减法计算。
27. 计算题!组相联映象。(举例)课本108页。4.18。
展开阅读全文