一 计算机系统知识
1.1 计算机硬件组成
计算机的硬件由五大部分组成:
- 运算器(如:CPU)
- 控制器(如:CPU)
- 存储器(如:内存、硬盘)
- 输入设备(如鼠标、键盘)
- 输出设备(如显示器)
输入设备 和 输出设备合并称为外部设备,即外设。
运算器和控制器两部分组成CPU,又称微处理器 。
1.1.1 运算器
执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
组成
- 由算术逻辑单元ALU(数据的算术和逻辑运算)、
- 累加寄存器AC(运算结果或源操作数的存放区)、
- 数据缓冲寄存器DR (暂时存放内存的指令或数据)、
- 状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。
1.1.2 控制器
控制整个CPU的工作,最为重要。
组成
- 指令寄存器IR(暂存CPU执行指令)
- 程序计数器PC(存放指令执行地址)
- 地址寄存器AR(保存当前CPU所访问的内存地址)
- 指令译码器ID(分析指令操作码)
1.1.3 存储器
组成
- 内部存储器(即内存,容量小,速度快,临时存放数据)
- 外部存储器(即硬盘、光盘等,容量大,速度慢,长期保存数据)
1.2 中央处理单元CPU
CPU是计算机系统的核心部件,它负责获取程序指令、对指令进行译码并加以执行。
1.2.1 功能
程序控制。CPU通过执行指令来控制程序的执行顺序,这是CPU的重要功能。操作控制。一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。时间控制。CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。数据处理。CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。 此外,CPU 还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。
1.2.2 组成
- 运算器
- 控制器
- 寄存器
- 内部总线
1.3 数据表示
1.3.1 定义
各种数值在计算机中表示的形式称为机器数,其特点是采用二进制计数制,数的符号用0和1表示,小数点则隐含,不占位置。
数的4种编码方式
原码:一个数的正常二进制表示,最高位表示符号,数值0的源码有两种形式:+0 ( 00000000)和-0 ( 10000000)。
反码:正数的反码即原码;负数的反码是在原码的基础上,除符号位外,其他各位按位取反。数值0的反码也有两种形式:+0 ( 0 0000000),-0 ( 11111111)。
补码:正数的补码即原码;负数的补码是在原码的基础上,除符号位外,其他各位按位取反,而后末位+1,若有进位则产生进位。因此数值0的补码只有一种形式+0=-0= 00000000。
移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到移码。
要注意的是,原码最高位是代表正负号,且不参与计数;而其他编码最高位虽然也是代表正负号,但参与计数。
1.4 校验码
码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B: 11,码距为2。一般来说,码距越大,越利于纠错和检错。
1.4.1 奇偶校验码
定义
在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码 距变为2。奇校验可以检测编码中奇数个数据位出错,即当合法编码中的奇数位发生了错误时,即编码中的1变成0或者О变成1,则该编码中1的个数的奇偶性就发生了变化,从而检查出错误。但无法纠错。
二、计算机体系结构
2.1 指令系统
2.1.1 CISC复杂指令系统
兼容性强,指令繁多、长度可变,由微程序实现;
2.1.2 RISC简指令系统
指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)。
2.2 存储系统
2.2.1 计算机存储结构层次图
2.3 总线结构
从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类
- 内部总线:内部芯片级别的总线,芯片与处理器之间通信的总线。
- 系统总线:是板级总线,用于计算机内各部分之间的连接,具体分为数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小)、控制总线(传送控制命令)。代表的有ISA总线、EISA总线、PCI总线。
- 外部总线:设备一级的总线,微机和外部设备的总线。代表的有RS232(串行总线)、SCSl(并行总线)、USB(通用串行总线,即插即用,支持热插拔)。
并行总线适合近距离高速数据传输,串行总线适合长距离数据传输,专用总线在设计上可以与连接设备实现最佳匹配。
总线计算:总线的时钟周期=时钟频率的倒数;总线的宽度(传输速率)=单位时间内传输的数据总量/单位时间大小。