计算机硬件编程 (初步的计算机编程入门)

·诺依曼体系架构概念

现代计算机硬件发展阶段:

1、 电子管计算机时代

2、 晶体管计算机时代

3、 (中小型)集成电路计算机时代

4、 大型集成电路计算机时代

未来计算机发展方向。

量子霸权 2019 年新闻

计算机专业术语:摩尔定律

计算机的计算(硬件 + 软件)

计算机软件的发展阶段

1、 手工操作

2、 批处理操作

3、 多道程序设计

4、 分时系统

5、 实时系统

6、 通用操作系统

现代按用途对计算机进行分类

1、 超级计算机 2 、网络计算机 3 、工业控制计算机 4 、个人计算机 5 、嵌入式计算机。

在之前的视频与大家分享了,计算设备的发展历史,而接下来我们聊聊计算机的发展历史。

在聊计算设备之前我们先要知道,冯 . 诺依曼体系架 -- 现代 计算机架构设计。

1 、冯 . 诺依曼体系架 -- 现代 计算机架构设计。

20世纪初,物理学和电子科学家们就在争论制造可以进行数值计算的计算器应该采用什么样的结构。

人们被 十进制 这个人类习惯的计数方法所困扰。

所以,那时以研制 十进制 计算机的呼声更为响亮和有力。直到20世纪 30 年代中期, 美国科学家 · 诺依曼 就大胆的提出:抛弃 十进制, 采用 二进制 作为 数字计算机 的数制基础 。同时,他还提出了预先编制计算程序,然后 由计算机来按照人们事前制定的计算顺序来执行数值计算工作 。从此人们把 · 诺依曼 的这个理论称为 · 诺依曼体系结构。

1

· 诺依曼体系结构 也是现代计算机的 硬件 体系结构,它包括五大硬件单元:

a) 输入设备:键盘

b) 输出设备:显示器

c) 存储器:内存

d) 运算器:用于完成 算术运算 和 逻辑运算

e) 控制器

其中 运算器 控制器 组成 中央处理器,也叫 CPU

2 、功能

根据 · 诺依曼 体系结构构成的计算机所具备的功能:

a) 把需要的程序和数据送至计算机中。

b) 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。

c) 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。

d) 能够按照要求将处理结果输出给用户。

3

输入设备获取数据存储到内存中, CPU 从内存中取出数据并进行处理,运算完毕后在交给内存,内存将 CPU 处理过的数据交给输出设备,由输出设备进行数据的输出。

4 、注意

a) 存储器指的是 内存,而不是 外存 ( 磁盘 )

b) 不考虑缓存的情况下,这里的 CPU 能且只能对内存进行读写,不能访问外设 ( 输入或输出设备 )

c )外设 ( 输入或输出设备 ) 要进行输入或者输出数据时,也只能写入内存或者从内存中读取数据

d) 所有设备都只能直接和内存打交道

2 、现代计算机硬件发展阶段

第一代计算机:电子管时代

第一台计算机 电子管计算机 (1946-1957 )

世界上第一台电子计算机 "ENIAC" (安尼亚克)于 1946 2 14 日在美国宾夕法尼亚大学诞生,是美国人莫克利( JohnW.Mauchly )和艾克特( J.PresperEckert )发明的,主要是有大量的电子管组成,主要用于科学计算。

主要特点:

1 、它以电子管作为核心组成元件,所以又被称为电子管计算机。

2 、它是个庞然大物,用了 18000 个电子管,占地 150 平方米,足有两间房子大,重达 30 吨,耗电功率约 150 千瓦,每秒钟可进行 5000 次运算。

3 、由于它使用的电子管体积很大,耗电量大,易发热,因而工作的时间不能太长。

4 、使用机器语言,没有系统软件。

5 、采用磁鼓、小磁芯作为储存器,存储空间有限。

6 、输入 / 输出设备简单,采用穿孔纸带或卡片。

7 、主要用于科学计算,当时美国国防部用它来进行弹道计算。

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

晶体管

第二代计算机采用的主要元件是晶体管,称为晶体管计算机。计算机软件有了较大发展,程序语言也出现了 Fortran Cobol 计算机高级语言,采用了监控程序,这是操作系统的雏形。

主要特点:

1 、体积小,可靠性增强,寿命延长。

2 、运算速度快。

3 、提高了操纵系统适应性。

4 、容量提高。

5 、应用领域扩大。

第三代计算机: 中小规模集成电路计算机 (1965-1969年)

小规模集成电路

IC IC 芯片 (Integrated Circuit Chip) 集成电路芯片是将大量的微电子元器件(晶体管、电阻、电容等)形成的集成电路放在一块塑基上,做成一块芯片。而这些 IC 的针脚可以提供,信息的输入,芯片中进行运算。输出针脚负责输出。

集成电路可在几平方毫米的 单晶硅片上集成十几个甚至上百个电子元件 。计算机开始采用中小规模的集成电路元件,这一代比上一代更小,耗电更少,功能更强,寿命更长,领域扩大,性能比上一代有很大提高。

主要特点:

1、体积更小,寿命更长。

2、运行计算速度更快。

3、外围设备考试出现多样化。

4、有类似操作系统和应用程序,高级语言进一步发展。

5、应用范围扩大到企业管理和辅助设计等领域。

*四代第**计算机 大规模集成电路计算机 (1971 年至今 )

超大规模集成电路

这时期的计算机的体积、重量、功耗进一步减少,运算速度、存储容量、可靠性都有很大提高。

主要特点:

1 、采用了大规模和超大规模集成电路逻辑元件,体积与第三代相比进一步缩小,可靠性更高,寿命更长。

2 、运算速度加快,每秒可达集千万次到几十亿次。

3 、系统软件和应用软件获得了巨大的发展,软件配置丰富,程序设计部分自动化。

4 、计算机网络技术、多媒体技术、分布式处理技术有了很大的发展,微型计算机大量进入家庭,产品更新速度加快。

5 、计算机在办公自动化、数据库管理、图像处理、语言设别和专家系统等各个领域得到应用,电子商务已开始进入家庭,出现个人电脑 (PC) ,计算机的发展进入到了一个新的历史时期。

3、 未来计算机发展方向

下一代计算机可能是超导计算机、纳米计算机、光计算机、DNA计算机、量子计算机和神经网络计算机等,体积更小,运算速度更快,更加智能化,耗电量更小。

3 2019 年新闻量子霸权

2019 10 23 Google 公司,发布新闻,他们研究的量子计算机“无花果”英文叫 sycamore ,用 200 秒的时间完成了一个非常复杂的计算,这个计算如果放到超级计算机上,需要一万年才能计算完成。

Google 的量子计算机多大呢?大概厨房 5-6 平米的样子吧。

目前超级计算机最快的是美国IBM公司的 summit 高峰,拥有 2,414,592 (两百肆拾壹万肆仟伍佰玖拾贰) 个计算机核心

Summit 大概多大呢? 522 平方米。大概两个网球场那么大。

量子计算机能够干什么呢?

1、 预测天气预报,之所以我们现在的天气预报不准确,是因为我们无法计算出复杂的云层运动。如果我们的卫星观测够了,计算能力也够了。自然就可以精准的计算出天气预报。

2、 密码破译,如果量子计算能力非常强大,破解一个密码就是分分钟的事情。

3、 虚拟货币,虚拟货币比如*币特比**,之所以强大,第一是不可逆性。第二是密码破解的难度。如果量子计算机破解密码很容易,那么虚拟货币也十分危险。在量子计算机发布新闻的当天*币特比**的股价跌了很多。但是很快又上升了。为什么呢?原因是如果 *币特比**的密码很容易被 量子计算机 破解。那么银行账户的密码。政府机关的计算机密码同样也不安全了嘛。

4、 股价和外汇市场。

那么说了这么半天到底什么是量子?

量子计算机:

量子计算机的一个计算单元可以同时存储两个数字0 1 ,而普通计算机最小存储单位是 bit ,要么存储 1 要么存储 0.

量子计算机如果有10个计算单元,就是 2 10 次方 ,所以量子计算机一下就能处理1024个数据。速度就比普通计算机快 1000 倍。

量子计算机可以存储0 1 0/1 中间态。

创造力来自于01中间态,如果只有对或者错!就不会有创造力。所有的创造力都来自一个不确定性

量子计算机为了保证纠缠态,必须运行在绝对零度的环境。

普通计算机:

普通计算机一个计算单元只能存储一个数,0 1

普通计算机如果有10个计算单元,就是一个 10 位的 2 进制数据。

普通计算机每个计算单元只能存储0或者 1 ,量子计算机比普通计算机高了一个维度。

之所以普通计算机无法模拟人脑,就是因为计算机只知道0/1对错等。

01中间态来说,量子计算机可能会产生真正的智慧、可能会做梦。

资料补充:

什么是量子:量子是微观世界的概念。

物质:是由分子和原子组成的,分子的破裂和原子的重新组合是化学变化的的基础。

分子由原子组成,原子 原子核和核外电子 组成。原子核由 质子和中子组成 。中子不带电,质子带正电,电子带负电。

中子和质子由夸克组成。分子、原子、原子核、中子、质子、电子属于微观粒子,通称为量子。

5、 摩尔定律

摩尔定律是由英特尔(Intel)创始人之一戈登 · 摩尔( Gordon Moore )在 1965 年提出来的。

其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔 18-24 个月翻一倍以上。

这一定律揭示了信息技术进步的速度。尽管这种趋势已经持续了超过半个世纪,摩尔定律仍应该被认为是观测或推测准则,而不是一个物理或自然法则。

6 、计算机的计算(硬件 + 软件)

包括计算机硬件 + 计算机软件共同来完成的。

计算机硬件:看得见摸得着的设备,是计算机系统的物质基础,如显示器、键盘。

计算机软件:计算机所执行的程序,本身看不见,用来解决如何管理和使用操作系统或程序,如 QQ 、杀毒软件等。

7 、软件的发展

第一:手工操作

手工操作编辑

1946 年第一台计算机诞生 --20 世纪 50 年代中期,还未出现操作系统,计算机工作采用手工操作方式。

计算机编程启蒙该学什么,学习计算机编程的思想和方法

手工操作

程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把 程序和数据输入计算机内存 ,接着 通过控制台开关启动程序 针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。

手工操作方式两个特点:

1 )用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。

2 CPU 等待手工操作。 CPU 的利用不充分。

à 20 世纪 50 年代后期,出现人机矛盾: 手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾 ,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法: 只有摆脱人的手工操作,实现作业的自动过渡。 这样就出现了成批处理。

第二:批处理操作

批处理系统编辑

批处理系统: 加载在计算机上的一个系统软件 ,在它的控制下,计算机能够 自动地、成批地处理一个或多个用户的作业 (这作业包括 程序、数据和命令 )。

联机批处理系统

首先出现的是 联机批处理系统,即作业的输入 / 输出由 CPU 来处理。

主机与输入机之间增加一个存储设备 ——磁带 ,在运行于 主机上的监督程序 的自动控制下,计算机可自动完成:

成批地把 输入机上的用户作业读入磁带 ,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。

完成了上一批作业后, 监督程序又从输入机上输入另一批作业 ,保存在磁带上,并按上述步骤重复处理。

监督程序不停地处理各个作业,从而实现了 作业到作业的自动转接 ,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,在作业输入和结果输出时,主机的高速 CPU 仍处于空闲状态,等待慢速的输入 / 输出设备完成工作: 主机处于“忙等”状态。出现矛盾 高速主机与慢速外设的矛盾

计算机编程启蒙该学什么,学习计算机编程的思想和方法

脱机批处理系统

为克服与缓解:高速主机与慢速外设的矛盾 ,提高 CPU 的利用率,又引入了脱机批处理系统,即 输入 / 输出脱离主机控制

这种方式的显著特征是:增加一台不与主机直接相连而 专门用于与输入 / 输出设备打交道的卫星机

其功能是:

1 )从输入机上读取用户作业并放到输入磁带上。

2 )从输出磁带上读取执行结果并传给输出机。

这样, 主机不直接与慢速的输入 / 输出设备打交道,而是与速度相对较快的磁带机发生关系,有效缓解了主机与设备的矛盾。 主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

脱机批处理系统 : 20 世纪 60 年代应用十分广泛 ,它极大缓解了人机矛盾及主机与外设的矛盾。

IBM-7090/7094 :配备的监督程序就是脱机批处理系统,是现代操作系统的原型。

不足: 每次操作 ,主机内存中仅存放一道作业,每当它运行期间发出输入 / 输出( I/O )请求后,高速的 CPU 便处于等待低速的 I/O 完成状态,致使 CPU 空闲 。换句话说, CPU 的利用率太低了。

为改善 CPU 的利用率,又引入了 多道程序系统

计算机编程启蒙该学什么,学习计算机编程的思想和方法

第三:多道程序设计技术

多道程序设计技术

所谓多道程序设计技术,就是 指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在 CPU 中运行,它们共享系统中的各种硬、软件资源。当一道程序因 I/O 请求而暂停运行时, CPU 便立即转去运行另一道程序。

单道程序的运行过程:

A 程序计算时, I/O 空闲, A 程序 I/O 操作时, CPU 空闲( B 程序也是同样);必须 A 工作完成后, B 才能进入内存中开始工作,两者是串行的,全部完成共需时间 =T1+T2

à

多道程序的运行过程

A B 两道程序同时存放在内存中,它们在系统的控制下,可相互穿插、交替地在 CPU 上运行:当 A 程序因请求 I/O 操作而放弃 CPU 时, B 程序就可占用 CPU 运行,这样 CPU 不再空闲,而正进行 A I/O 操作的 I/O 设备也不空闲,显然, CPU I/O 设备都处于“忙”状态,大大提高了资源的利用率,从而也提高了系统的效率, A B 全部完成所需时间 <<T1+T2

多道程序设计技术不仅使 CPU 得到充分利用,同时改善 I/O 设备和内存的利用率,从而提高了整个系统的资源利用率和系统吞吐量(单位时间内处理作业(程序)的个数),最终提高了整个系统的效率。

单处理机系统中多道程序运行时的特点:

1 )多道:计算机内存中同时存放几道相互独立的程序;(既可以打开 QQ 又可以打开浏览器操作,还可以看电影)

2 )宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;

3 )微观上串行:实际上,各道程序轮流地用 CPU ,并交替运行。

多道程序系统的出现,标志着 操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能

多道批处理系统

20 世纪 60 年代中期,在前述的批处理系统中,引入多道程序设计技术后形成多道批处理系统(简称:批处理系统)。

它有两个特点:

1 )多道:系统内可同时容纳多个作业。 这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。

2 )成批: 在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

批处理系统的追求目标: 提高系统资源利用率和系统吞吐量,以及作业流程的自动化。

批处理系统的一个重要缺点: 不提供人机交互能力,给用户使用计算机带来不便。

虽然用户独占全机资源,并且直接控制程序的运行,可以随时了解程序运行情况。但 这种工作方式因独占全机造成资源效率极低。 à

一种新的追求目标:既能保证计算机效率,又能方便用户使用计算机。 20 世纪 60 年代中期,计算机技术和软件技术的发展使这种追求成为可能。à

第四:分时系统编辑

CPU 速度不断提高,由于计算机造价很高,而在学校学习的时候,不能够让所有学生,都同时进行计算机的操作。这个时候大学的教授就创造了分时系统。一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。

分时技术: 把处理机的运行时间分成很短的时间片 按时间片轮流把处理机,分配给各联机作业使用

若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。

由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。

而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。

具有上述特征的计算机系统称为分时系统,它允许多个用户同时联机使用计算机。

特点:

1 )多路性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。

2 )交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。

3 )独立性。用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。

4 )及时性。系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。

分时系统的主要目标 :对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。

分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。 即将未 “轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存 ;而时间片用完后,又将作业存回磁盘(俗称 “滚进”、“滚出“法),使 同一存储区域轮流为多个用户服务

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。

第五:实时系统编辑

实时系统编辑

虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足 实时控制与实时信息处理 两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在 严格的时间范围 内完成对该事件的处理。

实时系统在一个特定的应用中常作为一种控制设备来使用。

实时系统可分成两类

1 实时控制系统 。当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机器。

2 实时信息处理系统 。当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。

实时操作系统的主要特点

1 )及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。

2 )高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

第六:通用操作系统

操作系统的三种基本类型: 多道批处理系统、分时系统、实时系统

通用操作系统: 具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能 ,或其中两种以上的功能。

例如: 实时处理+批处理 = 实时批处理系统 。首先保证优先处理实时任务,插空进行批处理作业。常把实时任务称为前台作业,批作业称为后台作业。

再如:分时处理+批处理 = 分时批处理系统。即:时间要求不强的作业放入 后台 (批处理)处理,需频繁交互的作业在 前台 (分时)处理,处理机优先运行 前台 作业。

从上世纪60年代中期,国际上开始研制一些大型的通用操作系统。这些系统试图达到功能齐全、可适应各种应用范围和操作方式变化多端的环境的目标。但是,这些系统过于复杂和庞大,不仅付出了巨大的代价,且在解决其可靠性、可维护性和可理解性方面都遇到很大的困难。

相比之下,UNIX操作系统却是一个例外。这是一个 通用的多用户分时交互型的操作系统 。它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外,可以支持庞大的软件系统。它很快得到应用和推广,并不断完善,对现代操作系统有着重大的影响。

8、 现代用途计算机分类

超级计算机、网络计算机、工业控制计算机、个人计算机、嵌入式计算机。

超级计算机 :能够执行一般个人电脑无法处理的大量资料与高速运算的电脑。

网络计算机 包括服务器、工作站、集线器、交换机和路由器等。

工业控制计算机 :对生产过程及机电设备、工艺装备进行检测与控制的工具总称。

个人计算机 :满足个人家庭、生活娱乐的计算机

嵌入式计算机 :是指针对某个特定的应用,嵌入至芯片中的计算系统。

今天我与大家一起分享了,冯诺依曼架构、计算机硬件和软件的发展阶段、什么叫摩尔定律以及现代计算机的分类。

下期我们一起来认识和了解下计算机硬件的功能和作用。