计算机组成原理学习笔记

第一章 计算机系统概论

1.1 计算机系统的基本组成

  • 硬件系统:由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
    • 运算器:完成算术运算和逻辑运算,是计算机的核心计算部件。
    • 控制器:指挥计算机各部件协调工作,是计算机的控制中心。
    • 存储器:存储程序和数据,分为内存和外存。
    • 输入设备:将外部信息转换为计算机能处理的形式,如键盘、鼠标。
    • 输出设备:将计算机处理结果转换为人类可识别的形式,如显示器、打印机。
  • 软件系统:包括系统软件和应用软件。
    • 系统软件:如操作系统、编译程序等,管理和维护计算机资源。
    • 应用软件:为特定应用目的开发的软件,如Word、Photoshop。

1.2 计算机系统的层次结构

  1. 微程序级:硬件直接实现的最低层。
  2. 机器语言级:计算机能直接执行的二进制指令。
  3. 操作系统级:管理硬件和软件资源的层次。
  4. 汇编语言级:用助记符表示的指令系统。
  5. 高级语言级:如C、Java等面向用户的编程语言。

1.3 计算机的性能指标

  • 主频:CPU的时钟频率,单位为Hz,主频越高,运算速度越快。
  • 字长:CPU一次能处理的二进制位数,如32位、64位。
  • 运算速度:用MIPS(每秒百万条指令)或FLOPS(每秒浮点运算次数)衡量。
  • 存储容量:内存和外存的存储能力,单位有KB、MB、GB等。

第二章 计算机的发展与应用

2.1 计算机的发展历程

  1. 第一代(1946-1957):电子管计算机,体积大、功耗高、速度慢。
  2. 第二代(1958-1964):晶体管计算机,体积缩小、性能提高。
  3. 第三代(1965-1971):集成电路计算机,可靠性增强、成本降低。
  4. 第四代(1972-至今):大规模和超大规模集成电路计算机,性能大幅提升。
  5. 第五代(未来):人工智能计算机,具有智能处理能力。

2.2 计算机的应用领域

  • 科学计算:如气象预报、核物理研究等。
  • 数据处理:如企业管理、金融交易等。
  • 过程控制:如工业自动化、机器人控制等。
  • 计算机辅助系统:如CAD、CAM、CAI等。
  • 人工智能:如机器学习、自然语言处理等。
  • 网络应用:如互联网、物联网等。

第三章 存储器

3.1 存储器的分类

  • 按存储介质分:半导体存储器、磁表面存储器、光存储器。
  • 按存取方式分:随机存储器(RAM)、只读存储器(ROM)、顺序存储器(SAM)。
  • 按在计算机中的作用分:主存储器、辅助存储器、高速缓冲存储器(Cache)。

3.2 主存储器的组成与工作原理

  • 组成:存储体、地址寄存器、数据寄存器、译码驱动电路和读写电路。
  • 工作原理:CPU通过地址总线发送地址信号,译码电路选中对应存储单元,通过数据总线进行读写操作。

3.3 高速缓冲存储器(Cache)

  • 作用:解决CPU与主存速度不匹配的问题,提高访存效率。
  • 工作原理:将CPU近期可能用到的数据和指令复制到Cache中,CPU先访问Cache,命中则直接获取数据,未命中则从主存读取。
  • 映射方式:直接映射、全相联映射、组相联映射。

3.4 虚拟存储器

  • 概念:将主存和辅存统一管理,为用户提供一个比实际主存大得多的逻辑地址空间。
  • 实现方式:页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器。

第四章 计算机的运算方法

4.1 数值数据的表示

  • 二进制:计算机中最基本的数值表示形式。
  • 原码:最高位为符号位,其余位表示数值的绝对值。
  • 补码:正数的补码与原码相同,负数的补码是原码除符号位外取反加1。
  • 反码:正数的反码与原码相同,负数的反码是原码除符号位外取反。
  • 移码:在补码的基础上,将符号位取反。

4.2 定点数的运算

  • 加法:补码加法规则为[X+Y]补 = [X]补 + [Y]补。
  • 减法:转化为加法运算,[X-Y]补 = [X]补 + [-Y]补。
  • 乘法:原码乘法和补码乘法,采用移位和加法实现。
  • 除法:原码除法和补码除法,采用移位和减法实现。

4.3 浮点数的运算

  • 浮点数表示:由阶码和尾数两部分组成,如IEEE 754标准。
  • 运算步骤:对阶、尾数加减、规格化、舍入和溢出处理。

第五章 指令系统

5.1 指令格式

  • 组成:操作码和地址码。
    • 操作码:指明指令的操作类型,如加法、减法等。
    • 地址码:指明操作数的地址或来源。
  • 分类:零地址指令、一地址指令、二地址指令、三地址指令。

5.2 寻址方式

  • 立即寻址:操作数直接在指令中给出。
  • 直接寻址:指令中的地址码直接指向主存中的存储单元。
  • 间接寻址:指令中的地址码指向主存中的一个地址,该地址再指向操作数。
  • 寄存器寻址:操作数在寄存器中。
  • 寄存器间接寻址:寄存器中的值为操作数的地址。
  • 变址寻址:有效地址等于变址寄存器的值加上形式地址。
  • 基址寻址:有效地址等于基址寄存器的值加上形式地址。

5.3 指令类型

  • 数据传送类:如MOV、LOAD、STORE等。
  • 算术运算类:如ADD、SUB、MUL、DIV等。
  • 逻辑运算类:如AND、OR、NOT、XOR等。
  • 程序控制类:如JMP、CALL、RET、BRANCH等。
  • 输入输出类:如IN、OUT等。

第六章 CPU的结构和功能

6.1 CPU的基本组成

  • 运算器:完成算术和逻辑运算。
  • 控制器:包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序产生器和操作控制器。
  • 寄存器组:包括通用寄存器、专用寄存器(如PC、IR)等。

6.2 指令执行过程

  1. 取指令:从内存中取出指令送到指令寄存器。
  2. 指令译码:分析指令的操作类型和操作数地址。
  3. 计算操作数地址:根据寻址方式计算操作数的有效地址。
  4. 取操作数:从内存或寄存器中取出操作数。
  5. 执行指令:完成指令规定的操作。
  6. 保存结果:将结果存入指定的寄存器或内存单元。
  7. 更新PC:指向下一条指令的地址。

6.3 时序控制

  • 同步控制:采用统一的时钟信号,所有操作在时钟周期的控制下完成。
  • 异步控制:没有统一的时钟信号,操作的完成时间由各部件自身的状态决定。
  • 联合控制:结合同步和异步控制的优点。

6.4 微程序控制

  • 微指令:控制计算机完成一步操作的命令。
  • 微程序:由微指令组成的序列,实现一条机器指令的功能。
  • 微程序控制器:包括控制存储器、微指令寄存器和微地址形成部件。