计算机组成原理期末复习资料要点.docx
《计算机组成原理期末复习资料要点.docx》由会员分享,可在线阅读,更多相关《计算机组成原理期末复习资料要点.docx(22页珍藏版)》请在冰豆网上搜索。
计算机组成原理期末复习资料要点
计算机组成原理期末复习资料(陆瑶编著)
第一章计算机的系统概述(P1-8)
1.1计算机的组成任务(P1)
1.计算机系统由硬件和软件两个子系统组成;
2.计算机系统结构主要有
a、研究计算机系统硬件、软件功能的分配;
b、确定硬件和软件的界面;
c、完成提高计算系系统性能的方法;
3.计算机的组成是按照计算机系统结构分配给硬件子系统的功能以及确定的概念结构,研究硬件子系统各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。
4.计算机实现是计算机组成的物理实现,即按计算机组成制定的方案,制作出实际的计算机系统,它包括处理器、主存、总线、接口等各部件的物理结构的实现,器件的集成度和速度的选择和确定,器件、模块、插件、底板的划分和连接,专用器件的设计,电源配置、冷却、装配等各类技术和工艺问题的解决等。
1.2计算机的硬件系统结构P2(1.2.1)
5.电子数字计算机普遍采用冯·诺依曼计算机系统结构。
5.主机:
由CPU、存储器与I/O接口合在一起构成的处理系统称为主机。
6.CPU:
中央处理器,是计算机的核心部件,由运算器和控制器构成。
5.冯·诺依曼计算机系统结构由运算器、控制器、储存器、输入设备、输出设备5大部件组成,相互间以总线连接。
6.运算器的作用:
计算机中执行各种算术和逻辑运算操作的部件。
运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。
(算数逻辑部件(ALU):
用于完成各种算术运算和逻辑运算(主要用于条件判断、设备控制等)。
)
7.控制器的作用:
是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令.由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的"决策机构",即完成协调和指挥整个计算机系统的操作。
11储存器的作用:
是计算机系统中的记忆设备,用来存放程序和数据。
计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
它根据控制器指定的位置存入和取出信息。
(可分为主(内部)存储器和辅助(外部)存储器;存储器以存储单元进行划分,一个存储单元可以容纳一个长度为8位的二进制数据,称为一个字节。
)
12.输入设备的作用:
向计算机输入数据和信息的设备。
是计算机与用户或其他设备通信的桥梁。
输入设备是用户和计算机系统之间进行信息交换的主要装置之一.键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备输入设备(InputDevice)是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。
13.输出设备的作用:
是人与计算机交互的一种部件,用于数据的输出。
它把各种计算结果
数据或信息以数字、字符、图像、声音等形式表示出来。
常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
1.4计算机系统的层次结构特征
(P5-6)
14.
第0层硬联逻辑层:
是硬件设计与维护人员眼中的计算机,也是计算机的硬件系统,
是计算机的硬件内核;
15.
第1层微程序控制层:
是通过微程序控制信息在各部件之间才传送,以提供各个计算
机指令所需要的操作控制;
16.
第2层机器语言层:
是实现机器指令系统功能的机器,这一层的机器语言程序员无需
了解硬联逻辑和控制的细节,只需掌握机器语言的各种组成成分及使用方法即可;
17.
18.
第3层操作系统层:
是各种操作系统命令的解释器;
第4层汇编语言层:
是汇编语言的解释器,需要掌握寄存器、地址、寻址方式、I/O
端口等一些硬件系统概念;
19.
第5层高级语言层:
是高级语言的解释器。
用高级语言编写的程序需要转换成机器语
言程序才能执行,这种转换工作是由高级语言的编译程序来完成的,这一层的高级程序员不需掌握硬件知识。
第二章计算机的数据表示2.1字符数据表示(P9)
(P9-27)
20.
21.
普遍使用的字符代码是长度为7位ASCII码(美国信息交换标准代码);
计算机中只需用一位二进制数字0和1两种状态,就能满足逻辑数据表示的需要,真
用1表示,假用0表示;(P10)2.4数值数据的表示(P19)
22.
23.
算;
24.
数值数据的计算机中用于各种计算运算的数据;
计算机中表示数值数据要解决的有效数字、小数点、符号的表示,还要便于数据的运
真值表示:
是相对于数在计算机中的编码表示而言的,也是人们平时所习惯的数的书
面表示形式。
25.
26.
定点数表示:
是指小数点被固定在数据的某个特定位置上的数据表示方法。
原码表示法:
以0表示正号,1表示负号,直接置于数的最左端(即最高位置),而数
的数字部分与绝对值一致。
如:
x=+0.1011,则[x]原=0.1011
27.
反码表示法:
正数的反码与原码相同;负数的反码,符号位用1表示,后面跟着的数
值位逐位取反,即1变为0,0变为1。
如:
[+15]反=[+15]原=00001111
28.
补码表示法:
正数的反补码与原码相同;负数的补码,符号位用1表示,后面跟着的
数值位逐位取反后,末位加1。
如:
[+15]补=[+15]原=00001111。
29.
30.
移码表示法:
只要将补码的符号位取反便可获得相应的移码表示。
浮点数的表示:
浮点数:
指小数点位置未经人为约定的一般的数,其小数点可以出现在任意位置;一个浮点数N可以表示为:
N=Re*m(其中指数是e,基数是R,有效数字是m),浮点数的表示
范围取决于阶码的位数,而浮点数的精度表示取决于尾数的位数。
注:
在浮点数表示中,除了要求尾数为纯小数外,还进一步规定:
当尾数的绝对值不为0时,尾数绝对值(或真值)的最高有效数字位必须为1,这是浮点数的规格化表示;如:
+111.0101的规格化表示形式为2^3*0.1100101,而不是2^4*0.01100101。
(P24)
第三章运算方法和运算部件(P28-59)
31.
32.
计算机中均采用补码进行加减运算(0表示正数,1表示负数,而移码相反)。
正数的原码、反码、补码都是本身,移码为补码的符号位取反;
负数的反码是原码的反,即:
-101001的反码是-010110;
负数的补码:
符号位为1,数字部分取反加一,即:
-101001的补码是1010111;负数的移码:
在补码的基础上加2的n次幂,即把补码的符号位取反即可;
33.
定点整数补码加、减运算规则:
[x]补+[y]补=[x+y]补
(mod2^n)
[x]补-[y]补=[x]补+[-y]补=[x-y]补(mod2^n)定点小数补码加、减运算规则:
[x]补+[y]补=[x+y]补
(mod2^1)
[x]补-[y]补=[x]补+[-y]补=[x-y]补(mod2^1)
34.
变形补码是具有两个符号位的补码;正数的变形补码,其两个符号位为00,负数的变
形补码,其两个符号位为11。
如:
x=+1010110的变形补码[x]补=001010110。
35.
由于补码减法可以转换成补码加法进行,因此,补码加法/减法器的主体是加法器。
构
成加法器的主要器件是全加器;一个全加器是实现带进位的1位加法的器件。
根据二进制加法运算的特点,有将多个全加器按进位相联的方式级联起来,即可构造一个单纯的多位补码加法器。
对减法,由于[A]补-[B]补=[A]补+[-B]补,且
因此,可以在做减法时,先求得[-B]补,再送入加法器相加;而在做加法时不做这种转换,直接使用[B]补相加。
这样,就得到了补码加法/减法器。
3.4定点运算器的组成与结构
3.4.1逻辑运算与移位操作
36.
37.
逻辑运算是计算机进行判断、实现控制等操作的重要手段。
逻辑非:
“逻辑非”运算也称“非”运算,其逻辑表达式为
小结:
F为A或者B的反
38.
逻辑加:
“逻辑加”运算也称“或”运算,其逻辑表达式为
小结:
AB全为0时F为0,其余为1,即只要有一个1,则F为1;
39.
逻辑乘:
“逻辑乘”运算也称“与”运算,其逻辑表达式为
小结:
当AB全为1时,F为1,其余全为0(A=B=1,=1)
40.
逻辑异:
“逻辑异”运算也称“异或”运算,其逻辑表达式为
小结:
A=B=0or1,F=0;否则为1;
41.
算术逻辑单元(ALU):
是组成运算器的核心器件,其主要功能是执行定点数算术加
/减法运算及各种逻辑运算。
早期的乘法器和除法器也以ALU为主,配合移位寄存器等辅助电路构成。
3.4.3定点运算器的基本结构P51
42.
定点运算器由ALU、阵列乘法器、阵列除法器、通用寄存器、专用寄存器、缓冲寄
存器、多路开关、三态缓冲器、数据总线等组成。
43.
根据不同的性能要求,运算器大体有单总线结构、双总线结构和三总线结构等三种结
构形式。
44.
单总线结构特点:
所有部件都接到同一总线上。
在同一时间内,只能有一个操作数放在
单总线上。
把两个操作数输入到ALU,需要分两次来做,而且还需要两个缓冲寄存器。
缺点是数据传输速度慢
45.
双总线结构特点:
两个操作数同时加到ALU进行运算,只需要一次操作控制就可以得到
运算结果。
但是因为两条总线都被输入数占据,因而ALU的输出不能直接加到总线上去,而必须在ALU输出端设置缓冲寄存器。
显然,双总线结构比单总线结构具有更高的数据传输效率和灵活性,但是控制复杂。
46.
三总线结构特点:
ALU的两个输入端分别由两条总线供给,而ALU的输出则与第三条
总线相连。
这样,算术逻辑操作就可以在一步的控制之内完成。
总结:
以上三种结构的运算器在数据传输效率上的差异,主要表现在ALU与寄存器之间的数据传输上。
如果操作数取自主存,则三种结构的运算器在数据传输效率上没有多少差别;因为,运算器与主存之间只有一套数据总线,一次只能传输一个数据。
需要特别指出的是:
⑴ALU无数据暂存能力;⑵要避免总线上的数据冲突;⑶一次运算过程是分成多个步骤来完成的,如传送操作数、计算、传送运算结果等。
每个步骤都是在控制器所发出的控制信号的控制下进行的。
(P53)
3.5浮点运算(P53-57)
3.5.1浮点加法、减法运算
47.
设有两个规格化浮点数x和y,分别表示为
显然,计算x±y的基础
是Ex=Ey。
如果Ex≠Ey,则需要先将它们调整为相等;这个操作称为“对阶”。
48.
计算机中,浮点加减运算的过程大体分为以下几步:
0操作数检查;比较阶码大小并
完成对阶;尾数相加或相减;对结果进行处理,包括规格化、舍入处理和溢出处理。
1
2
3
0操作数检查。
即检查x或y是否为0。
比较阶码大小并完成对阶。
要求“小阶向大阶看齐”。
尾数相加或相减。
尾数运算即为一般的定点补码加减运算,通常采用双符号位的变形
补码进行运算。
如设[Mx]补=11.0011010,[My]补=11.1010011则[Mx]补+[My]补为11.0011010+11.1010011=10.1101101
⑷运算结果规格化。
尾数运算的结果可能出现非规格化状态,需要重新规格化。
规格化时,对尾数左移称为向左规格化(简称“左规”),反之,称为向右规格化(简称“右规”)。
尾数移位的同时,阶码也必须做相应的修改。
尾数用补码表示时,判断是否规格化的方法是:
当尾数未溢出时,若尾数的符号位与最高有效数字位不同,则已规格化,反之,则未规格
化;当尾数溢出时,则必为非规格化状态。
设尾数M1、M2和M3的变形补码表示分别为
[M1]补=11.0011010
[M2]补=11.1010011
[M3]补=10.1101101
其中,[M1]补和[M2]补未溢出,[M1]补已规格化,[M2]补未规格化;[M3]补溢出,故未规格化。
对未规格化的尾数,规格化处理的原则是:
如尾数未溢出,则进行左规处理,直至满足规格化要求为止;如尾数溢出,则作右规处理,只需将尾数算术右移1位,阶码加1即可。
上述[M2]补和[M3]补分别左规1位和右规1位后,得
[M2]补=11.0100110,[M3]补=11.0110110
(1)
⑸舍入处理。
在对阶或规格化处理过程中,由于尾数右移,会使尾数的低位部分被移出,形成保护位;对保护位所做的处理,称为舍入处理。
舍入处理的方法很多,选择时主要考虑以下三方面的因素:
①本身的误差要小;②积累误差要小;③容易实现。
恒舍法:
也称截断法,是一种最容易实现的舍入处理方法。
其做法就是直接舍去保护位。
恒置1法:
其做法是,不论保护位中的数字是什么,总是将尾数有效数字的最低位置为1。
此法无论在正数区还是负数区的积累误差都比较小,而且绝对值相等,符号相反,正好能达到平衡。
0舍1入法:
在尾数以真值或原码表示时,0舍1入法的规则是:
如果保护位中的最高位为0,则将保护位舍去,否则向尾数的最低有效位进1(即加上1)。
在尾数以补码表示时,对于正数,仍按上面针对原码的规则处理;对于负数,则需将0舍1入法修改为:
当保护位中的最高位为0,或保护位中的最高位为1,但其余各位均为0时,作“舍”处理;只有在保护位中的最高位为1,且其余位不全为0时,才作“入”处理。
优点是精度更高,正、负数区的积累误差更小,且能达到平衡。
但0舍1入法实现起来比较困难。
⑹溢出处理。
只有阶码溢出,浮点数才会溢出。
若阶码下溢,机器自动将运算结果当作0(即机器零);若阶码上溢,则需报告运算错误。
由于对浮点数有规格化表示的要求,所以,无论是运算数据,还是运算结果,都必须是规格化的;只有在运算过程中,允许暂时出现非规格化现象。
(例题P56)
第四章存储器系统
4.1概述
4.1.1存储器分类(P60)
可从不同的角度,对存储器进行分类。
1)
按存储介质分类。
存储介质是指能明显体现两种不同状态的材料或元器件;这两种不
同的状态用于表示二进制代码0和1。
目前,最常用的存储介质有半导体器件、磁性材料和光盘,对应的存储器分别为半导体存储器、磁表面存储器(包括磁盘和磁带)和光盘存储器。
2)
3)
按存取方式分类。
有随机存储器、顺序存储器、半顺序存储器等。
按数据的可读写性分类。
有读写存储器、随机读写存储器(RAM)和只读存储器
(ROM)等。
4)
5)
按保存数据是否需要电源支持分类。
有易失性存储器和非易失性存储器。
按在计算机系统中的作用分类。
可以分为主存储器(内部存储器)、辅助存储器(外
部存储器)、高速缓冲存储器(cache)、控制存储器等。
4.1.2存储器系统的层次结构(P61)
49.
低。
50.
计算机系统对存储器的要求主要体现在三个方面:
存取速度快,存储容量大,位价格
存储器系统的层次结构:
层次越往上,存储器的容量越小、速度越快、位价格越高,同时,与CPU的关系也越密切。
越是CPU经常要用到的程序指令或数据,其存放的层次就越高,访问的速度就越快。
这样做,可以使整个存储器系统的平均速度尽可能接近最快的一级存储器。
4.2主存储器(P62)
51.
主存的主体由半导体随机读写存储器(RAM)构成,一般还包含少量半导体只读存储
器(ROM)。
RAM又分为静态RAM(SRAM)和动态RAM(DRAM)两类。
52.
主存作为计算机的主要存储器,不仅要有较大的容量,也要有较高的速度,才能满足
计算机系统的性能要求。
主存的主要技术指标有:
1)
存储容量。
存储容量的计算单位主要采用字节(用“B”表示)或位(用“b”表示),
用来表示容量的大小。
2)
存取时间。
存取时间也称为存储器访问时间(memoryaccesstime),是指从启动一次
存储器操作到完成该操作所需的时间。
存取时间分为读操作时间和写操作时间两种情况。
存取时间反映了存储器件的工作速度。
3)
存储周期(memorycycletime)。
存储周期是指连续启动两次独立的存储器操作所需的
最小间隔时间。
存储周期略大于存取时间。
4)
存储器带宽。
存储器带宽是指单位时间内,存储器存取的信息量,以字节/秒或位/秒
为单位。
带宽是衡量数据传输率的重要技术指标。
存储器带宽不仅与存储器件本身的速度有关,也与存储器的组织方式、存储系统的构造等有关。
53.
54.
55.
56.
主位:
计算机中的一个二进制数据代码,计算机中数据的最小表示单位。
字:
数据运算和存储的单位,其位数取决于具体的计算机。
字节:
衡量数据量以及存储容量的基本单位。
1字节等于8位二进制信息。
字长:
一个数据字中包含的位数,反应了计算机并行计算的能力。
一般为8位、16位、
32位或64位。
57.
字长:
一个数据字中包含的位数,反应了计算机并行计算的能力。
一般为8位、16位、
32位或64位。
58.
地址:
给主存器中不同的存储位置指定的一个二进制编号。
无论对主存作读操作还是
写操作,都要指定存储单元的地址。
59.
地址译码器:
用于按地址确定存储单元位置的器件。
它以存储单元的地址作为输入,
输出即为存储单元的选择信号。
4.2.1静态随机读写存储器(SRAM)(P63)
60.SRAM与DRAM的比较(优缺点):
(P72)
1)DRAM基本单元电路简单,芯片容量大,功耗低,位价格低;但由于其为动态元件,所以读写速度较慢,且由于其需要刷新,外围电路也较为复杂。
2)SRAM基本单元电路较复杂,芯片容量较小,功耗较高,位价格也较高;但SRAM的读写速度较快,且不用刷新,因此,工作效率高。
计算机中,利用DRAM容量大、价格低的特点,用其作为构造主存的主要器件;同时,利用SRAM读写速度快的特点,用其构造容量较小的高速缓冲存储器(cache)
61.
存储芯片或主存容量=字数×字长,例如,某存储芯片的容量为16K×4,则表示该
芯片中集成了16K(214)个字,每个字的长度为4位。
62.
一个SRAM存储芯片上,需要安排四类信号引脚,分别是地址引脚、数据引脚、控
制引脚(包括片选引脚和读/写控制引脚)和电源引脚。
(P64)
63.
地址引脚和数据引脚的数量与存储芯片的容量直接相关,通过存储芯片的字数和字长,
可以计算出芯片上所需的地址引脚和数据引脚的数量。
如16K×4的SRAM芯片,其字数为,即芯片上需要14位地址;字长为4,则说明芯片上需要4个双向数据引脚。
64.
根据存储器操作的特点,对任何存储单元的读/写,总是需要先传送地址信号,再传送
控制信号(包括片选和读/写控制),最后传送数据信号。
65.
66.
存储器的读周期或写周期,是指对存储器做一次读操作或写操作至少需要经历的时间。
无论读周期或写周期,都定义为从地址有效,到地址失效(即可以改变为其他地址)
的时间。
也就是说,地址必须在整个读或写周期中一直保持不变。
4.2.2动态随机读写存储器(DRAM)(P67)
67.
为什么刷新电路:
对于存有“1”的基本单元,在执行读操作后,其电容C上所存的
电荷会泄放掉,使存储的信息遭到破坏。
因此,每次读操作之后,必须对所读的基本单元进行再生,使其存储的信息恢复原状。
再生工作由刷新电路自动完成。
68.
怎么进行刷新:
在对DRAM芯片刷新时,是对其存储阵列按行刷新的,即需要在一
个刷新周期内,对存储阵列逐行刷新一遍。
这种逐行刷新,使用一个刷新计数器自动顺序产生刷新行号。
69.
多个DRAM芯片组成怎么刷新:
采取所有芯片统一刷新的方式。
即用一个统一的刷
新计数器,将产生的刷新行号送到每个芯片,使每个芯片同时刷新各自的存储阵列的同一行。
70.
71.
刷新单个和集体所需的时间是一样的。
对整个存储阵列的刷新,主要有两种方式:
1)
集中刷新方式。
这种方式在一个刷新周期内,集中一段时间(如刷新周期开始后或结
束前的一段时间)逐行刷新整个存储阵列。
2)
分散刷新方式,将对存储阵列各行的刷新操作均匀分散在整个刷新周期内进行,相邻
两行的刷新间隔时间为:
刷新周期/存储阵列行数。
72.
为了在定时刷新期间阻止数据的读出和写入,刷新操作时,只允许行地址译码器工作,
并接收刷新行号作为行地址,不允许列地址译码器工作。
73.DRAM芯片容量大,芯片所需的地址位数也多。
为了减少芯片上的引脚数,若芯片需
要n位地址,则芯片上只设置
个地址引脚,全部地址需要分两次传送,先传送的部
分地址作为行地址,后传送的部分地址作为列地址。
4.2.3只读存储器(ROM)(P72)
74.
掩膜ROM的特点:
掩膜ROM芯片中所存的信息,是在芯片生产过程中制作进去的。
一旦制成后,其内容固定,不可改变。
75.
可编程ROM的特点:
在特殊条件下向ROM写入数据的过程,称为对ROM编程。
可编程ROM有PROM,EPROM和EEPROM(E2PROM)三种。
1)PROM是一种只能进行一次编程的只读存储器。
2)EPROM是一种可擦除可编程只读存储器,只能整片擦除,擦除后的EPROM芯片可以重新编程;EPROM的重复擦、写次数不受限制。
3)EEPROM(E2PROM)是采用电擦除的可擦除可编程只读存储器。
并可实现按字节编程和擦除(只需10ms);若按全片擦除,则需要20ms。
EEPROM(E2PROM)的重复擦、写次数一般在一万次左右。
4.2.4存储器与CPU的连接(P75)
76.存储器容量的扩展:
1)⑴位扩展法。
如果存储芯片的字数已达到存储器字数的要求,但芯片的字长不能满足存储器字长的要求时,可将多个芯片拼接起来,即用各个芯片内地址编码相同的字,拼接成一个符合存储器字长要求的字,这就是位扩展。
用于位扩展的若干个芯片,构成一个存储芯片组。
位扩展只扩展字长,不扩展字数。
如:
用16K×4的存储芯片组成16K×16的存储器。
2)⑵字扩展法。
当存储芯片的字长已达到存储器字长的要求,但字数少于存储器的字数要求时,可用多个存储芯片迭加,来扩充存储器的字数;即将多个存储芯片的字数相加,来满足存储器字数的要求。
这就是字扩展。
字扩展只扩充存储器字数,不改变字长。
如:
用2K×8的存储芯片组成8K×8的存储器。
3)⑶字、位扩展法。
如果存储芯片在字长和字数上均不能满足存储器的要求,就要对字长、字数都作扩展。
具体做法是:
先进行位扩展,确定组成一个存储芯片组所需的芯片数,然后,再以存储芯片组为单位,进行字扩展,确定整个存储器所需的芯片组数。
4.3高速缓冲存储器(cache)(P87)
77.为什么cache能稳定地提高CPU访存