当前课程知识点:电子信息科学与技术导引(1) > 第五讲:程序与处理器 > 第一节:从算盘到ENIAC > 第一节:从算盘到ENIAC
同学们好
我们这节课要讲授的内容是
程序与处理器
我是清华大学
电子工程系教师马洪兵
我们这节课的内容呢
在我们电子信息科学与技术
知识体系中正好处于
中间的这样一个层次
在他的下面呢
有三个层次在这一层之上
也是有三个层次
通过前面几讲的课
我们知道我们整个
电子信息科学与技术
知识体系呢是以
信息载体与信息系统
相互作用作为一个整体的
框架来展开的
在程序与处理器之下的
这些层次进行信息处理
我们用的是实际上的
物理器件也就说用的是
硬件那么引入了程序以及
知识处理器运行之后
我们就可以引入软件
于是在程序与处理器之上
的三个层次中那么
信息处理呢就和之下的
信息处理发生了很大的
变化我们可以用软件去
实现一些算法实现一些
信息的处理任务所以
我们这一讲的内容它的
定位就是在硬件和软件之间
架起了一座桥梁
在实际讲受我们
这节课内容之前
我们首先要明确一下
什么是程序什么是处理器
我们可以借助于权威的
工具书在辞海中
对程序的解释是这样的
这样的它有两条解释
第一是行事的先后次序
有序的步骤如工作程序
司法程序医疗程序
第二条解释是为使
电子计算机执行一个
或多个任务或执行
某一任务按序设计的
计算机指令的集合
针对我们这节课而言
我们所说的程序显然
应该是第二条程序
在这个解释中有一个
关键词我们需要突出一下
那就是指令什么是处理器呢
辞海的解释是这行加工
与处理的部分是计算机系统的
核心设备由数据处理部件
也就是运算器指令处理部件
也就是指令部件以及
存储控制器组成用于
控制和执行
计算机基本指令系统的
处理器称为中央处理器
在这个解释中同样也出现了
指令这个词并且提到了
指令系统这样一个层次
这说明什么问题呢
在程序和处理器中都
遇到了指令指令实际上
正好就在程序和处理器之间
架起了一个桥梁
他是程序和处理器的接口
我们这节课呢就是
围绕程序和处理器的
好这节课的内容呢
我们分成六个部分首先
我们介绍从算盘到eniac
也就是说从历史的角度
取了结一下人类
计算工具发展的历史
第二我们介绍通用
计算机模型
第三是指令集体系结构
第四是程序和程序设计语言
第五是处理器的工作原理
第六我们来讨论一下
处理器的性能问题
最后我们对整堂课
做一个小结
好我们先讨论第一个问题
从算盘到eniac人类最早的
计算工具是
我们中国人发明的算盘
中国人使用算盘已经
有2600多年的历史
那么算盘呢它是一个长方形的
周围有木框的这么
一个结构内部贯穿有直柱
俗称为档一般从
五档档至十五档
档中横以梁
梁上两珠每珠算作数
五梁下有五个珠
每珠呢当作数一
运算的时候呢
定位后拨珠计算
可以完成加减乘除等计算
从处理器和程序这个角度
去看算盘那么算盘是一个
处理器如果随着我们课的进展
我们会明白这个处理器
只是一个运算器
它的运算和存储还都
在我们头脑中也就是说
算盘它的程序是储存在
人的大脑中的
我们根据什么去
用算盘作计算呢
算盘有它自己的口诀
比如说一下五去四
一退一还九等等
所以我们在用算盘进行
计算的时候实际上
是我们在头脑中
在运行程序的
而算盘本身只是
起了一个运算器的作用
那么能不能把
程序不是储存在
人的头脑中而是储存在
机器中呢事实上
人类早期也做了
一些探讨pascal在
1642年的时候发明了
一种叫加法机的机器
这个机器呢是由
一系列齿轮组成的
纯机械设备它采用
十进制运算能够完成
8位十进制数的加法和
减法运算那么对于这样
一台机器来说
它和算盘不一样
它的运行程序就
体现在机械的结构中
这台机器用今天的
眼光去看是非常
微不足道的它的计算能力
非常的微弱但是
它的意义在于揭示出
用机器代替人类
进行计算是完全
可以做到的
那么加法机的工作原理
其实很简单它是
用齿轮的位置来表示数
齿轮的10个位置可以表示
10个数齿轮的转动就可以
实现加法和减法
唯一需要解决的问题就是
进位那么pascal设置了
一个非常巧妙的装置
那当第一位齿轮
朝9转动的时候呢
棘爪回逐渐地升高
一旦齿轮转到0棘爪
就会跌落下来
推动前一位数的
齿轮前进一档从而实现了
进位这样就可以实现
多位的加法和减法
那么在pascal发明了
多位的加法机之后
300年间也出现了
其它一些重要的机器
比如说Leibniz的计算器
Babbage的分析机
以及Hollerith制表机等等
但是发展速度十分缓慢
一直到1946年ENIAC在
美国宾夕法尼亚大学研制成功
我们知道这是世界上第一台
现代意义的通用电子计算机
注意我们这里用了
一个通用计算机
这样一个词汇ENIAC的指标是
这样的它装有18000个电子管
总重量达30吨
功耗140kw有20个寄存器
每个能存放10位的
十进制数运算速度为
每秒5000次ENIAC是一个
通用的计算机所以对它
能进行编程序它的编程呢
是通过设置分布在
各处的6000个开关和
众多的插头与插座来
编程的这张照片呢
就是ENIAC现场的示意图
那么电子计算机是
如何实现计算的呢
我们来看一个作为
计算机基础的二进制加法
这里给了一个一位全加器
的框图那么它有三个
输入操作数其中ai是
被加数bi是加数ci-1呢
是底位向本位的进位
它有两个输出
ci是本位性高位的进位
si是本位的全加和
这是一位全家器的框图
那么它的内部是怎样
实现计算的呢通过上一讲的
内容我们知道算术运算
可以通过逻辑运算来实现
而逻辑运算又可以
通过基本的门电路
与或非这样基本的门电路
来实现这里我们给出了
一位门电路门集的
电路图将多个一位门叫器
连接起来就可以
形成多位的加法器
这里我们也给出了
一个四位的加法器的
框图利用类似的方法
我们还可以实现
乘法器除法器以及
其他的一些运算器件
比如说逻辑运算器
一位运算器等等那么
这是一些基本的运算
我们怎么样实现一些
更复杂的运算呢
比如说我们想计算
a+b×c那我们可以
这样做用一个乘法器
实现b和c相乘把它的
结果送到一个加法器
再用a进行相加
我们就可以得到
a+b×c最后的结果
如果我们要算另外
一道题比如说ab-c×d
怎么办呢我们可以
象刚才这样用
一个乘法器和一个除法器
分别实现除法乘法
然后再用一个减法器
把乘法器和除法器的
结果进行相减就可以
得到我们的结果了
假如所有的题都需要
我们这样去构造
电路来实现的话
那我们的计算任务
实现起来就非常复杂了
换一种思路人类天生具备
大局观最擅长从
大到小由表及里的分析问题
面对一个复杂的问题
我们总可以把它分解成
简单的基本的问题
而这些简单的基本的
问题的解决组合起来就
可以实现一个复杂问题的
求解计算也是如此
任何复杂的计算都是
由简单的基本计算组合
而成好我们再来回顾刚才
这个计算问题a+b×c实际上
我们可以用两个步骤来
完成第一步我们可以
先完成bxc那么这个步骤的
结果我们需要有一个
储存部件把它现暂时的
保存起来之后我们再把
a和刚才的结果进行相加
就可以得到我们最后的
结果于是我们的计算
就分成两部进行第一步
就是运用了一个乘法器
完成乘法第二步运用
一个加法器完成加法那么
利用这样一个思路当
我们需要算另外一道题时
只要将这个过程进行修改
就可以总结一下任何
一个复杂的计算都可以
有一些基本的步骤来
实现那么这些基本的
部件我们叫做指令
基本计算的集合也就是
指令集基本运算的数量是
有限的指令集是有限集合
所以指令集中的
指令基本计算可以
通过电路来实现
比如说加法器乘法器等等
那么将指令集中的指令
也就是实现基本计算的
电路按某种方式进行
排列组合就可以完成
不同的计算任务
这也就是程序eniac
也就是这样工作的
这张图给出了
为eniac编写的程序
这和我们今天看到的
程序有很大的不同
我们今天编写的
程序都是用
语句一行一行代码语句来
实现的那么eniac的程序呢
更象一个电路图实际上
通过刚才的描述
我们也能明白
为什么是这样
它可以实现不同的
计算但是它需要对
电路进行重构ENIAC是
一种通用计算机通过
修改电路的结构它可以
完成任何计算任务
为什么ENIAC能够
实现通用计算呢
这就是我们
第二部分要解决的问题
-第一节 序言
--第一节 序言
-第二节 电磁学和分析数学发展史:磁学
-第三节 电磁学与分析数学发展史:静电
-第四节 电磁学和分析数学发展史:动电
-第五节 电子器件的发明及电子技术的发展
-第六节 电磁学的广泛应用
-第七节 电磁系统理论
-第八节 电子科学技术各学科间的关系
-第九节 电子科学技术的学科体系
-第一讲:电磁学与分析数学史概览--第一次作业
-第一节 序言
--第一节 序言
-第二节 电磁场(一)
-第三节 电磁场(二)
-第四节 物质
--第四节 物质
-第五节 电磁场与物质的相互作用:非共振作用
-第六节 电磁场与物质的相互作用:共振作用
-第七节 电磁场理论与电路理论
-第一节 空间离散化
-第二节 静场电路分析
-第三节 非静场电路抽象
-第三讲:电路抽象--电路抽象 练习题
-第四节 电路元件抽象
-第五节 非线性元件抽象
-第六节 电路抽象三原则
-第七节 分层抽象思想
-第八节 电路基本问题
-第九节 数字化抽象
-第三讲:电路抽象--Quiz 3
-第一节 序言
--第一节 序言
-第二节 什么是比特
-第三节 比特与编码
-第四节 比特与信息
-第五节 比特的用途示例
-第六节 什么是逻辑
-第七节 逻辑的用途示例
-第八节 与数字电路的关系
-第九节 小结
--第九节 小结
-第四讲:比特与逻辑--Quiz4
-第一节:从算盘到ENIAC
-第二节:通用计算机模型
-第三节:指令集体系结构
-第四节:程序和程序设计语言
-第五节:处理器的工作原理
-第六节:性能问题
--第六节:性能问题
-第七节:小结
--第七节:小结
-第一节:数据与数据处理技术的发展
-第二节:数据处理举例
-第三节:数据模型和算法的概念
-第四节:问题的抽象和建模
-第五节:数值分析问题研究
-第六节:数据和算法的关系I
-第七节:数据和算法的关系II
-第八节:大数据
--第八节:大数据
-第九节:数据挖掘技术和数据算法的展望
-第六讲:数据与算法--Quiz6
-第一节:基本内容简介
-第二节:信息的基本概念和传输的几种方式
-第三节:交换的概念和网络的几种形式
-第四节:模拟与数字通信
-第五节:调制和解调
-第六节:传输涉及的基本理论
-第七节:信息论和几种相关的编码方式
-第八节:多址方式
--第八节:多址方式
-第九节:交换的基本概念
-第十节:网络分层的基本概念
-第十一节:互联网的基本原理和有限状态机模型
-第七讲:通讯与网络--Quiz7
-第一讲:内容简介
--第一讲:内容简介
-第二讲:信息与媒体
-第三讲:人类感知与认知
-第四讲:智能信息处理
-第五讲:媒体与认知相互作用
-第六讲:媒体认知应用
-第七讲:总结
--第七讲:总结
-第八讲:媒体与认知--Quiz8
-期末考试--Final Exam





