本节内容:计算机硬件系统的组件。
计算机的核心组件:CPU、内存、主板、硬盘、显卡、显示器和键盘。
计算机的结构演进冯·诺依曼,以存储为中心的计算机体系结构,现代计算机体系结构。
计算机系统的五个层次:第 0 层微指令、第 1 层机器语言指令集、第 2 层操作系统、第 3 层汇编语言、第 4 层高级语言。
在本节中,我们将介绍计算机的硬件组件,并对计算机有一个全面的了解。 在接下来的课程中,我们将重点介绍计算机的各种硬件。 学习如何通过计算机软件控制计算机各种硬件的工作。
计算机硬件组成
图 1-9 计算机配置。
图 1-9 显示了计算机的硬件组成。 在学习编程之前,我们需要澄清一个概念:计算机系统分为硬件系统和软件系统。 计算机硬件由CPU、内存、主板、磁盘、IO输入输出设备等一系列硬件组成。 计算机没有智能,就没有生命。 计算机软件是由程序员编写的数据和指令组成的可执行程序,包括操作系统、基础软件和应用软件。 计算机在程序员编写的控制指令下运行并完成预定任务。 在本节中,我们将熟悉计算机的硬件组件和功能。 在第二部分:十六位编译在本章中,我们将学习如何通过编写程序指令来控制 8086 计算机的 CPU、内存、磁盘、键盘、显示器、打印机和其他组件的运行。 我们完成这部分的学习后,就会对计算机操作的原理有深刻的理解,这对我们以后的学习有很大的帮助。
下面我们将分别介绍计算机的主要部件。
●cpu
CPU相当于计算机的大脑。
CPU的作用是什么?
第一个功能是控制计算机的各个部分工作。
第二个角色是执行算术和逻辑运算。
第三个作用是数据交换。
我们将在第 6 章 8086 CPU 寄存器本章详细介绍了 CPU 寄存器。
母板
主板是计算机各个部件的载体。 主板通过插槽和总线将 CPU 连接到外部组件。 我们可以在主板上看到的连接各个插槽的印刷电路是总线。 总线又分为数据总线、地址总线和控制总线。 本章内容“1.5节巴士”。我们将在本节中更详细地介绍。
如图1-10所示,CPU插槽位于主板中央,CPU通过总线与主板上其他硬件设备的插槽连接。
记忆
存储器是存储数据和指令的地方,由数千个寄存器组成。 内存通过主板上的内存模块插槽连接到 CPU。 内存存储空间的大小以字节为单位,每个字节都有一个地址号。 我们将在“1.第三节 基本概念”。详细解释了记忆的概念。 内存读取和写入数据的速度相对较快。 内存是计算机中仅次于CPU的最重要部分。 内存越大,计算机可以同时处理的数据就越多。 记忆力将成为我们未来学习内容的重点。 我们将在第七章 8086 寻址方法详细介绍了 8086 计算机。
硬盘
硬盘是外部存储设备,也称为磁盘。 数据通常以文件的形式存储,由硬盘中的磁头读取和写入。 硬盘存储数据的容量远大于内存,成本低,但读写数据的速度相对较慢。 第 13 章 磁盘文件管理和应用程序在章节中,我们将详细解释 8086 计算机磁盘文件的操作。
显卡
显卡称为 GPU,是用于通过屏幕显示数据的组件。 早期的图形通过主板上的一个单独的插槽连接到CPU。 现在,由于VLSI集成电路的发展,一些CPU制造商已经将显卡集成到CPU中,这称为集成显卡。 显卡有自己独立的存储空间,称为显存。 显存分为RAM动态存储和ROM静态存储两部分。 我们将要在屏幕上显示的数据写入到显存的RAM动态存储空间中,然后就可以显示在屏幕上了。 显存的ROM静态存储空间存储显卡的IO驱动。 显存越大,同时存储的数据越多,显卡的性能越高,屏幕显示越流畅。 我们将在第 16 章 输入和输出中断本章详细介绍了 8086 计算机图形驱动程序的实现。
图1-10 电脑主板电路图
显示
显示器是显卡用来显示数据的标准输出设备。 作为程序员,我们需要学习纯图形设备的驱动程序,而不需要关心显示器的物理特性。
光驱
光驱是一种用于读写光盘的外部输入输出设备,随着移动硬盘设备的飞速发展。 今天的计算机使用相对较少。
键盘
键盘是我们用于人机交互的设备,是计算机的标准输入设备。 键盘上的按键分为字符键、功能键和控制键。 每个按钮对应一个扫描码。 当我们按下字符键时,会生成一个密码,并获得一个扫描码和一个 ASCII 码,指示按下哪个键及其对应的字符。 功能键 F1 和 F12 的 ASCII 码为 0。 Ctrl、Alt、Shift、CAPS 和 Numlock 键都是控制键,按下 control 键,就会在键盘键状态字节对应的标志位置 1 处,当我们得到键盘状态字节时,我们就知道是否按了以及按哪个控制键。 我们将在下面看到详细信息第 16 章 输入和输出中断在各章中进行了更详细的解释。
鼠
鼠标是另一种用于人机交互的输入设备,实际上相当于一个简化的键盘。 早期,鼠标只有一个按钮,后来发展为左右两个按钮。 今天,鼠标左右按钮的中间还有一个滚轮,用于操纵窗口的滚动条。 我们将在Windows 编程课程中详细介绍了鼠标设备的操作。
其他设备
机箱是电脑的外壳,包括控制电脑开机的按钮,通过连接线连接到主板的相应插槽。
电源设备是给计算机供电的外部设备,包括主板的电源连接器和其他外部设备的独立电源连接器。
早期,网卡和声卡设备是独立的外部设备,通过主板插槽连接到CPU,网卡控制计算机连接到外部Internet。 声卡控制声音的输入和输出。 如今的计算机通常将声卡和网卡集成到主板中,而不是使用单独的设备。
还有一些其他外部设备,如扫描仪、打印机等。 关于我们将使用的打印机设备第15章 数据传输方式跟第 16 章 输入和输出中断在本章中有详细描述。
总结。 CPU是计算机系统的核心,CPU内部的控制单元控制着计算机外部设备的运行。 CPU 内部的算术逻辑运算单元执行算术逻辑运算。 CPU 中的寄存器执行数据存储、命令控制、状态记录和寻址等操作。
CPU通过主板的总线连接到主板插座上的外部设备,通过控制总线传输控制命令来控制外部设备的运行。 数据通过数据总线传输到外部设备。 通过地址总线获取外部设备的端口地址。 CPU还可以通过指定的端口地址读取外部设备的状态寄存器,获取外部设备的当前状态信息。
内存是计算机中除 CPU 之外最重要的部分。 内存是一组连续的线性存储空间(以字节为单位),每个字节都有一个地址号。 计算机和外部设备之间的数据传输,程序的加载和运行,都离不开内存。 如果要在内存中读取和写入数据和指令,则必须找到内存中数据或指令的确切地址。 因此,正确的寻址是读写存储器数据和程序控制的关键。
键盘是计算机人机交互的标准输入设备。 显卡和屏幕是计算机人机交互的标准输出设备。
此外,我们常用的输出设备之一是打印机设备。 我们将计算机的 I/O 设备称为计算机的 I/O 设备。 我们将在第 16 章 输入和输出中断这些设备的驱动程序在章节中有详细描述。
简而言之,计算机由许多硬件设备和软件组成,我们称之为计算机系统。 程序员通过编写计算机软件和发送控制命令来控制计算机的运行。
提示。 有些读者可能是初学者,对上述内容中提到的一些概念仍然比较陌生。 没关系,我们将在接下来的章节中详细解释这些概念,以及它们的实现原则和过程。 当我们在了解了具体内容后再回到上面的内容时,应该会更加熟悉。
典型的冯氏。 诺依曼结构式:(巴贝奇的分析机器原理)。
图1-11 冯。 诺依曼结构式
图 1-11 所示的冯·诺依曼结构实际上是巴贝奇解析机的继承者。 有三个关键组件:输入设备、输出设备和内存。 中间有一个运算器,它功能是算术运算和逻辑运算。 此外,还有一个控制器,控制器的作用是控制计算机的各个部分工作。
让我们看一下冯·诺依曼结构的工作流程。 我们使用黑色实线作为数据线,蓝色虚线作为控制线。
我们先来看看数据传输过程
数据首先由输入设备输入。
输入数据后,数据被输入到运算器中进行算术逻辑运算。
在执行算术逻辑运算时,运算器和存储器之间存在数据交换。 例如,从内存中读取操作数,或者将计算的临时结果保存在内存中。
输出数据。 有两种情况,一种是运算器计算结果并直接输出。 第二种是取出保存在内存中的结果并输出。
我们来看一下控制命令的传输过程:
控制器向输入设备发送控制命令。
控制器向输出设备发送控制命令。
控制器向运算器发送控制指令。
控制器向内存发送指令。
接下来,让我们看一下以存储为中心的计算架构。
以存储为中心的计算机体系结构
图 1-12 以内存为中心的计算机结构。
图1-12所示为以存储为中心的计算结构,分为三个数据指令传输过程。 诺依曼结构增加了一个反馈过程。 它的部分是 和 von。 诺依曼结构的主要组成部分是相同的,有输入设备、输出设备控制器、存储器和运算器。 只是它的工作流程发生了变化。
我们先来看一下控制过程:
控制器向输入设备发送控制命令。
控制器向输出设备发送控制命令。
控制器向运算器发送控制指令。
控制器向内存发送指令。
冯·诺依曼结构没有变化。
让我们看一下数据传输过程:
首先,从输入设备输入数据。
然后,数据从输入设备进入存储器。
存储器将数据(指令)馈送到控制器中。
运算器可以对内存执行双向读/写操作。
数据由存储器馈入输出设备,结果输出。
让我们再看一下反馈过程:
当控制器通过控制命令操作输入设备、输出设备、存储器和运算器时,设备将设备状态返回给控制器,以确定错误的原因和下一步该怎么做。
与冯·诺依曼结构相比,以存储为中心的计算机体系结构有哪些优势?
在冯·诺依曼结构中,如果工作流程是错误的(它的任何部分都可能出错),我们不知道。 如果有反馈信息,那么我们可以一目了然地知道问题出在哪里,是输入设备还是输出设备。 这是一项重要的改进。
此外,采用以存储为中心的计算机结构,传输数据和指令的过程更加简洁高效。 存储器中的数据被馈入运算器,存储器中的指令被馈送到控制器中。
注意。 一个新的问题出现了,我们如何知道哪些是数据,哪些是指令?如果我们在编写程序时按照指定的编码格式对指令和数据进行编写和标注,并将片段存储在不同的区域,这个问题就可以轻松解决。 这就是我们后来编写程序时所做的。
现代计算机体系结构
如图1-13所示,现代计算机的结构类似于以存储为中心的结构,包括IO输入和输出设备。 CPU内部有一个控制单元和一个逻辑算术单元,后跟一个主存储器。
现代计算机体系结构类似于以内存为中心的计算机体系结构工作流,包括在 CPU、主内存和外部 IO 设备之间移动的数据、命令和反馈信息的传输,这里不再赘述。
5级计算机系统
如图1-14所示,请参见图1-14
第 0 层微指令:是物理逻辑电路,不是普通用户编写的程序指令,属于商业秘密。
第 1 层机器语言指令集:在处理器内部固化,进行移动、加法、乘法等操作,每种机器语言可分成若干条微指令执行。
第 2 层操作系统:能够理解用户发出的交互式命令,例如执行程序、显示目录等。 操作系统被转换为机器代码并在第 1 层执行。
第 3 层汇编语言:在操作系统之上实现大规模软件实际开发的转换层。 汇编指令被翻译成机器语言并由操作系统执行。
图1-14 多级计算机系统
第 4 层高级语言C++、C、J**A、Python等高级语言首先由编译器翻译成C,然后翻译成汇编语言,最后翻译成机器语言,由操作系统执行。 其他应用程序脚本的应用程序语言由该语言的解释器解释为 C 语言并直接运行。
注意。 汇编语言很特殊。 汇编语言程序可以在操作系统上运行,也可以绕过操作系统,直接控制硬件。 我们将在第 16 章 输入和输出中断在本章中详细解释。
提示。 我们在C语言阶段将发明一种新的高级语言,并编写一个简单的编译器和解释器,以在我们自己的 \tron 虚拟机上运行。 当我们完成这个项目时,我们将对计算机和计算机软件的工作原理有非常深刻的了解。
实践。 1.自己组装一台PC,熟悉PC的各个组件。 组装了 PC 的学生可以忽略它。
2. 写下计算机系统的 5 个虚拟机层,并解释用于处理不同虚拟机层的翻译技术。
3. 为什么程序员不能使用微指令来编写应用程序?
4、如果自己组装PC,需要购买哪些零件,需要注意哪些细节?如果您不明白,可以在线查看信息或询问卖家的客服。
5. 冯·诺依曼计算机的特点是什么?
6、请画出主机结构图,说明各部件的作用是什么
7. 汇编语言是否真的作系统翻译成机器语言?请具体说明。
摘自编程大师系列教材《x86汇编语言基础课程》!