计算机基本原理.docx
《计算机基本原理.docx》由会员分享,可在线阅读,更多相关《计算机基本原理.docx(15页珍藏版)》请在冰豆网上搜索。
计算机基本原理
目录
计算2
什么是“计算”2
什么是“计算机”2
计算机”名称的起源2
计算机简史3
手工计算器3
机械计算器运行的“自动化”3
机械计算器小结4
如何“飞跃”机械计算器4
图灵机5
图灵机的组成5
图灵机的运算法则6
如何实现图灵机6
进制6
进制的转换方法7
现代计算机的数据表示--二进制7
二进制的真正价值8
布尔电路小结9
冯·诺依曼结构9
现代计算机10
现代计算机的发展历史11
小型机12
大型机12
巨型机12
存储程序原理14
程序和指令14
计算机执行指令的主要步骤18
执行指令示例19
本讲小结21
计算
什么是“计算”
∙新华词典2001修订版计数;通过已知数求出未知数;筹划;打算;算计
∙美国传统词典用数学方法(尤其是数字的方法)决定或测定;利用计算机决定或测定;确定数量或数字
∙拉丁词源:
Com-算;pute估计
∙辞海、计算机专家、数学家、哲学家…
什么是“计算机”
顾名思义,“计算机”就是执行计算的“机器”,能够基于数学,尤其是数字相关的数学,从已知(输入)推导出未知(输出)的机器
计算机”名称的起源
1646年正式出现“computer”这一英文单词,当时是指专门从事计算工作的人而用来计算的机器在1940年以前称为“计算器(calculator)”或(tabulator)”直到1940年发明第一台电子计算设备,“计算机”这一名词才正式具备今天的内涵
计算机是20世纪伟大的技术发明之一,已经成为现代科学技术转化为现实生产力的基础
计算机简史
计算机前世
∙手工计算器,1200年~1600年
∙机械计算器,1600年~1930年
∙计算机原型,1937年~1946年
现代计算机
∙真空管计算机,1946年
∙晶体管计算机,1950年代后期
∙集成电路计算机,1965年
∙超大规模集成电路,1970年代早期
手工计算器
进行数字计算的工具,需手工实施运算法则,体现了计算机的核心:
按照运算法则操纵数字一步一步执行计算
机械计算机能够自动实施运算法则
手工计算器需要运算法则进行大量手工操作,无法满足工业革命的需求
第一台机械计算器,1623年德国Schickard计算器
机械计算器运行的“自动化”
1823年,英国Babbage设计实现了功能强大的差分机,但极其复杂,意味着更强大的机械计算器必须自动化
4000多个零件;把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。
;可处理3个不同的5位数,计算精度达到6位小数。
1834年,英国人Babbage设计的分析机(蒸汽驱动)
∙存储数据的仓库:
每个齿轮可贮存10个数,齿轮组成的阵列总共能够储存1000个50位数
∙执行运算的作坊:
基本原理与帕斯卡的转轮相似,用齿轮间的啮合、旋转、平移等方式进行数字运算
∙运算控制器:
以自动编织机穿孔卡中的0和1来控制运算操作的顺序,如,第一步运算结果若是"1",就接着做乘法,若是"0"就进行除法运算
∙数据传输部件:
在仓库和作坊之间不断往返运输数据
分析机终没能造出来,巴贝奇和阿达(英国诗人拜伦的独生女)失败了!
因为看得太远!
分析机的设想超出了其所处时代至少一个世纪!
机械计算器小结
什么是计算:
机械计算机是利用机械执行计算的机器
∙1)基于数学,尤其是数字相关的数学
∙机械计算机均采用十进制计数及四则运算法则
差分机将复杂的函数表运算转化成加法
∙2)从已知(输入)推导出未知(输出)
机械计算机的输入和输出均为有限位数的十进制数
机械计算机大多手工输入,也有穿孔卡片输入
机械计算机的运算/推导过程不变、速度有限
机械的“物理性质”决定了机械计算机“能力有限”
分析机伟大的设计终无法采用机械来实现
如何“飞跃”机械计算器
机械计算机是利用机械执行计算的机器产生电子计算机——产生了电子计算机
1)基于数学,尤其是数字相关的数学
∙机械计算机均采用十进制计数及四则运算法则。
——新的数学基础必须发明更新的运算法则,以适应更通用广泛的计算要求。
差分机将复杂的函数表运算转化成加法以支持更通用/宽泛的计算需求
2)从已知(输入)推导出未知(输出)
机械计算机的输入和输出均为有限位数的十进制数
机械计算机大多手工输入,也有穿孔卡片输入机械计算机的运算/推导过程不变、速度有限
——新的物理基础必须采用新的物理设备,以支持更多等大的数据,可变更快的运算。
变、更快的运算
∙机械的“物理性质”决定了机械计算机“能力有限”,分析机伟大的设计终无法采用机械来实现
——借鉴分析机的设计思路,寻找新的实现手段
图灵机
图灵机的组成
∙一条磁带:
双向都可无限延长,被分为一个一个彼此独立的方格,每个方格上有数字
∙一个磁头:
可以读出或改写磁带方格数字,可在方格之间左右移动
∙一个控制器:
包含有限个数的状态,每个状态值都可以改变
图灵机的运算法则
重复执行下列动作,直至遇到“停机”命令
1)读出磁头指向的磁带方格的内容
2)根据读出值和控制器内部状态,执行三种动作:
改写方格内容、移动磁头、修改状态
图灵机小结
图灵机组成:
一条磁带+一个磁头+一个控制器
图灵机程序:
磁带内容+控制器状态+条件执行动作
表现为<当前状态,当前符号,修改后符号,磁头移动方向,下一状态>五元组的集合
图灵机计算能力强大:
图灵说:
凡是可计算的函数都可以用图灵机来计算
Church说:
任何计算,如果存在一个有效过程,它就能被图灵机所实现
计算机程序就是某个可计算问题的一个有效过程
如何实现图灵机
图灵机实现的主要指标:
时间上要求运算速度;空间上要求磁带容量
图灵机实现的关键因素:
∙物理上:
磁带的方格数量和方格容量,磁头读写速率和移动速度,控制器判断速率和状态变换速率
∙数学上:
一般而言,进制越大,所需存储空间越少,运算次数越少
∙只要时间足够长(即允许足够的运算次数)和空间足够大(即磁带足够长),图灵机可替代目前的任何计算机
进制
进制形式只是数值的表示形式
任何十进制数X都可以表示为:
X=kn*10n++k0*100+k-1*10-1++k-m*10-m基数为10,系数/数字kiϵ{0,1,2,3,4,5,6,7,8,9}例:
46.37(10)=4*101+6*100+3*10–1+7*10-2
任何二进制数B都可以表示为:
B=kn*2n++k0*20+k-1*2-1++k-m*2-m
基数为2,系数/数字kiϵ{0,1}
例:
110110
(2)=1*25+
1*24+0*23+1*22+1*21+0*20=54(10)
进制的转换方法
如果两个有理数相等,则两数的整数部分和小数部分一定分别相等
十进制数转换成二/八/十六进制数
整数转换用“除2/8/16取余法”
小数转换用“乘2/8/16取整法”
二/八/十六进制数转换成十进制数
把二/八/十六进制数写成2/8/16的各次幂之和的形式,然后计算其结果
现代计算机的数据表示--二进制
例:
将十进制数264转换成二进制数余数
22640低位
21320
2660
2331
2160
280
240高位
220
211
即(264)10=(100001000)2
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:
用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为一时为止,然后把先得到的余数作为二进制数的低
20位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来
∙进制越小,表示同一个数值所需数字越多,存储空间使用越多
∙不同进制运算法则基本相同,进制越小,对于同一数值,需要运算的数字越多,速度越慢。
对图灵机实现而言,二进制应该是最不理想的,对图灵机的运算速度要求而言,二进制也是最不理想的。
那么,为什么要用二进制呢?
二进制的真正价值
布尔代数(逻辑代数,1847年)
关于0和1的代数系统,用基础的逻辑符号系统描述物体和概念
逻辑运算:
没有进位,按位运算
非,求反:
 ̄单操作数运算:
 ̄1=0 ̄0=1与,逻辑乘:
•或,逻辑加:
+
异或:
⊕同或:
⊙
A
B
逻辑加
逻辑乘
异或
同或
0
0
0
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
∙关于0和1的代数系统,用基础的逻辑符号系统描述物体和概念
∙逻辑运算:
没有进位,按位运算
∙开关电路实现电子化布尔代数运算
1938年香农在MIT的硕士论文《继电器与开关电路的符号分析》,首次用布尔代数进行开关电路分析,并证明布尔代数的逻辑运算,可以通过继电器电路来实现,进而明确地给出了实现加,减,乘,除等运算的电子电路的设计方法。
布尔电路小结
布尔代数提出二进制的逻辑运算,基于逻辑运算可以实现算术运算
开关电路可以实现布尔代数的逻辑运算,进而实现算术运算
进制仅仅是数值的表现形式,可以互换,因此,布尔电路可以实现通用的数值运算
由于“电子”的快和小,使得布尔电路实现的计算快、单位存储容量大,满足图灵机实现对运算速度和存储空间的需要
冯诺依曼结构:
明确上述“推导”,给出参考实现,解决一系列系统实现的关键技术问
冯·诺依曼结构
五大模块:
借鉴分析机,给出图灵机各个部分的电子实现方式
二进制:
明确采用二进制作为各个部件工作和交互的基础
现代计算机
全名:
“通用电子数字计算机”
General-PurposeElectronicDigitalComputer
通用:
计算机是一种通用信息处理设备,只要有合适的软件,它能适用于各种专门用途。
电子:
是计算机硬件实现的物理基础,计算机的运行终都通过电子电路中的电流、电位等实现
数字化:
是计算机的信息表示方式。
一切信息,无论原本是数值、文字、图形、声音等,在计算机里都统一到二进制的数字化表示上。
数字化是计算机的一种基本特征,是通用性的重要基础。
计算机:
这是一种做计算的机器。
计算机数据的单位
位(Bit):
小的数据单位,即二进制的一个数位
字节(Byte,简写为B):
常用的数据单位。
1个字节由8个二进制数位组成
现代计算机的发展历史
计算机可根据综合性能指标进行分类,性能指标通常包括体积大小、结构复杂程度、功率消耗、性能指标、数据存储容量、指令系统和设备、软件配置等等。
按照性能从弱到强,包括如下几类
单片机是指一个集成在一块芯片上的完整计算机系统。
包括:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备
单片机可以直接嵌入设备当中,例如:
手机、电话、摄像机、计算器、电饭煲、电冰箱等家用电器、超声诊断等医疗设备、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机
单片机的特点是:
功耗低、体积小、专用化
微型计算机
以微处理器(micro-processor)为中央处理单元组成的个人计算机。
主要有桌面电脑(即台式机Desktop)、笔记本电脑(Laptop)、个人数字助理(PDA)、平板电脑等
微型计算机的特点是:
方便个人使用、通用性强、价格相对低、省电
1971年,美国Intel公司成功地在一块芯片上实现了中央处理器的功能,制成了第一片4位微处理器,并由它组装成第一台微型计算机
1977年,美国苹果公司推出了AppleII电脑,是第一款配备鼠标的商用计算机,也是历史上销量好的电脑(700万台)
1981年,美国IBM公司采用Intel微处理器芯片,推出IBMPC微型计算机
一些主流的微处理器芯片:
IntelAMD
AppleII
1977年的Jobs2007年的Jobs
小型机
为多用户执行任务,在中小企业广泛应用,用于工业自动控制、数据采集、分析计算、企业管理等领域
大型机
通用,有极强的综合处理能力,主要应用于大银行、政府部门、大型制造厂家等
巨型机
包含几千到几万个处理器,运算速度快、性能高、技术复杂,常用于解决科技领域中某些带有挑战性的问题,应用于核武器、反导弹武器、空间技术、大范围天气预报、石油勘探等
巨型机的研制属于国家高科技领域和尖端技术研究,是国家科技发展水平和综合国力的重要标志
巨型机IBM的ASCI白色:
CPU由8000我国研发天河一号每秒钟1206运算速度25.9万亿/秒多个处理器组成,内存6T(6万亿次的峰值速度,和每秒万亿)字节,硬盘160T字节,563.1万亿次的Linpack实测性能,用于模拟核爆炸(1TB=103GB)世界排名第一
冯·诺依曼结构基本原理
存储程序原理
将数据以及用来处理数据的一系列程序指令同时存入计算机中,让计算机自动地按程序的指令进行一系列操作
什么是程序(Program)?
程序(Program)是为解决某一问题而选用的一条条有序指令的集合。
程序和指令
指令(Instruction)是计算机能识别并能执行的基本操作命令。
指令构成:
操作码地址码
操作码指明该指令要完成的操作,如加、减、乘、除。
地址码是指参加运算的数据所在的地址
ADDA,[6]
该指令表示将寄存器A中的内容和存储器中的[6]号存储单元的内容相加,再将结果放回到寄存器A中
输入->处理->输出+存储
∙将各种信息变为计算机能识别的相应的数字序列——输入输入设备
∙将这些数字序列按程序指定的处理方式进行运算——处理中央处理器(控制器+运算器)
∙将处理结果按一定的方式输出——输出输出设备
∙存放有关的数据以便进行处理——存储存储设备
换言之,计算机是一种能接受输入、处理数据、存储数据并产生输出的自动化装置
输入->处理->输出+存储
输入设备主要功能
输入设备用于从计算机外部将数据、命令输入到计算机的内部,供计算机处理。
常用的输入设备有键盘、鼠标器、磁盘存储器外存储器驱动器、磁带机、光笔、CDROM驱动器、
控制器的主要功能
控制器负责从存储器中逐条取出指令、分析指令,并按指令要求发出相应的控制信号指挥各执行部件工作。
运算器的主要功能
运算器是计算机中进行算术运算和逻辑运算的单元。
存储器的主要功能
存储器的主要功能是用来存放各类程序和数据信息。
常见的存储设备包括内存、硬盘、U盘、闪盘、迅盘等
输出设备的主要功能
输出设备用以将计算机处理后的结果信息,转换成人们能够识别和使用的数字、文字、图形、声音、电压等信息形式。
常用的输出设备有显示器、磁盘驱动器、打印机、绘图仪、音响设备和投影仪等设备
计算机执行指令的主要步骤
取指•控制器将指令的地址送往存储器,存储器按给定的地址读出指令内容,送回控制器
译码•控制器分析指令的操作性质,向部件发出指令所需要的控制信号CPU内部有关
执行•控制器从作数,命令运算器进行指令规定的运算CPU内部通用寄存器或存储器取出操
回写•控制器将运算结果写入通用寄存器或存储器
执行指令示例
假设:
通用寄存器A的内容为”3”,存储单元[6]的内容为”2”则:
该指令执行完成后,通用寄存器A的内容为”2+3”的结果”5”
存储器的组织形式
地址:
每个存储单元对应的序号
内容:
存储单元中存放的二进制信息(指令或数据)
冯·诺依曼计算机知识点一览
1冯·诺依曼结构的主要特点
2计算机执行指令的主要步骤
3CPU和存储器的基本结构
本讲小结
计算机发展简史
在从机械计算到现代电子计算机的发展过程中,图灵机奠定理论基础,布尔电路提供物理基础,二进制作为数据运算的技术手段,冯·诺依曼结构最终形成了现代计算机的
请听下一讲--《计算机系统结构之硬件》