文章目录
- 计算机系统的组成
- 计算机硬件
- 冯诺依曼计算机
- 主要特点
- 组成部分
- 冯诺依曼计算机结构
- 现代计算机结构
- 计算机软件
- 计算机程序语言的发展
- 软件和硬件功能的逻辑等价性
- 计算机系统的层次结构
计算机系统的组成
硬件系统和软件系统共同构成了一个完整的计算机系统。
- 硬件是指有形的物理设备,是计算机系统中实际物理装置的总称。
- 软件是指在硬件上运行的程序和相关的数据及文档。
计算机硬件
计算机硬件系统是构成计算机系统的各种物理装置的总称,例如中央处理器 CPU、内存、显卡、主板、固态硬盘、显示器、电缆等都属于计算机硬件。一般情况下,可将硬件划分为主机和外设两部分
冯诺依曼计算机
美籍匈牙利科学家冯·诺依曼最先提出“程序存储”(存储程序)(程序通过穿孔介质输入机器,之后长期贮存在机器内部的存储器中)的思想,并成功将其运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机(冯·诺依曼机)。
“程序存储”(存储程序)的基本思想是:将事先编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束。
“程序存储”(存储程序)的思想奠定了现代计算机的基本结构,由于他对现代计算机技术的突出贡献,因此冯·诺依曼又被称为“现代计算机之父”。
主要特点
冯诺依曼计算机主要特点:
-
构成程序的指令和数据均采用二进制表示。
-
指令和数据存放在存储器中,按地址访问。
-
指令在存储器中按顺序存放。一般情况下,指令是顺序执行的。
-
指令由操作码和地址码组成:
- 操作码用来表示执行何种操作。
- 地址码用来表示操作数在存储器中的位置。
-
机器以运算器为中心,输入/输出设备与存储器间的数据传送通过运算器完成。
-
计算机硬件由运算器、控制器、存储器、输入/输出设备 5 大部件组成。
组成部分
-
输入设备:将人们熟悉的信息形式转换为计算机能够识别的信息形式,常见的有键盘、鼠标、扫描仪、摄像头等。
-
输出设备:将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出,常见的有显示器、打印机等。
-
存储器:分为 主存储器 和 辅助存储器
-
主存储器:用于存放程序和数据可以直接与CPU交换信息,又称为内存储器,简称内存或主存,例如内存条。
-
辅助存储器:用于帮助主存存储更多的信息。又称为外部存储器,简称外存或辅存。辅存中的信息必须调入主存后,才能被 CPU 访问。例如硬盘驱动器(HDD)、固态硬盘(SSD)、光盘驱动器。
-
-
运算器:核心为算术逻辑单元
ALU
(Arithmetic Logic Unit),此外还包含了一些其他的相关寄存器。ALU
主要功能:- 算术运算:加、减、乘、除
- 逻辑运算:与、或、非、异或等
-
控制器:核心为控制单元
CU
(Control Unit),此外还包含了一些其他的相关寄存器。CU
主要功能如下:-
用于解释存储器中的指令,并发出各种操作命令来执行指令。
-
I/O 设备也受
CU
控制,用于完成相应的输入/输出操作。
-
冯诺依曼计算机结构
控制器与其他四个组件之间通过控制线和反馈线相连,其他部件需要在控制器的控制下协调工作,控制器通过控制线给其他部件发送控制信号,命令这些部件完成相应的任务,而其他部件通过反馈线将自身状态和任务完成情况反馈给控制器。
但是,每次输入/输出(I/O)操作都需要运算器参与,浪费很多可以用于运算的时间。
现代计算机结构
现代计算机以存储器为中心,五大组件:
现代计算机可以让输入/输出(I/O)设备直接与存储器交换数据,减少了 CPU 的负担,并提高了数据传输速率。数据通过输入设备进入系统,存储在存储器中。控制器负责协调各个部件的工作,运算器执行计算任务。处理后的数据最终通过输出设备呈现给用户。各部件之间通过数据线和控制线进行通信,确保数据的传输和指令的执行。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,在大规模集成电路制作工艺出现后,这两大部件往往被集成在同一颗芯片上,称为 中央处理器(CPU
,Central Processing Unit)
计算机软件
仅包含硬件系统的计算机是无法工作的,只有在硬件上运行软件系统,才能使计算机正常运行。
软件分为系统软件和应用软件两大部分:
-
系统软件:为管理整个计算机系统所编制的程序
-
应用软件:为实现用户应用所编制的各种程序
计算机系统性能的好坏,取决于软件和硬件系统功能的总和
程序是软件的重要组成部分,一台计算机中的全部程序和数据,就构成了这台计算机的软件系统。
计算机程序语言的发展
程序设计语言和语言翻译程序的关系:
将高级语言源程序转换为可执行目标文件的主要过程是:预处理 → 编译 → 汇编 → 链接
编译程序:将高级语言一次全部翻译为汇编语言或直接翻译为机器语言
汇编程序:将汇编语言翻译成机器语言
解释程序:高级语言翻译为机器语言(翻译一句执行一句)
-
随着硬件和软件的不断发展,人们又创造出了一类程序,称为操作系统(属于系统软件)。
-
操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作。
-
操作系统负责控制并管理计算机系统全部硬件资源(例如CPU、 内存和外部设备)和软件资源(例如编译程序、应用程序等)。
-
操作系统为用户使用计算机系统提供了极为方便的条件
-
-
随着计算机应用领域的逐渐扩大,还相应地出现了其他各类系统软件(例如数据库管理系统、网络系统等)以及多种多样应用软件。
-
随着软件的进一步发展, 将会出现更高级的计算机语言,其发展方向是标准化、积木化、产品化以及智能化,最终向自然语言发展,它们能够自动生成程序。
软件和硬件功能的逻辑等价性
硬件实现的往往是最基本的算术和逻辑运算功能,而其他功能大多通过软件的扩充得以实
现。在特定条件下,用软件实现的逻辑功能也可以通过硬件电路来实现,反之亦然。从用户的角度来看,它们在功能上是等价的。这一等价性被称为软/硬件逻辑功能的等价性。
- 对于一些特定的计算或控制任务,可以选择将其使用软件编程来实现,也可以选择设计专用硬件电路来实现,而两者的结果将在功能上等效。
软件和硬件的逻辑功能等价性是计算机科学的一个重要概念,也是计算机体系结构和工程中的基本原则之一。
-
当选择在软件层面实现某些逻辑功能时,这通常意味着使用通用处理器(例如CPU)来执行程序
-
而当选择在硬件层面实现这些逻辑功能时,这通常意味着使用专用的硬件电路,例如现场可编程门阵列
FPGA
(Field Programmable Gate Array)或专用集成电路ASIC
(Application Specific Integrated Circuit)技术。
软件实现 | 硬件实现 | |
---|---|---|
性能与速度 | 性能与速度弱于硬件实现 | 更高的性能和更快的响应时间 |
灵活性 | 相对容易地进行修改和更新 | 需要重新设计和制造 |
成本 | 开发软件相对便宜 | 开发和制造硬件比较昂贵 |
应用需求 | 有些任务更适合在软件层面完成,例如操作系统的功能 | 有些任务更适合在硬件层面完成,例如高频交易系统 |
当研制一台计算机时,设计者必须明确分配每一级的任务,确定哪些功能需要使用硬件实现,哪些功能需要使用软件实现。这是由设计目标、技术水平、性价比等综合因素决定的。
计算机系统的层次结构
计算机是一个非常复杂的系统,为了简化对计算机系统的研究和实现,可采用分层思想将计算机系统划分成一个层次结构的系统。
-
系统中的每一层都向其上层提供一个简洁和抽象的接口。
-
每一层的实现细节对其上层而言都是“看不见”的,也就是透明的。
-
计算机解决问题的过程就是层次结构中的各层逐层转换的过程。
-
下层是实现上层的基础,而上层实现对下层的功能扩展
计算机系统的分层方式,目前并没有统一的标准,这里介绍一种将计算机系统划分成六个抽象层的层次结构。
软件和硬件之间的界面就是指令集体系结构(ISA),ISA
定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么操作,以及所处理的操作数存放的地址空间和操作数类型。可以看出,ISA
是指软件能感知到的部分,也称软件可见部分。
计算机组成原理主要讨论微程序层机器的组成原理及设计思想。