计算机的硬件组成
计算机{运算器存储器控制器输入输出设备计算机 \begin{cases} 运算器 &&\\ 存储器 &&\\ 控制器 &&\\ 输入输出设备 && \\ \end{cases}计算机⎩⎨⎧运算器存储器控制器输入输出设备
运算器
主要功能:进行加、减、乘、除、等算术运算,还可进行逻辑运算,通常称为ALU(算术逻辑运算部件)
存储器
假设一个数用16位二进制代码来表示,那么就需要有16个触发器来保存这些代码。通常把保存一个数的16(也可能是其他的数量)个触发器称为一个存储单元。存储器是由许多存储单元组成的。每个存储单元都有编号,称为地址。向存储器中存数或者取数都需要按照给定的地址来寻找所选的存储单元。
存储器所有存储单元的总数称为存储器的存储容量,通常用单位KB、Mb来表示。
存储器可以分为内存和外存
控制器
指令
指令的格式
操作码(指出指令所要进行的操作) | 地址码(指出参加运算的数据在存储器的哪个单元或者运算的结果应该写入哪个存储单元) |
---|
指令数码化后就可以和数据一样放入存储器。
将程序(指令序列)存放到存储器中称为存储程序,而控制器依据存储的程序来控制全机协调地完成计算任务叫做程序控制。
冯诺伊曼型计算机的设计思想{存储程序程序控制冯诺伊曼型计算机的设计思想\begin{cases}存储程序&&\\程序控制&&\end{cases}冯诺伊曼型计算机的设计思想{存储程序程序控制
根据指令和数据是否存放在同一个存储器可以将计算机的结构分为哈佛结构和冯诺伊曼结构
哈佛结构:指令和数据分别存放在两个存储器
冯诺伊曼结构:指令和数据放在同一个存储器
哈佛结构更快:因为如果分开放的话就可以同时查找指令和数据,不分开放就需要先查指令然后再查数据,显然会有一些性能上的损失。
控制器的基本任务
按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作
取指周期和执行周期
因为控制器要想执行一条指令需要先获取对应的指令,然后才能执行,所以可以分出取指和执行两部分,根据这两部分操作所需要的时间可以分别称为取指周期和执行周期。
取值令的一段时间叫做取指周期,把执行指令的一段时间叫做执行周期
指令流和数据流
因为再计算机中无论是指令还是数据都是按照二进制代码的形式进行存储的,如果一个计算机字代表的是指令就成为指令字,如果代表的是数据就称为数据字,似乎是很难对计算机的指令字和数据字进行一个区分,但是我们是有取指周期和执行周期的,所以可以将取指周期从内存读出的信息流取出的视为指令,称为指令流,在执行周期从内存读出的信息流视为数据,称为数据流。
因为指令是要进行译码然后执行的,而数据流是要参加运算的,而掌管这两项功能的分别是控制器和运算器,所以指令流从内存流向控制器,数据流从内存流向运算器。
适配器和输入/输出设备
计算机的输入/输出设备通常称为外围设备。这些外围设备有高速的也有低速的,有机电结构的,也有全电子式的,由于种类繁多且速度各异,因而他们不是直接于高速工作的主机相连接,而是通过适配器与主机相联系。
被连接的外围设备通过系统总线(是多个系统部件之间进行数据传送的公共通路,借助系统总线,计算机在各系统部件之间实现传送地址、数据和控制信息的操作)与主机进行联系
计算机的软件发展
机器语言、汇编语言和汇编器
机器语言和手编程序
早期人们直接用机器语言(即机器指令代码)来编写程序的,这种方式编写的程序叫做手编程序又称目的程序。
汇编语言和汇编器
直接使用机器语言进行编写程序相当费时费力,而且容易出错,为了改变这种状况,人们用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些指令编写程序这就是汇编语言。因为汇编语言并不是机器语言所以机器无法直接识别,为了将这些符号转化为机器能够识别的机器语言,人们创造了一种程序汇编器,这种程序的作用就是将汇编语言翻译成为机器语言。
算法语言和编译器
但是汇编指令还是太过于复杂了,所以人们创造了更为方便的算法语言(如C/C++、JAVA等),使用算法语言编写的程序称为源程序,正如前面对于汇编语言的描述一样,算法语言也需要有一个充当‘翻译家’的程序,这个程序被称作编译程序,源程序经过编译程序之后变成目的程序,但是由于目的程序一般不能独立运行,还需要一种叫做运行系统的辅助程序来帮助,通常将编译程序+运行系统合称为编译器。
c语言程序转换为机器语言程序的流程
数据库和数据库管理系统
随着计算机在信息处理、情报检索及各种管理系统中应用的发展,出现了数据库,数据库有组织地、动态地存储大量相关数据,方便多用户访问计算机软硬件资源组成的系统。数据库和数据库管理软件一起,组成了数据库管理系统。
计算机发展方向
标准化、积木化、产品化、最终是向自然语言发展。
计算机的层次结构
第一级是微程序设计级(逻辑电路级),这是硬件级,这一级由硬件直接执行。
第二级是一般机器级,也称为机器语言级,由微程序解释机器指令系统,这一级也是硬件级。
第三级是操作系统级,他由操作系统程序实现。这些操作系统由机器指令和广义指令(是操作系统定义和解释的软件指令)组成,这一级也称混合级。
第四级是汇编语言级,这一级由汇编程序支持和执行。
第五级是高级语言级,这一级由各种高级语言的编译程序支持和执行。
除第一级外其他各级都得到它下级的支持,同时也受到运行在下面各级上的程序的支持。
软件和硬件的逻辑等价性
任何操作可以由软件来实现也可以由硬件来实现;任何指令可以由硬件完成也可以由软件来完成。随着技术的发展,现在已经可以把许多复杂的、常用的程序制作成所谓的固件(功能上是软件,形态上是硬件)