结合王道,天勤,和唐的计组学习总结------【计算机系统概述论】

文章详细介绍了计算机从第一代电子管计算机到第五代智能计算机及第六代生物计算机和量子计算机的硬件发展历程,包括各代的主要特征和技术进步。同时,概述了计算机软件从低级语言到高级语言的演进。此外,文章还讨论了计算机系统的基本组成,如冯·诺依曼计算机的五大部分,并阐述了计算机的分类和性能指标,如机器字长、主存容量和吞吐量等。
摘要由CSDN通过智能技术生成


1.1计算机发展历程

1.1.1计算机硬件发展

(1)第一代计算机(1946-1957年)电子管时代:

逻辑元件:电子管;
使用机器语言;
可以存储信息;
运算速度较低,输入输出慢且体积大,容量小代价高。
知名计算机ENIAC(Electronic Numerical Integrator And Computer)采用十进制运算。

(2)第二代计算机(1958-1964年)晶体管时代:

逻辑元件:晶体管;
汇编语言代替机器语言,开始出现高级语言如Fortran(1951年:IBM工程师约翰·贝克斯针对汇编语言的缺点着手研究开发FORTRAN语言,
1954年:约翰·贝克斯在纽约正式对外发布,称为FORTRANⅠ,
1957年:第一个FORTRAN编译器在IBM704计算机上实现)有了操作系统的雏形(单多道批处理系统);
采用磁心存储器。
注:三代计算机后人们没有达成定义新一代计算机的一致意见

(3)第三代计算机(1965-1971)中小规模集成电路时代

逻辑元件:中小规模的集成电路;
高级语言发展迅速。操作系统进一步发展(分时操作系统问世);
半导体存储器开始取代磁心存储器;

(4)第四代计算机(1972年至今)超大规模集成电路时代‘

逻辑元件:采用大规模和超大规模的集成电路;
微处理器问世;
注天勤:从第一代到第四代,计算机的体系结构都是相同的,即都是由控制器、存储器、运算器、输入和输出设备组成,称为冯·诺依曼体系结构

(5)第五代计算机(天勤)智能计算机

具备人工智能,想人一样思维;
运算速度极快;
软件系统能够处理知识信息。神经网络计算机是智能计算机的重要代表。

(5)第六代计算机(天勤)生物计算机与量子计算机(唐)光学计算机

1.1.2计算机软件发展

计算软件

是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。

计算语言

从面向机器的机器语言和汇编语言,到面向问题的高级语言过度。其中高级语言的发展真正的促进了软件的发展。

1.2计算机系统层次结构

1.2.1计算机系统的基本组成

计算机系统由硬件和软件两部分组成。

所谓硬件是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成如中央处理器、存储器和外部存储设备等。
所谓软件它看不见摸不着,由人本事先编制的具有各类特殊功能的程序组成,它们通常存放在计算机的主存和辅存中。
软硬件在逻辑上是等效
对于某一功能来说,其既可以用软件实现,也可以用硬件实现,则成为软硬件在逻辑上是等效的,一般来说,一个功能使用硬件的实现效率高;使用软件可以提高灵活性,但效率往往不如硬件实现高。
计算机系统性能的好坏,很大程度上是由软件的效率和作用来表征的,而软件性能的发挥离不开硬件支持。

1.2.2计算机硬件的基本组成

冯·诺依曼计算机

1945年,数学家冯·诺依曼在研究EDVAC(Electronic Discrete Variable Automatic Computer-离散变量自动电子计算机)提出了“存储程序”的概念。以此概念为基础的各类计算机通称为冯·诺依曼他的特点可归结如下:
<1>计算机由运算器、存储器、控制器、输入输出设备五大部件组成的。
<2>指令和数据以同等地位存放于存储器内,并可按地址访问。
<3>指令和数据均用二进制代码表示。
<4>指令由操作码和地址码组成,操作码用来表示操作的属性,地址码用来表示操作数在存储器中的位置。
<5>指令在存储器内按顺序存放。通常,指令时顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
<6>机器以运算器为中心,输入输出设备与存储器间的数据传输通过运算器完成。(现代计算机以存储器为中心)

运算器+控制器=CPU,CPU+主存储器=主机,I/O设备又称为外部设备

存储程序:是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序 的规定顺序执行其他指令,直至程序执行结束。

(1)存储器

存储器分为主存储器(主存,内存)和辅助存储器(辅存,外存)。
CPU能直接访问的存储器是主存储器,主存储器是存放程序和数据的部件,是模式计算机实现“存储程序控制”的基础。辅助存储器用于帮助主存储器记忆更多信息,辅存中的信息必须调入主存后才能被访问

存储相关名词
存储元:也可以成为存储元件和存储基元,用来存放一位二级制信息(如存放一位1/0)。
存储单元:由若干存储元组成,能存放多位二进制信息。
存储体:许多存储单元可以组成存储体(存储矩阵)。
存储字:每个存储单元中二进制代码的组合即为存储字,可代表数值、指令和地址等。
存储字长:每个存储单元中二进制代码的位数就是存储字长,可以是1B(8bit)或字节的偶数倍

MAR(Memory Address Register):地址寄存器存放访问地址,经过地址译码(地址译码器)后找到所选单元。

MDR(Memory Data Register):数据寄存器用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储操作所需的各种时序信号。

注:MAR和MDR虽然是存储器的一部分,但是在现代CPU中确实存在于CPU中的;另外,后文提到的高速缓存(Cache)也存在于CPU中(一二三级缓存)

天勤注:以前是存储字长等于机器字长,因为机器字长是机器一次能处理的比特数,这样一次取一个等长的存储字便于机器处理。现在机器字长一般大于存储字长,默认:字长=机器字长=存储字长

(2)运算器

运算器是对信息进行处理和运算的部件,主要功能是进行算术和逻辑运算,其核心是算术逻辑单元ALU

其中包若干通用寄存器,用于暂存操作数和中间的结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等,其中前三个寄存器是必须有的。另外还有程序状态字寄存器(PSW),保留各类运算指令或者测试指令的结果的各类状态信息,以表征系统运行状态。

(3)控制器

控制器是整个计算机的“指挥中心”,它使计算机各个部件自动协调工作。计算机中有两种信息在流动:一种是控制信息;另一种是数据信息。

控制器由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。

PC用来存放当前欲执行的指令,可以自动+1形成下一条指令的地址,它与主存的MAR之间有一条直接通路。
IR用来存放当前指令,其内容来自主存的MDR。
指令中的操作码字段OP(IR)送至CU,用以分析指令并发出各种微操作命令序列;
指令中的地址码字段Ad(IR)送往MAR来取操作数。

完成指令的顺序

<1>通常完成一条指令可以分为取指阶段和执行阶段。在取指阶段,通过访问存储器可以将指令取出;在执行阶段,通过访问存储器可以将操作数取出,这样指令和数据虽然都是以二进制代码形式存放在存储器中,但CPU可以判断在取指阶段访问存储器取出的二进制代码是指令,而在执行阶段访问存储器取出的二进制代码是数据。
<2>指令寄存器的操作码送入操作码编译器进行译码,然后与时钟和节拍脉冲器合作产生一个时序控制信号,并且和操作码编译器的结果一起送入微操作控制器中。
<3>指令的地址码需要送入地址形成部件。若是转移地址,则送入OC;若是操作数地址,则送入存储器的地址译码器去取操作数,取出的操作数先放在数据寄存器,然后送往运算器进行运算。
<4>每读取一条指令,PC的内容自动+1.
<5>重复前四个步骤,直至打印出结果,最后执行停机指令,机器便自动停机。

以取出操作为例
<1>取指令:PC -> MAR -> M -> MDR -> IR
 根据PC取指令到IR。将PC的内容送MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定单元读出指令,送到数据线上,MDR从数据线接收指令信息,病传送到IR中。
<2>分析指令:OP(IR)-> CU
 指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中IR中是取数指令,因此控制信号被送到总线的控制线上。
<3> 执行命令:Ad(IR)-> MAR-> M-> MDR-> ACC
取数操作。将IR中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存指定单元读出操作数,并通过数据线送至MDR,再传送到ACC中

(4)输入/输出设备

1.2.3计算机的分类

计算机按用途可以分为专用计算和通用计算机
通用计算机按其规模。速度和功能等又可分为巨型机、大型机、中型机、小型机、微型机、单片机六类。
此外计算机按照指令和数据流可分为
(1)单指令流单数据流(SISD),即传统的冯诺依曼体系结构。
(2)单指令流多数据流(SIMD),包括列阵处理器和向量处理器系统。
(3)多指令流单数据流(MISD),这种计算机实际上并不存在。
(4)多指令流多数据流(MIMD),包括多处理器和多计算机系统。

1.2.4计算机软件的分类

系统软件和应用软件
系统软件又称为系统程序,主要用来管理整个计算机系统,使系统资源得到合理的调度,高效运行,例如操作系统、编译程序、文件系统等都是系统软件。
应用软件又称为应用程序,它是用户根据任务需要所编写的各种程序。
汇编程序、解释程序、编译程序的区别
汇编程序是一种把用汇编语言书写的程序翻译成与之等价的机器语言程序的系统软件,与编译程序、解释程序完全不是一个概念。

解释程序是高级语言翻译程序的一种。它将源语言书写的源程序作为输入,解释一句就提交给计算机执行一句,并不形成目标文件。

编译程序把高级语言作为输入,进行翻译转换,产生出机器语言的目标程序。然后让计算机去执行这个目标程序,得到计算机结果

1.2.5计算机系统的层次结构

(1)第一级。微程序机器级。微指令由硬件直接执行。
(2)第二级。传统机器级(机器语言)。它用微程序解释机器指令系统。
(3)第三级。操作系统级。用机器语言程序解释作业控制语句。
(4)第四级。汇编语言机器级。用汇编程序翻译成机器语言程序
(5)第五级。高级语言机器级。用编译程序翻译成汇编程序或直接翻译成机器语言。

1.3计算机性能指标

(1)机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
(2)主存容量是指主存储器能存储信息的最大容量,通常用字节来衡量,也可以用字数×字长来标识存储容量。其中MAR反应存储单元的个数,MAR的位数反映可寻址的最大值(而不一定是实际存储器的存储容量)。
(3)吞吐量是指信息流入、处理和流出系统的速率。它取决于CPU能够多快地取指令,数据能够多快地从内存取出或存入,以及所得结果能够多快地从内存送到输出设备。因此吞吐量主要取决于主存地存取周期
(4)响应时间是指从提交作业到该作业得到CPU响应所经历的时间。响应时间越短,吞吐量越大。
(5)主频是机器内部主时钟的频率,是衡量机器速度的重要参数,其常用单位为Hz、MHz、GHz等。
(6)CPU周期又称机器周期,通常用从内存读取一条指令字的最短时间来定义。一个指令周期常由若干个CPU周期构成。
(7)CPU时钟周期主频的倒数,是CPU中最小的时间单位。
(8)CPI、MIPS、FLOPS
CPI(Clock Cycle Per Instruction):执行一条指令所需要的时钟周期数。
MIPS(Million Instructions Per Second):每秒可执行百万条指令数。
FLOPS(Floating-point Operations Per Second):每秒执行的浮点运算次数。
MFLOPS(Million Floating-point Operations Per Second ):每秒百万浮点数运算。
GFLOPS(Giaga Floating-point Operations Per Second):每秒十亿次浮点数运算。
TFLOPS(Tera Floating-point Operations Per Second):每秒万亿次数浮点数运算。
PFLOPS(Peta Floating-point Operations Per Second):每秒万亿次数浮点数运算。
IPC(Instructions Per Clock Cycle):CPU的每一个时钟周期内所执行的指令数。
(9)CPU执行时间指CPU对某特定程序的执行时间。
CPU执行时间=CPU时钟周期数/主频=(指令数×CPI)×主频

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值