《计算机工作原理课件.ppt》由会员分享,可在线阅读,更多相关《计算机工作原理课件.ppt(47页珍藏版)》请在三一办公上搜索。
1、计算机工作原理,创新/赢势/赢天下,1.计算机的发展与作用,第1台数字电子计算机诞生,1946年美国宾州大学研制成功第1台数字电子计算机-ENIAC,Photo: van Pelt Library, U Penn.,18 000 电子管,6000 开关占地面积: 150 m2重量: 30 吨功耗: 140 KW运算速度: 5000 次/s平均无故障时间 7 min外部程序控制,第14代计算机的对比,计算机的特点与作用,计算机有哪些特性?,计算机的特性:(1)速度快(2)存储容量大(3)通用性好不仅能处理数字和文字,而且能对图像、声音等多种形式的信息进行处理不仅能进行数学运算,而且能进行逻辑运算
2、不仅能进行运算,而且具有信息的获取、存储、传输、展现等功能(4)计算机与计算机具有互连、互通和互操作的能力,2.计算机的逻辑组成,计算机是一个复杂系统,计算机硬件是计算机系统中所有实际物理装置的总称,计算机软件是指在计算机中运行的各种程序及其处理的数据和相关的文档,计算机硬件的逻辑结构 1,经典计算机的逻辑结构(冯.诺依曼计算机),(注:逻辑结构意指概念上(即功能上)的结构)冯.诺依曼计算机工作原理:程序存储和程序控制,中央处理器CPU(Central Processing Unit),计算机硬件的逻辑结构 2,现代计算机的逻辑结构,(1) 中央处理器,什么是处理器(processor)?能高
3、速执行指令,完成二进制数据的算术或逻辑运算和数据传送等操作的部件,特点是:由数字电路组成,结构非常复杂所有电路都制作在大规模集成电路芯片上(仅几个平方厘米),称为“微处理器” (microprocessor),Intel 4004 chip,Intel 8080 chip,CPU的任务,CPU的主要任务是执行指令,它按指令的规定对数据进行操作,(2) 存储器,功能:储存以二进位形式表示的程序和数据分类:内存储器/外存储器,存储单元,主存储器(RAM)的功能与原理,主存是CPU可直接访问的存储器,用于存放供CPU处理的指令和数据,(5) 总线(bus),功能:用于连接CPU、内存、外存和各种I/
4、O设备并在它们之间传输信息的一组共享的传输线及其控制电路,总线分为:数据总线、地址总线和控制总线分类:CPU总线(或前端总线) :用于连接CPU和内存的总线I/O总线:连接内存和I/O设备(包括外存)的总线,3.计算机工作原理,计算机工作原理-“存储程序控制” 原理,将问题的解算步骤编制成为程序,程序连同它所处理的数据都用二进位表示并预先存放在存储器中程序运行时,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止,CPU从内存中逐条读取该程序的指令及相关的数据,将指令的运算处理结果送回内存保存,任务完成后,将处理得到的全部结果成批传送到外
5、存以长久保存,CPU逐条执行指令,按指令要求完成对数据的运算和处理,指令与指令系统,指令是什么?,指令就是命令,它用来规定CPU执行什么操作。指令是构成程序的基本单位,程序是由一连串指令组成的指令采用二进位表示,大多数情况下,指令由两个部分组成:,指出CPU应执行何种操作的一个命令词,例如加、减、乘、除、取数、存数等,指出该指令所操作(处理)的数据或者数据所在位置,指令在计算机中的执行过程,取指令:CPU的控制器从存储器读取一条指令并放入指令寄存器指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作、操作数在哪里执行指令3.1 取操作数3.2 进行运算修改指令计数器,决定下一条指令的
6、地址,1 取指令,4 修改指令计数器,3 执行指令,2 指令译码,指令执行周期,通常,每一步需要1个或几个时钟周期才能完成,关于指令系统,CPU可执行的全部指令称为该CPU的指令系统,即它的机器语言,4.计算机数据常用表示方法,23,计数与进制,“数”是一种信息,它有大小(数值),可以进行四则运算 “数”有不同的表示方法。日常生活中人们使用的是十进制数,但计算机使用的是二进制数,程序员还使用八进制和十六进制数,十进制数,语法规则每一位可使用十个不同数字表示(0、1、2、3、4、5、6、7、8、9)低位与高位的关系是:逢10进1各位的权值是10的整数次幂(基数是10 )标志: 尾部加“D”或缺省
7、语义规则204.96=21020101410091016102,二进制数,语法规则 每一位使用两个不同数字表示(0、1),即每一位使用 1 个“比特”表示 低位与高位的关系是:逢2进1 各位的权值是 2 的整数次幂(基数是2 ) 标志: 尾部加B语义规则:按权展开101.01 B =122021120 021122 5.25,二进制对应十进制数据,1B:11B:111.01B:1111B:1011.11B:,十六进制数,语法规则每一位使用十六个数字和符号表示(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F )逢16进1, 基数为16各位的权值是16的整数次幂(基数是16 )标志
8、:尾部加H语义规则:按权展开 F5.4H=15161 + 5160 + 4161 = 245.25,十六进制对应十进制数据,1H:10A.BH:ABC.8H:111H:,八进制数,语法规则每一位使用8种数字表示(0、1、2、3、4、5、6、7)逢8进1, 基数为8各位的权值是8的整数次幂(基数是8 )标志:尾部加Q语义规则:按权展开 75.4Q=781 + 580 + 481 = 61.5,八进制对应十进制数据,1Q:106.7Q:111Q:,不同进位制数的比较,32,不同进制数的相互转换,原理:真值(语义)相等十进制-二进制十进制-十六进制二进制 -十进制十六进制-十进制,十进制数 二进制数
9、,转换方法:整数和小数分开转换 整数部分:除以2逆序取余 小数部分:乘以2顺序取整例如:29.6875 11101.1011 B 注意:十进制小数(如0.63)在转换时会出现二进制无穷小数,这时只能取近似值,即实数存储在计算机中会存在误差,整数存储在计算机中没有误差,十六进制数与二进制数的互换,转换方法:与八、二进制互换的方法类似例1:35A2.CFH 0011 0101 1010 0010.1100 1111B例2:11 0100 1110.1100 11B 34E.CCH,1位十六进制数与4位二进制数的对应关系:,十六进制数与二进制数的互换练习,2F3.D3H: BADFH: B10111
10、01.101B: H1011111.10111B: H,八、二进制互换的方法类似,1个八进制数与3位二进制数相对应例如:1075.06Q: 001000111101.000110B1011101.1011B: 1 3 5.54Q,各种进制的互相转换,以十进制和二进制为标准,进行互换345.75转换成二进制、八进制和十六进制的数1075.06Q转换成16进制、十进制的数,数值信息的表示,如何解决分而治之(divide and conquer)将有理数分类整数(integer)无符号数整数(unsigned integer)有符号整数(signed integer)浮点数(float),38,39
11、,(1)无符号整数的表示,特点:没有符号位,仅能表示正整数N位范围:000111 (真值:02n-1)计算步骤转换为二进制高位补足0举例:用八位不带符号整数表示(43)10第一步: 101011第二步:00101011,40,(2)有符号整数的表示原码,规则第一位为符号位,正整数符号位为0,负整数符号为1;第二位开始为绝对值,表示法与无符号整数相同N位范围:111011 (真值: -(2n-1-1) 2n-1-1)计算步骤将绝对值表示成二进制设置符号位,除符号位外高位补足0举例+43的8位原码为: 00101011- 43的8位原码为: 10101011+0的8位原码为:00000000-0的
12、8位原码为:10000000,41,(2)有符号整数的表示原码,讨论范围:-(2n-1-1)+(2n-1-1),只有2n-1个数缺点:整数0的表示重复000(真值:+0)100(真值:-0)0的重复表示不仅仅是浪费问题,给信息处理带来很大问题加法与减法运算规则不统一,增加了成本;需要加法运算器和减法运算器才能实现加法运算和减法运算如何应对:在计算机内部采用“补码”表示有符号整数,(3)有符号整数补码的计算方法,转换规则正整数的补码和其原码相同。负整数的补码为:其原码除符号位外,其余各位取反加1得来。计算步骤将绝对值表示成二进制根据整数符号正:设置符号位为0,高位补足0负:第2位向左每位取反,末
13、尾加1,设置符号位1,42,(3)有符号整数的机器内表示补码,例1: - 43用8位补码表示所以:- 43 的8位补码为:11010101例2: - 64用8位补码表示所以:- 64 的8位补码为:11000000讨论整数0表示唯一:00000000(+0,-0补码相同)范围: -2n-12n-1-1,43 = 0101011(7位)取反: 1010100加1: 1010101,64 = 1000000取反: 0111111加1: 1000000,带符号整数表示方法的优缺点分析:,原码表示法优点:与日常使用的十进制表示方法一致,简单直观缺点:加法与减法运算规则不统一,增加了成本;整数0 有“0
14、0000000”和“10000000”两种表示形式,不方便补码表示法优点:加法与减法运算规则统一,全部采用加法运算,没有“-0”,可表示的数比原码多一个缺点:不直观,人使用不方便结论:带符号整数在计算机内不采用“原码”而采用“补码”的形式表示!,补码取消了减法运算,(M-n)补码=m补码+(-n)补码例如:(3-4)补=3补+(-4)补3补=00000011(-4)补=111111003补+(-4)补=11111111(3-4)补=(-1)补,46(解释-128的补码),整数的机器内表示,整数表示举例(理解:同一个二进制,采用不同方法解析,得到结果不同,为什么在C中要定义变量类型),THANKS,谢谢观看,