1、组成原理组成原理 目目 录录第第 1 1 章章 计算机系统概论计算机系统概论.3 第第 2 2 章章 运算方法和运算器运算方法和运算器.4 2.1 运算方法.4 2.2 运算器.8 第三章第三章 存储系统存储系统.10 3.1 基本概念.10 3.2 存储器的层次化结构.11 第四章第四章 指令系统指令系统.21 4.1 指令格式.21 4.2 寻址方式.21 4.3 操作码长度.22 4.4 操作数的个数.22 4.5 CISC 和 RISC.23 第五章第五章 中央处理器中央处理器.23 5.1 重要概念.23 5.2 CPU 组成.24 5.3 CPU 功能.25 5.4 指令周期.26
2、 5.5 CPU 控制方式.36 5.6 微程序控制器.36 5.7 硬布线控制器.37 第六章第六章 总线总线.38 6.1 基本概念.38 6.2 总线的连接结构.39 6.3 总线仲裁方式.39 6.4 总线定时方式.40 6.5 常见设备总线标准.40 第七章第七章 输入输出系统输入输出系统.41 7.1 掌握基本概念.41 7.2 I/O 系统的组成.41 7.3 I/O 端口编址方式.42 第八章第八章 总结总结.47 第第 1 1 章章 计算机系统概论计算机系统概论 1、计算机硬件系统和软件系统 软件 编程语言:机器语言(二进制形式、机器能直接执行,速度快),汇编语言(符号化的机
3、器语言,经汇编后机器能执行),高级语言(类自然语言,经编译连接后机器可执行)等。软件分类:系统软件(操作系统、编译软件、DBMS 等),应用软件(利用计算机解决某类问题设计的程序集合,供特定用户使用)。硬件 输入设备:位计算机系统提供信息的设备。运算器:完成逻辑运算和算术运算。控制器:协调计算机各个部件的工作,完成指令功能。存储器:存储程序和数据。输出设备:将计算机系统的结果进行输出的设备。2、计算机系统的层次结构 硬件是核心、基础;系统软件为用户提供一个基本操作界面。应用软件扩充机器的能力。虚拟机:(Virtual Machine)通过软件方法模拟出的,能运行在一个完全隔离环境中的完整计算机
4、系统。3、冯诺依曼结构的基本思想 1945 年,冯诺曼首先提出了“存储程序”的概念和二进制原理。后来,人们把利用这种概念和原理设计的电子计算机系统称为“冯诺曼型结构”计算机。冯诺依曼机的基本特点 计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成。采用存储程序的方式,程序和数据都放在存储器中。数据以二进制码表示。指令由操作码和地址码组成。指令在存储器中按执行顺序存放,并能自动执行。4、计算机的性能指标 MIPS:每秒钟执行的百万条指令数,是衡量计算机系统性能的指标之一。时钟周期:CPU 主频的倒数,反映 CPU 的速度。字长:能同时处理的二进制数的位数。存储周期:连续两次独立的读写操
5、作之间的时间间隔。存取时间:从发出读写信号开始到读写操作完成所花费的时间。存储容量:存储器能容纳的信息数量,单位可以是位(b)、字节(B)、字(W)、KB、MB、GB 等。第第 2 2 章章 运算方法和运算器运算方法和运算器 2.1 运算方法 1、无符号数:字长为 n,则表数范围为 0-2n-1。2、机器数的定点表示:(1)真值:正、负符号加数的绝对值。(2)机器数:在机器中使用的连同数符一起数值化的数。常见机器数如下:原码:最高位为符号位,用“0”表示正号,“l”表示负号,有效值部分用二进制的绝对值表示。字长为 n,则定点整数表数范围为-(2n-1-1)-+(2n-1-1),定点小数表数范围
6、为-(2n-1-1)/(n-1-+(2n-1-1)/2n-1。正零、负零各 1 个编码。反码:正数的反码同原码,负数的反码符号位为 1,数值部分为原码的数值位按位取反。字长为 n,则定点整数表数范围为-(2n-1-1)-+(2n-1-1),定点小数表数范围为-(2n-1-1)/(n-1-+(2n-1-1)/2n-1。正零、负零各 1 个编码。补码:正数的补码同原码,负数的补码符号位为 1,数值部分为原码的数值位按位取反后加 1。字长为 n,则定点整数表数范围为-(2n-1-1)-+(2n-1-1),定点小数表数范围为-1-+(2n-1-1)/2n-1。零 具有唯一编码 0000B。移码:符号位
7、与补码相反的机器数。字长为 n,则定点整数表数范围为-(2n-1-1)-+(2n-1-1),定点小数表数范围为-1-+(2n-1-1)/2n-1。零具有唯一编码 1000B。3、浮点数 N=M RE M:尾数,定点小数,常用原码或补码表示,决定浮点数的精度,尾数的位数越多则浮点数的精度越高;E:阶码,定点整数,常用补码或移码表示,决定浮点数的范围,阶码的位数越多浮点数的表数范围越大;R:基数,在计算机中是约定的,不需表示,可取 2、4、8 或 16 等。(1)规格化浮点数计算机中的规格化浮点数是指其尾数小数点后的第一位数值不为零。当尾数 M 用补码表示,满足下列条件时为规格化浮点数:当 M0,
8、1 M 1R 当 M0,(1R)M 1 当 R=2 时,小数点后一位与符号位不同,即为规格化浮点数;当 R=4 时,小数点后两位只要有一位与符号位不同,即为规格化浮点数;当 R=8 时,小数点后三位只要有一位与符号位不同,即为规格化浮点数;(2)浮点数的表示范围浮点数的表示范围按定量描述有规格化或非规格化的最大正数、最小正数、最大负数、最小负数。(3)浮点数的溢出和机器零机机器零器零正浮点数负浮点数最 小最 大最 大负正负最 小正 浮点数的是否溢出由浮点数的阶码判断,溢出分为上溢和下溢两种形式。当阶码由补码,并以双符号位表示,下列情形为溢出:当阶码的双符号位为“0 1”发生上溢,表明浮点数的数
9、值大于最大正数或小于最小负数,此时 置“溢出标志”,由 CPU 的异常处理机制进行处理;当阶码的双符号位为“1 0”发生下溢,表明浮点数的数值小于最小正数或大于最大负数,此时要置运算结果为浮点数的机器零。(4)单精度 IEEE 754 标准浮点数 N1 8 位 23 位 SE M S:数符,1 位;E:阶码,8 位;M:尾数,23 位(不包括隐含位)N=(1)S 1.M 2 E127。其中 1.M 中的“1”为隐含位。4、BCD 码 BCD:二进制编码的十进制数。有权码:8421 码、2421 码(常用于十进制运算);无权码:余 3 码(常用于十进制运算)、格雷码(常用于数模转换)。5、非数值
10、数据的表示(1)ASCII 码:美国国家信息交换标准字符码,字符常用编码。(2)汉字的表示:汉字在计算机中的编码可分为输入码/外码、交换码、机内码和字形码。6、数据信息的校验 为减少、避免数据在生成、存储、处理和传送过程中发生错误,在数据编码上提供了检错和纠错的支持。检错码:能发现某些错误或具有自动纠错能力的数据编码。基本原理:扩大有效编码的码距。如:奇偶校验码,海明码和循环码。7、补码加、减法运算与溢出判别方法(变形补码运算)X+Y补=X补+YY补补 X-Y补=X补+-YY补 参加运算的两个操作数采用双符号位,当结果的两个符号为不同是,结果发生溢出。8、乘法运算(1)原码一位除法被乘数和乘数
11、的绝对值参加运算 符号位:同号为正,异号为负 乘积采用双倍字长 主要通过求和、右移操作完成乘法运算(2)补码一位除法 符号位和数值位一起参加运算 乘积采用双倍字长 主要通过求和、右移操作完成乘法运算(3)并行乘法采用阵列乘法器进行运算 9、除法运算(1)原码一位恢复余数除法被除数和除数的绝对值参加除法运算 符号位:商的符号为被除数符号和除数符号异或,余数符号同被除数 被除数采用双倍字长 试除过程判溢出 求商过程中如果结果为负则商为零,恢复余数后左移一位继续进行除法运算;如果结果非负则商为 1,左移一位继续除法运算 主要通过求差、左移操作完成除法运算(2)原码一位不恢复余数除法 被除数和除数的绝
12、对值参加除法运算 符号位:商的符号为被除数符号和除数符号异或,余数符号同被除数 被除数采用双倍字长 试除过程判溢出 求商过程中如果结果为负则商为零否则商为 1,左移一位继续除法运算 主要通过求差、左移操作完成除法运算(3)并行乘法器 采用阵列除法器进行运算 10、浮点数加减运算 对阶(小阶向大阶看齐)、尾数相加减、规格化、舍入、判溢出(用阶码的双符号位)。11、浮点数乘/除运算(1)尾数部分进行乘/除(2)阶码部分相加/相减(3)结果规格化2.22.2 运算器运算器 运算器是计算机中执行各种算术和逻辑操作的部件,基本操作包括加、减、乘、除等算术运算以及与、或、非、异或等逻辑运算,此外还要完成移
13、位、比较和传送等操作。运算器一般包括算术逻辑运算单元(ALU)、累加器(ACC)、暂存器/缓冲器、程序状态字寄存器(PSW)、通用寄存器组等部件。各部件功能如下:ALU:是中央处理器的执行单元,完成基本算术逻辑操作。ACC:累加器用来存储算术或逻辑运算的一个操作数、计算所产生的中间结果以及运算结果的寄存器。暂存器/缓冲器:是 CPU 内部重要的数据存储资源之一,也是汇编程序员能直接使用的硬件资源之一。上述单总线结构中的 A 和 B、双总线结构中的缓冲器都属于暂存器/缓冲器。PSW:存放运算结果状态的寄存器。通用寄存器组:是 CPU 内部重要的数据存储资源之一,也是汇编程序员能直接使用的硬件资源
14、。由 于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C+语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。另外,由于寄存器的个数是有限的,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器的使用进行适当的调度。运算器结构(1)单总线结构(2)双总线结构(3)三总线结构 第三章第三章 存储系统存储系统 3.13.1 基本概念基本概念 (1)高速缓冲存储器:位于 CPU 和主存之间的一个高速小容
15、量存储器,用来存放主存中正在使用的程序和数据的部分副本,以提高 CPU 访问内存的速度。(2)主存储器:即内存。用来存放计算机运行期间所需要的程序和数据,CPU 可直接随机地对它进行读写访问。(3)辅助存储器:用来存放当前暂不参与运行的程序和数据,以及一些需要永久性保存的信息。CPU不能直接访问它。(4)虚拟存储器:是一种将大的存储空间映射到比它小得多的物理空间的机制。由 CPU 中的存储管理模块和操作系统中的相应模块共同支持。它使得应用程序员可以用比实际主存容量大的多虚存空间编程,从而解决了内存容量不足的问题。(5)随机存储器 RAM:RAM 单元的内容可以随机地读写访问。CPU 对任何一个
16、 RAM 存储单元的读写时间相同,且存取时间与存储单元的地址无关。(6)只读存储器 ROM:ROM 存储器的内容只能随机读出而不能写入。(7)顺序存取存储器 SAM:SAM 的内容只能按某种顺序存取,存取时间与信息在存储体上的物理位置有关。(8)直接存取存储器 DAM:信息的存需要两步逻辑操作:第一步直接指向整个存储器中的某个小区 域(如磁盘上的磁道),第二步在小区域内顺序检索或等待,直至找到目的地后再进行读写操作。(9)存储容量:是指主存所能容纳的二进制信息总量。(10)存取时间 Ta:是指从启动一次存储器操作到完成该操作所经历的时间。(11)存储周期 Tm:连续两次访问存储器操作之间所需要的最短时间。(12)数据传输率 BM:BM=W/Tm。其中 W:数据宽度;Tm:存储周期(13)SRAM:利用双稳态触发器的两个稳定状态来保存信息,只要不断电,信息不会丢失。(14)DRAM:利用电容存储电荷来保存信息,使用时需不断给电容充电才能使信息保持。(15)刷新:为了维持动态 RAM 的存储信息,每隔一定时间必须对存储体中的所有记忆单元的栅极电容补充电荷,这个过程就是刷新。(16)页表:是