一:计算机系统的组成

计算机系统由硬件系统和软件系统共同构建起来

二:计算机硬件系统

1:早期的冯·诺依曼机

美籍匈牙利科学家冯·诺依曼提出“程序存储”根据这一原理制造的计算机被称为冯·诺依曼结构计算机。被称为“现代计算机之父”。

“程序存储”:指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。即按地址访问并顺序执行指令

计算机按照此原理应具有5大功能:数据传送、数据存储、数据处理、操作控制、操作判断

冯诺曼体系结构特点:

计算机硬件系统由五大部件组成(存储器、运算器、控制器、输出设备、输入设备)指令和数据以同等地位存于存储器,可按地址寻访指令和数据用二进制表示指令由操作码和地址码组成存储程序以运算器为中心

2:计算机硬件系统的五大部件

下面我们详细分解这五大部件。

1. 存储器 (Memory)

功能:存放程序和数据。

核心指标:

存储容量:能存储信息的总量,单位通常是字节(Byte)、KB、MB、GB、TB等。

存取速度:完成一次读/写操作所需的时间。

层次结构:为了解决容量、速度和成本之间的矛盾,现代计算机采用多级存储器体系。

高速缓存 (Cache):速度最快,容量最小,成本最高。直接与CPU交换数据,用于缓解CPU和主存之间的速度差异。

主存储器 (主存/Memory):常说的“内存”(如DRAM)。速度较快,容量中等,存放当前正在运行的程序和数据。CPU只能直接访问Cache和主存。

辅助存储器 (外存/Storage):如硬盘(HDD)、固态硬盘(SSD)。速度慢,容量巨大,成本低,用于长期保存数据。程序和数据必须调入主存才能被CPU执行。

工作方式:按地址进行访问。每个存储单元都有一个唯一的地址,就像大楼的每个房间都有一个房号一样。

2. 运算器 (Arithmetic Logic Unit, ALU)

功能:是计算机的“算盘”,负责进行所有的算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或等)。

组成:由算术逻辑单元(ALU)、累加器(ACC)、寄存器组等组成。运算所需的数据来自内存,运算结果则写回内存或寄存器。

3. 控制器 (Control Unit, CU)

功能:是计算机的“指挥中心”,负责协调并控制计算机各部件执行程序的指令序列。

工作流程:

取指令:从内存中取出指令。

分析指令:翻译指令,明确要完成什么操作。

执行指令:根据指令的含义,发出相应的操作命令(控制信号),指挥运算器、存储器等部件完成操作。

核心寄存器:

程序计数器 (PC):存放下一条要执行指令的地址。(PC指向哪里,CPU就执行哪里)

指令寄存器 (IR):存放当前正在执行的指令。

与运算器的关系:控制器和运算器合称为中央处理器(CPU)。CPU是计算机的“大脑”。

4. 输入设备 (Input Devices)

功能:将外部的信息(数据、程序、命令)转换成计算机能识别和处理的形式,并送入计算机内部。

例子:键盘、鼠标、扫描仪、麦克风、摄像头等。

5. 输出设备 (Output Devices)

功能:将计算机处理的结果转换为人或其他设备所能识别的形式,并输出。

例子:显示器、打印机、音响等。

输入设备和输出设备合称为I/O设备或外部设备。

3:工作流程(以执行一个程序为例)

让我们以计算 1 + 2 这个简单任务为例,看看硬件是如何协作的。

输入程序和数据:

通过输入设备(键盘)将计算程序 a = 1 + 2 和原始数据 1、2 输入计算机。

这些程序和数据被存入主存储器。

取指令与分析:

控制器中的程序计数器(PC) 指向程序的第一条指令的地址。

控制器根据这个地址,从主存中取出第一条指令(例如,“将内存地址X的数取出来”),放入指令寄存器(IR)。

控制器分析这条指令,明白是要执行一个“取数”操作。

执行指令:

控制器发出控制信号,命令主存储器将地址X中的数据 1 读取出来,并送到运算器的某个寄存器(如ACC)中。

PC自动加1,指向下一条指令。

继续执行:

PC取下一条指令(“将内存地址Y的数取出来,并与ACC中的数相加”)。

控制器分析后,指挥主存取出数据 2,并命令运算器(ALU) 执行加法操作。ALU将 1 和 2 相加,得到结果 3,暂存在ACC中。

PC再指向下一条指令。

存储结果与输出:

最后一条指令可能是“将ACC中的结果存回内存地址Z”或“输出结果”。

如果是存储,控制器指挥将结果 3 写回主存。

如果是输出,控制器指挥输出设备(如显示器)将结果 3 显示出来。

整个过程,本质上就是“取指-分析-执行”的循环,周而复始,直到程序结束。

4:总线 (Bus)

上述所有部件并非独立存在,它们需要通过通道相互连接。这个公共通道就是总线。

功能:是计算机各部件之间传输信息的公共通信干线。

分类(按传输信息类型):

数据总线 (Data Bus):在部件间双向传输数据。它的宽度(位数,如64位)决定了CPU一次能处理数据的位数,是计算机字长的重要指标。

地址总线 (Address Bus):由CPU单向发出,用于指定所要访问的存储单元或I/O端口的地址。它的宽度决定了CPU的寻址能力(例如,32位地址总线可寻址 2^32 = 4GB 的内存空间)。

控制总线 (Control Bus):传输控制信号,如读/写信号、中断请求、时钟信号等。有的是CPU发出,有的是向CPU输入。

总线结构极大地简化了计算机的系统设计,使得各部件只需关注与总线的接口即可。

三:计算机软件系统

1:计算机软件的分类

计算机软件,一般分为系统软件和应用软件

系统软件包括 操作系统,数据库管理系统,语言处理系统(比如编译器),分布式软件系统,网络软件系统,标准库系统,服务性系统(比如连接程序)。

应用软件包括各种科学计算类程序,工程设计类程序,数据统计与处理程序。

注意:数据库管理系统和数据库系统是有区别的。数据库管理系统是系统软件。而数据库系统一般是由数据库,数据库管理系统,数据库管理员和应用系统构成。所以只能说它里面有系统软件,但并不能说它为系统软件。

2:三个级别的语言

机器语言。又称二进制代码语言,需要编程人员记忆每条指令的二进制编码。机器语言是计算机唯一可以直接识别和执行的语言。

汇编语言。汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。

高级语言。高级语言(如C、C++、Java等)是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序。

由高级到汇编叫做编译,由汇编到机器叫做汇编,边翻译边执行的叫做解析。

四:计算机性能指标