计算机组成原理期末复习资料(陆瑶编著)
第一章 计算机的系统概述(P1-8)
1.1计算机的组成任务(P1)
1.计算机系统由硬件和软件两个子系统组成; 2.计算机系统结构主要有
a、研究计算机系统硬件、软件功能的分配; b、确定硬件和软件的界面; c、完成提高计算系系统性能的方法;
3.计算机的组成是按照计算机系统结构分配给硬件子系统的功能以及确定的概念结构,研究硬件子系统各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。 4.计算机实现是计算机组成的物理实现,即按计算机组成制定的方案,制作出实际的 计算机系统,它包括处理器、主存、总线、接口等各部件的物理结构的实现,器件的集成度和速度的选择和确定,器件、模块、插件、底板的划分和连接,专用器件的设计,电源配置、冷却、装配等各类技术和工艺问题的解决等。 1.2计算机的硬件系统结构P2(1.2.1)
5.电子数字计算机普遍采用冯·诺依曼计算机系统结构。
6. 主机:由CPU、存储器与I/O接口合在一起构成的处理系统称为主机。 7. CPU:中央处理器,是计算机的核心部件,由运算器和控制器构成。
8.冯·诺依曼计算机系统结构由运算器、控制器、储存器、输入设备、输出设备5大部件组成,相互间以总线连接。
9.运算器的作用:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。(算数逻辑部件(ALU):用于完成各种算术运算和逻辑运算(主要用于条件判断、设备控制等)。)
10.控制器的作用:是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令.由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的\决策机构\,即完成协调和指挥整个计算机系统的操作。 11储存器的作用:是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。(可分为主(内部)存储器和辅助(外部)存储器;存储器以存储单元进行划分,一个存储单元可以容纳一个长度为8位的二进制数据,称为一个字节。)
12.输入设备的作用:向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一.键盘,鼠标,摄像头, 扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备输入设备(Input Device )是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。
13.输出设备的作用:是人与计算机交互的一种部件,用于数据的输出。它把各种计算结果
数据或信息以数字、字符、图像、声音等形式表示出来。常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。 1.4计算机系统的层次结构特征 (P5-6)
14. 第0层硬联逻辑层:是硬件设计与维护人员眼中的计算机,也是计算机的硬件系统,是计算机的硬件内核;
15. 第1层微程序控制层:是通过微程序控制信息在各部件之间才传送,以提供各个计算机指令所需要的操作控制;
16. 第2层机器语言层:是实现机器指令系统功能的机器,这一层的机器语言程序员无需了解硬联逻辑和控制的细节,只需掌握机器语言的各种组成成分及使用方法即可; 17. 第3层操作系统层:是各种操作系统命令的解释器;
18. 第4层汇编语言层:是汇编语言的解释器,需要掌握寄存器、地址、寻址方式、I/O端口等一些硬件系统概念;
19. 第5层高级语言层:是高级语言的解释器。用高级语言编写的程序需要转换成机器语言程序才能执行,这种转换工作是由高级语言的编译程序来完成的,这一层的高级程序员不需掌握硬件知识。
第二章 计算机的数据表示 (P9-27)
2.1字符数据表示(P9)
20. 普遍使用的字符代码是长度为7位ASCII码(美国信息交换标准代码);
21. 计算机中只需用一位二进制数字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]原 = 0 0001111
28. 补码表示法:正数的反补码与原码相同;负数的补码,符号位用1表示,后面跟着的数值位逐位取反后,末位加1。如: [+15]补 = [+15]原 = 0 0001111。 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. 计算机中均采用补码进行加减运算(0表示正数,1表示负数,而移码相反)。 32. 正数的原码、反码、补码都是本身,移码为补码的符号位取反; 负数的反码是原码的反,即:-101001的反码是-010110;
负数的补码:符号位为1,数字部分取反加一,即:-101001的补码是1010111; 负数的移码:在补码的基础上加2的n次幂,即把补码的符号位取反即可; 33. 定点整数补码加、减运算规则: [x]补 + [y]补 = [x + y]补 (mod 2^n)
[x]补 - [y]补 = [x]补 + [- y]补 =[x - y]补 (mod 2^n) 定点小数补码加、减运算规则: [x]补 + [y]补 = [x + y]补 (mod 2^1)
[x]补 - [y]补 = [x]补 + [- y]补 =[x - y]补 (mod 2^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操作数检查;比较阶码大小并完成对阶;尾数相加或相减;对结果进行处理,包括规格化、舍入处理和溢出处理。 ⑴ 0操作数检查。即检查 x 或 y 是否为0。
⑵ 比较阶码大小并完成对阶。要求“小阶向大阶看齐”。
⑶ 尾数相加或相减。尾数运算即为一般的定点补码加减运算,通常采用双符号位的变形补码进行运算。如设[Mx]补 = 11.0011010,[My]补 = 11.1010011则[Mx]补 + [My]补 为 1 1 . 0 0 1 1 0 1 0+ 1 1 . 1 0 1 0 0 1 1=1 0 . 1 1 0 11 0 1
⑷运算结果规格化。尾数运算的结果可能出现非规格化状态,需要重新规格化。规格化时,对尾数左移称为向左规格化(简称“左规”),反之,称为向右规格化(简称“右规”)。尾数移位的同时,阶码也必须做相应的修改。尾数用补码表示时,判断是否规格化的方法是:当尾数未溢出时,若尾数的符号位与最高有效数字位不同,则已规格化,反之,则未规格化;
当尾数溢出时,则必为非规格化状态。 设尾数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。目前,最常用的存储介质有半导体器件、磁性材料和