### 计算机组成原理各章节重点总结
#### 一、计算机系统概述
##### (一)计算机发展历程
计算机的历史可以追溯到1946年,当时在美国宾夕法尼亚大学诞生了世界上第一台电子计算机——ENIAC(Electronic Numerical Integrator And Computer)。这台巨大的机器使用了大约18000个电子管、1500个继电器,重量达到30吨,占地面积约为170立方米,消耗电力高达140千瓦,尽管如此,它仍能以每秒5000次加法的速度进行运算。
在ENIAC之后不久,冯·诺依曼(John von Neumann)提出了存储程序的概念,即程序和数据都存储在同一个存储器中,这一创新极大地简化了编程过程,并成为现代计算机体系结构的基础。尽管此后计算机硬件经历了多次技术革新,但这种基于存储程序的架构一直被沿用至今,因此被称为冯·诺依曼机。
根据技术进步的不同阶段,我们可以将计算机的发展大致划分为以下几个时期:
- **第一代(1946-50年代后期)**:电子管计算机时代;
- **第二代(50年代中期-60年代后期)**:晶体管计算机时代;
- **第三代(60年代中期-70年代前期)**:集成电路计算机时代;
- **第四代(70年代初-至今)**:大规模集成电路计算机时代。
##### (二)计算机系统层次结构
1. **计算机硬件的基本组成**
计算机硬件主要包括以下五个组成部分:
- **运算器**:负责执行基本的算术和逻辑运算。
- **控制器**:控制计算机各个部件的协调工作。
- **存储器**:用来存储程序和数据。
- **输入设备**:用于输入数据和指令。
- **输出设备**:显示或输出处理结果。
运算器和控制器通常被集成在一个电路芯片中,形成中央处理器(CPU)。
2. **计算机软件的分类**
计算机软件主要分为两大类:
- **系统软件**:如操作系统、编译器等,用于管理和优化计算机系统的运行。
- **应用软件**:根据用户需求开发的各种应用程序,如办公软件、图形设计软件等。
3. **计算机的工作过程**
计算机执行指令的过程包括以下步骤:
- **取指令阶段**:从内存中读取指令并将其存储在指令寄存器中。
- **指令译码阶段**:分析指令的操作码,确定指令的操作类型。
- **指令执行阶段**:执行指令的操作,处理相应的数据。
指令由操作码和操作数组成,其中操作码指示指令的操作类型,而操作数则指示操作的对象。
##### (三)计算机性能指标
1. **吞吐量与响应时间**
- **吞吐量**:单位时间内计算机系统能够处理的数据量。
- **响应时间**:从输入指令到获得结果的时间间隔。
2. **CPU时钟周期、主频、CPI、CPU执行时间**
- **CPU时钟周期**(Tc):CPU完成一个基本操作所需的时间,它是机器主频的倒数。
- **主频**(Rc):CPU的工作频率,即每秒的周期数。
- **CPI**(Clock Cycles Per Instruction):执行一条指令所需的平均时钟周期数。
- **CPU执行时间**(TCPU):执行一个程序所需的总时间。
3. **MIPS与MFLOPS**
- **MIPS**(Million Instructions Per Second):每秒钟执行的百万条指令数。适用于评估标量计算机的性能。
- **MFLOPS**(Million Floating Point Operations Per Second):每秒钟执行的百万次浮点运算数。更适合评估向量计算机的性能。
#### 二、数据的表示和运算
##### (一)数制与编码
1. **进位计数制及其相互转换**
- **进位计数制**:一种基于进位机制的计数方法,由基数和权重两个概念构成。
- **基数**:计数系统中可用数字的数量。
- **权重**:每个位置上的数值相对于该位置的重要性。
- **不同数制间的转换**
- **二进制、八进制、十六进制转十进制**:通过公式\( (N)_r = \sum D_i \cdot r^i \)进行计算。
- **十进制转二进制**:对于整数部分,采用除2取余的方法;对于小数部分,采用乘2取整的方法。
通过以上总结可以看出,计算机组成原理不仅涉及硬件的设计和工作原理,还涵盖了软件的分类和执行流程等内容。了解这些基础知识对于深入理解计算机系统的工作方式至关重要。