计算机系统简介

**计算机由硬件和软件组成。**
软件包括系统软件和应用软件。
系统软件又称为系统程序,用来管理整个计算机系统、监视服务,使系统资源得到
合理调度。包括:标准程序库、语言处理程序(将汇编语言翻译成机器语言的汇编程序;
将高级语言翻译成机器语言的编译程序)、操作系统(如批处理系统、分时系统、实时
系统)、服务性程序(如诊断程序、调试程序、连接程序)、数据库管理系统、网络软件等。
应用软件又称为应用程序,是用户根据任务需要所编制的各种程序。
汇编语言的每条指令与机器语言的某条语句一一对应。汇编语言摆脱不了实际机器的
指令系统,汇编语言没有通用性,每台机器必须有一种与之相对于的汇编语言。

编译程序是将用户编写的高级语言程序的全部语句一次性全部翻译成机器语言程序,
然后在执行机器语言程序。
解释程序是将一条语句翻译成对应于机器语言的一条语句,并立即执行这条语句,接着
再翻译源程序的下一条语句,并执行,如此反复直到完成源程序的全部翻译任务。

**计算机系统层次结构**
虚拟机器M4(高级语言机器) ——用编译程序翻译成汇编语言
虚拟机器M3(汇编语言机器) ——用汇编程序翻译成机器语言程序
虚拟机器M2(操作系统机器) ——用机器语言解释操作系统
传统机器M1(用微程序解释机器语言) ——用微程序解释机器指令
微程序机器M0(由硬件直接执行微指令) ——由硬件直接执行微指令

**计算机体系结构与计算机组成。**
计算机体系结构:能被程序员所见到的计算机系统的属性,即概念性的结构和功能特性,
通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看
到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于
抽象的属性。
由于计算机系统具有多机层次结构,因此站在不同层次上编程的程序员所看到的计算机
属性也各不相同,比如用高级语言编程的程序员,可以把IBM PC 和 RS6000两种机器看
成是同一属性的机器,可是对于使用汇编语言编程的程序员来说,这是两种截然不同的
机器,因为程序员看到的这两种机器的指令集、数据类型、寻址技术等都是完全不同的。

计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是
透明的硬件细节。
比如,指令系统体现了机器的属性,这是属于计算机结构的问题。但是指令的实现,如何
取指令、分析指令、取操作数、如何运算、如何送结果等等,这些都属于计算机组成问题。
因此,当俩台机器指令系统相同时,只能认为他们具有相同的结构。至于这两台如何实现
其指令,完全可以不同,则我们认为他们的组成方式是不同的。

**冯诺依曼提出,存储程序的概念,以此概念为基础的各类计算机,统称为冯诺依曼机。**
特点:
1、计算机由运算器、存储器、控制器、输入设备、输出设备组成
2、指令和数据以同等地位存放在存储器中,并可按地址寻访
3、指令和数据均用二进制码表示
4、指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数
所在存储器中的位置
5、指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算
结果或根据设定的条件改变执行顺序
6、机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器

运算器:完成算术运算和逻辑运算,并将运算的中间结果暂时存在运算器内
存储器:用来存放数据和程序
控制器:用来控制、指挥程序和数据的输入、运行以及处理运算结果
输入设备:用来将人们熟悉的信息形式转换为机器能识别的信息形式,如键盘、鼠标
输出设备:将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出

由于运算器和控制器子啊逻辑关系和电路结构上联系十分紧密,所以这俩大部件往往制作
在同一芯片上,通常统称为中央处理器,简称CPU。
ALU:算术逻辑运算单元
CU:控制单元
ALU和CU组成了CPU

把输入设备与输出设备简称I/0设备。

现代计算机可以认为由三大部分组成:CPU、I/O设备及主存储器M.M。CPU和M.M合起来又可
称为主机。

主存储器M.M是存储器子系统中的一类,用来存放程序和数据,它可以直接与CPU交换信息。
另一类叫辅助存储器,又叫辅存(外存)

**运算器**:包括三个寄存器和一个ALU。其中ACC为累加器,MQ为乘商寄存器,X为操作数寄存
器。这三个寄存器在完成不同运算时,所存放的操作数类别也不同。

**主存储器**:包括存储体、各种逻辑部件及控制电路等。存储体是由许多存储单元组成,每个存储
单元又包含若干个存储元件,每个存储元件能寄存一位二进制代码”0”或”1”。可见,一个
存储单元可存储一串二进制代码,称这串二进制代码为一个存储字。这串存储字的个数叫做
存储字长。存储字长可以是8位、16位或32位等。一个存储字可以代表一个二进制的数据,也
可代表一串字符,如存储字为0011011001111101,既可表示十六进制的367DH,也可以代表十六
位二进制数,此值对应十进制数为13949,还可以表示两个ASCII码。一个存储字还可以代表一
条指令。
我们可以把一个存储体比作一幢大楼,那么每个存储单元可看作大楼中的每一个房间,每个
存储元可以看作每个房间的一张床位。显然每个房间都需要有一个房间编号,因此,我们赋予
每个存储单元一个编号,叫做存储单元的地址号。主存的工作方式就是按照存储单元的地址号来
实现对存储各位的存、取。这种存取方式叫做按地址存取,也即按地址访问存储器。
为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR是存储器地址
寄存器,用来访问欲访问的存储单元的地址,其位数对应存储单元的个数(如MAR为10位,则
有2^10=1024个存储单元,记为1K)。MDR是存储器数据寄存器,用来存放从存储体某个单元取出
的代码或者准备往够格存储单元存放的代码,其位数与存储字长相等。
随着硬件技术的发展,主存都制作成大规模继承电路的芯片,而将MAR和MDR制作在CPU芯片中。

**控制器**:计算机组成的神经中枢。具体而言,它首先命令存储器读出一条指令,这叫做取指
过程。接着对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作
数的地址,这叫做分析过程。最后根据操作数所在的地址,取出操作数并完成某种操作,这
叫做执行过程。完成一条指令操作的三个阶段:取指、分析和执行。
控制器由程序计数器PC,指令寄存器IR已经控制单元CU几部分组成。PC用来存放当前欲执行
指令的地址,它与主存MAR之间有一条直接通路,且具有自动加1的功能,即自动形成下一条
指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。

**影响计算机性能:**
1、机器字长
指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围也越大,
精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多
的数据,那么需要经过多次运算才能完成。
2、存储容量
存储器容量应该包括主存容量和辅存容量。主存容量指主存中存放二进制代码的总数。
即存储容量 = 存储单元个数 × 存储字长

MAR的位数反映了存储单元的个数,MDR的位数反映了存储字的长度。比如,MAR是16位,则
有2^16个存储单元,MDR为32位,表示存储容量为2^16×32=2^21 = 2M(1M=2^20)位。
现代计算机中常以字节的个数来描述容量的大小,则上述容量为256KB(B用来表示一个字节)

3、运算速度
计算机的运算速度与许多因素有关,如机器的主频、执行什么用的操作、主存本身的速度(
主存速度快,取指、取数就快)等等有关。
现在的机器的运算速度,普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS作为
计量单位,即每秒执行百万条指令。比如某机每秒执行200万条指令,记作2MIPS。也有用CPI
即执行一条指令所需要的时钟周期(主频的倒数)数,或用FLOPS即每秒浮点数运算次数来衡量
运算速度。

猜你喜欢

转载自blog.csdn.net/weixin_39471249/article/details/79894215