计算机系统层次结构

简介: 通常由用户用高级语言编写程序(称为源程序),然后将它和数据一起送人计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并将计算结果输出。

通常由用户用高级语言编写程序(称为源程序),然后将它和数据一起送人计算机内,再由
计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程
序,并将计算结果输出。其过程如图 1.1所示
用户编写的高级
语言程序(源程序)
翻译成机器目标程序
语言程序
计算机
运行
结果
图1.1 计算机的解题过程
实际上,早期的计算机只有机器语言(用0、1代码表示的语言),用户必须用二进制代码(0、
1来编写程序(即机器语言程序)。这就要求程序员对他们所使用的计算机硬件及其指令系统
十分熟悉,编写程序难度很大,操作过程也极容易出错。但用户编写的机器语言程序可以直接在
机器上执行。直接执行机器语言的机器称为实际机器 M,,如图 1.2所示
实际机器 M,
机器语言程序直接在 M,上执行
机器语言程序)
图1.2 实际机器 M,
20 世纪 50 年代开始出现了符号式的程序设计语言,即汇编语言。它用符号 ADD、SUB
MUL、DIV 等分别表示加、减、乘、除等操作,并用符号表示指令或数据所在存储单元的地址,使程
序员可以不再使用繁杂而又易错的二进制代码来编写程序。但是,实际上没有一种机器能直接
识别这种汇编语言程序,必须先将汇编语言程序翻译成机器语言程序,然后才能被机器接受并自
动运行。这个翻译过程是由机器系统软件中的汇编程序来完成的。如果把具有翻译功能的汇编
程序的计算机看做
一台机器 M,,那么,可以认为 M,在M,之上,用户可以利用 M,的翻译功能直
接向 M,输人汇编语言程序,而 M,又会将翻译后的机器语言程序输人给 M,,M,执行后将结果输
出。因此,M,并不是一台实际机器,它只是人们感到存在的一台具有翻译功能的机器,称这类机
器为虚拟机。这样,整个计算机系统便具有两级层次结构,如图 1.3所示。
第二级
虚拟机器 M,
(汇编语言机器)

实际机器 M
(机器语言机器)
机器语言程序直接在 M,上执行
图1.3 具有两级层次结构的计算机系统

尽管有了虚拟机 M,使用户编程更为方便,但从本质上看,汇编语言仍是一种面向实际机器
的语言,它的每一条语句都与机器语言的某一条语句(0、1代码)一

  • 一对应。因此,使用汇编语言

编写程序时,仍要求程序员对实际机器 M,的内部组成和指令系统非常熱悉,也就是说,程序员
必领经过专门的训练,否则是无法操作计算机的。另一方面,由于汇编语言摆脱不了实际机器的
指令系统,因此,汇编语言没有通用性,每台机器必须有一种与之相对应的汇编语言。这使得程
序员要掌握不同机器的指令系统,不利于计算机的广泛应用和发展。
20世纪 60年代开始先后出现了各种面向问题的高级语言,如 FORTRAN、BASIC、PASCAL
等。这类高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性。程序员完
全不必了解、掌握实际机器 M,的机型、内部的具体组成及其指令系统,只要掌握这类高级语言
的语法和语义,便可直接用这种高级语言来编程,这给程序员带来了极大的方便。当然,机器 M,
本身是不能识别高级语言的,因此,在进人机器 M,运行前,必须先将高级语言程序翻译成汇编
语言程序(或其他中间语言程序),然后再将其翻译成机器语言程序;也可以将高级语言程序直
接翻译成机器语言程序。这些工作都是由虚拟机器 M,来完成的,对程序员而言,他们并不知道
这个翻译过程。由此又可得出具有三级层次结构的计算机系统,如图1.4 所示•
第三级
虑拟机器 M,
(高级语言机器)
第二级
虚拟机器 M,
(汇编语言机器)

-级
实际机器 M,
(机器语言机器)
机器语言程序直接在 M,上执行
图1.4 具有三级层次结构的计算机系统
通常,将高级语言程序翻译成机器语言程序的软件称为翻译程序。翻译程序有两种:一种是
编译程序,另一种是解释程序。编译程序是将用户编写的高级语言程序(源程序)的全部语句
次全部翻译成机器语言程序,而后再执行机器语言程序。因此,只要源程序不变,就无须再次进
行翻译。例如,FORTRAN、PASCAL 等语言就是用编译程序来完成翻译的。解释程序是将源程
序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下
一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。它的特点是翻译一次执
行一次,即使下一次重复执行该语句时,也必须重新翻译。例如,BASIC 语言的翻译就有解释程
序和编译程序两种。
从上述介绍中不难看出,由于软件的发展,使实际机器 M,向上延伸构成了各级虛拟机器
同理,机器 M,内部也可向下延伸而形成下一级的微程序机器 M。。机器 M。是直接将机器 M,中用一个专门的乘法电路,也可以采用连续相加的加法电路来实现,这两者的区别就是计算机组成
的区别。究竟应该采用哪种方式来组成计算机,要考虑到各种因素,如乘法指令使用的频度、两
种方法的运行速度、两种电路的体积、价格、可靠性等。
不论是过去还是现在,区分计算机结构与计算机组成这两个概念都是十分重要的。例如,许
多计算机制造商向用户提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即
使是同一系列不同型号的机器,其价格和性能也是有极大差异的。因此,只知其结构,不知其组
成,就选不好性能价格比最合适的机器。此外,
,一种机器的体系结构可能维持许多年,但机器的
组成却会随着计算机技术的发展而不断变化。例如,1970年首次推出了 IBM System/370 结构,
它包含了许多机型。一般需求的用户可以买价格便宜的低速机型;对需求高的用户,可以买一台
升级的价格稍贵的机型,而不必拋弃原来已开发的软件。许多年来,不断推出性能更高、价格更
低的机型,新机型总归保留着原来机器的结构,使用户的软件投资不致浪费。

相关文章
|
7月前
|
算法 调度
计算机系统结构
【1月更文挑战第5天】计算机系统结构。
90 2
|
6月前
|
开发框架 Java 程序员
什么是层次式体系结构?
层次式体系结构设计是将系统组成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。
97 1
|
7月前
|
存储 固态存储 安全
计算机硬件组成部分
中央处理器(CPU) • 功能: 负责执行计算机程序的指令,是计算机的大脑。 • 细节: 包括控制单元(CU)和算术逻辑单元(ALU)。CU负责指令流程控制,而ALU执行实际的算术和逻辑运算。 内存(RAM - 随机存取存储器) • 功能: 提供临时存储空间,用于存储正在运行的程序和数据。 • 细节: RAM 是易失性存储器,关机后数据会丢失。访问速度比存储设备快。 存储设备(硬盘驱动器/固态驱动器) • 功能: 用于永久性存储数据和程序。 • 细节: 硬盘驱动器(HDD)通过旋转磁盘存储数据,而固态驱动器(SSD)使用存储芯片,速度更快。
388 0
|
JavaScript 前端开发 Java
1.2计算机系统的层次结构
1.2计算机系统的层次结构
136 0
1.2计算机系统的层次结构
|
Java 程序员 C++
1.2.3计算机系统的层次结构
1.2.3计算机系统的层次结构
|
网络协议 网络架构
计算机网络的层次结构
计算机网络的层次结构
计算机网络的层次结构
|
存储 Java
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
259 0
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
|
存储 Java
计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
331 0
计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
|
存储 缓存 安全
解读《深入理解计算机系统(CSAPP)》第6章存储器层次结构
本章我们了解存储器层次结构、基本的存储技术(磁盘结构、固态硬盘结构、高速缓存存储器)等
解读《深入理解计算机系统(CSAPP)》第6章存储器层次结构
|
C# 开发者 Windows
【5分钟系列】计算机系统结构的定义
【5分钟系列】计算机系统结构的定义
364 0
【5分钟系列】计算机系统结构的定义
下一篇
DataWorks