《计算机概述与数据表示和运算.ppt》由会员分享,可在线阅读,更多相关《计算机概述与数据表示和运算.ppt(125页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、山东师范大学信息科学与工程学院山东师范大学信息科学与工程学院微微 机机 原原 理理 Principles of computerPrinciples of computer卢洪武卢洪武 教授教授前 言v为什么以单片机为例学习微机原理?随着微电子技术的日益进步,微型计算机向高性能的64位微机和适用于测控的单片微机两个方向迅速发展。单片微机是指在一块芯片上集成有CPU、ROM、RAM、并行和串行IO接口,以及定时器计数器等多种功能部件的微型计算机,这种微型计算机也可称之为微控制器。它具有集成度高,可靠性高,性能价格比高,适应温度范围宽,抗干扰能力强,小巧、灵活,易于实现机电一体化等优点,现已广泛应
2、用于检测、控制、智能化仪器仪表,以及生产设备自动化、家用电器等领域。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、家用电器、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西只能使用复杂的模拟电路来做,然而这样做出来的产品不仅体积大,而且成本高,并且由于使用时间的延长元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们控制这些东西就实现智能化
3、了,我们只需要在单片机外围接一些简单的接口电路,需要的功能由人写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。据统计,我国的单片机年容量已达56亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到3%。单片机的应用程度标志一个国家的工业化水平。所以,学习单片机在我国有着广阔的前景。为了促进大学生创新能力的培养,教育部大力倡导的大学生电子设计大赛、嵌入式系统设计大赛、“飞思卡尔”智能车设计大赛、全国电子专业人才设计与技能大赛、TI杯大学生电子设计大赛等都要求有较高的单片机应用水
4、平。怎样才能学好微机原理呢?之所以我们选择以单片机为例学习微机原理除上述原因外,单片机还具有价格低廉,性能优越,功能齐全的特点。由于现代单片机中都集成了ISP(在系统可编程)功能,且开发工具、开发板极易得到。有一台计算机,化几十块钱,买一块开发板,或者自己用万用板焊一个单片机最小系统花不到20块钱就可以作实验了。大家都知道计算机是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多练习、多实际操作,才能真正掌握。Practice is a best way to learning.第一章第一章 概述及计算机数据基础概述及计算机数据基础一、一、计算机发展与组成计算机发展与组成二
5、、二、单片机简介单片机简介19461946年由美国宾夕法尼亚大学研制年由美国宾夕法尼亚大学研制 ENIACENIAC(Electronic Electronic Numerical Integrator And calculatorNumerical Integrator And calculator),),运算速度运算速度 50005000次次/秒,功耗秒,功耗150150kw/hkw/h,占地占地170170m m2 2,造价造价100100万美元。万美元。一、一、计算机发展与组成计算机发展与组成 1946-1958 1946-1958 第一代电子管计算机第一代电子管计算机。磁鼓存储器,机
6、器。磁鼓存储器,机器语言、汇编语言编程。语言、汇编语言编程。1.1 1.1 发展概况发展概况 1958-1964 1958-1964 第二代晶体管计算机第二代晶体管计算机。磁芯作主存。磁芯作主存储器储器,磁盘作外存储器,开始使用高级语言编程。磁盘作外存储器,开始使用高级语言编程。1964-1971 1964-1971 第三代集成电路计算机第三代集成电路计算机。使用半导。使用半导体存储器,出现多终端计算机和计算机网络。体存储器,出现多终端计算机和计算机网络。1971-1971-第四代大规模集成电路计算机第四代大规模集成电路计算机。出。出现微型计算机、单片微型计算机,外部设备多样化。现微型计算机、
7、单片微型计算机,外部设备多样化。1981-1981-第五代人工智能计算机第五代人工智能计算机。模拟人的智模拟人的智能和交流方式。能和交流方式。v世界上第一台计算机1946年2月15日,第一台计算机ENIAC问世,这标志着计算机时代的到来。ENIAC是电子管计算机,时钟频率仅有100 KHz,但能在1秒钟的时间内完成5000次加法运算。与现代的计算机相比,有许多 不足,但它的问世开创了计算 机科学技术的新纪元,对人类 的生产和生活方式产生了巨大 的影响。ENIAC的出现满足了人们计算的 需要,但它的体积实在太大了!1.21.2 计算机发展趋势计算机发展趋势v微型化微型化 便携式、低功耗便携式、低
8、功耗v巨型化巨型化 尖端科技领域的信息处理,需要超大容量、高尖端科技领域的信息处理,需要超大容量、高速度速度v智能化智能化 模拟人类大脑思维和交流方式,多种处理能力模拟人类大脑思维和交流方式,多种处理能力v系列化、标准化系列化、标准化 便于各种计算机硬、软件兼容和升级便于各种计算机硬、软件兼容和升级v网络化网络化 网络计算机和信息高速公路网络计算机和信息高速公路v多机系统多机系统 大型设备、生产流水线集中管理大型设备、生产流水线集中管理(独立控制、独立控制、故障分散、资源共享故障分散、资源共享)1.31.3 微型计算机组成结构微型计算机组成结构微型计算机系统硬件微型计算机(主机)微处理器微处理
9、器(CPU)软件外围设备运算器控制器存储器存储器(内存)RAMROM外部设备辅助设备 输入设备(键盘、扫描仪、语音识别仪)输出设备(显示器、打印机、绘图仪、)辅助存储器(磁带、磁盘、光盘)输入输入/输出接口输出接口(PIO、SIO、CTC、ADC、DAC)(I/O接口接口)总线(AB、DB、CB)系统软件(操作系统,编辑、编译程序,故障诊断,监控程序)应用软件(科学计算,工业控制,数据处理)程序设计语言(机器语言、汇编语言、高级语言)电源电路时钟电路电子计算机技术的发展按使用元器件划分相继经历了五个时代:电子管计算机;晶体管计算机;集成电路计算机;大规模集成电路计算机;超大规模集成电路计算机。
10、计算机的结构仍然没有突破冯诺依曼提出的计算机的经典结构框架。v计算机的冯诺依曼结构1946年6月,匈牙利籍数学家冯诺依曼提出了“程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和输出设备组成这一计算机的经典结构。二、单片机的发展过程及产品近况2.1 2.1 单片机的发展过程单片机的发展过程 单片机技术发展过程可分为三个主要阶段:单片机技术发展过程可分为三个主要阶段:单芯片微机形成阶段单芯片微机形成阶段 1976年,Intel公司推出了MCS-48系列单片机。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。特点是:存储器容量
11、较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。性能完善提高阶段 1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。微控制器化阶段 1982年,Intel推出MCS-96系列单片机。芯片内集成:16位CPU、8K字节ROM、232字节RAM、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有
12、8路10位ADC、1路PWM输出及高速I/O部件等。特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。“微控制器”的称谓更能反应单片机的本质。2.2 单片机产品近况 ATMEL公司融入Flash存储器技术的AT89系列;Philips公司的80C51、80C552系列;华邦公司的W78C51、W77C51高速低价系列;ADI公司的ADC8xx高精度ADC系列;LG公司的GMS90/97低压高速系列;Maxim公司的DS89C420高速(50MIPS)系列;Cygnal公司的C8051F系列高速SOC单片机。80C51系列单片机产品繁多,主流地位已经形成,
13、近年来推出的与80C51兼容的主要产品有:非80C51结构单片机新品不断推出,给用户提供了更为广泛的选择空间,近年来推出的非80C51系列的主要产品有:Intel的MCS-96系列16位单片机;Microchip的PIC系列RISC单片机;TI的MSP430F系列16位低功耗单片机;Freescale单片机,具有几千种型号涵盖了从8位到32位的各种需求的单片机。三、单片机的特点及应用领域3.1 3.1 单片机的特点单片机的特点 近期推出的单片机产品,内部集成有高速I/O口、ADC、PWM、WDT等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发方式(如在系统编程ISP)等方面都有了进
14、一步的增强。控制性能和可靠性高控制性能和可靠性高 实时控制功能特别强,其CPU可以对I/O端口直接进行操作,位操作能力更是其它计算机无法比拟的。另外,由于CPU、存储器及I/O接口集成在同一芯片内,各部件间的连接紧凑,数据在传送时受干扰的影响较小,且不易受环境条件的影响,所以单片机的可靠性非常高。体积小、价格低、易于产品化 单片机芯片即是一台完整的微型计算机,对于批量大的专用场合,一方面可以在众多的单片机品种间进行匹配选择;同时还可以专门进行芯片设计,使芯片的功能与应用具有良好的对应关系;在单片机产品的引脚封装方面,有的单片机引脚已减少到8个或更少。从而使应用系统的印制板减小、接插件减少、安装
15、简单方便。3.2 单片机的应用领域 智能仪器仪表 单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。3.2 单片机的应用领域v单片机应用军事技术3.2 单片机的应用领域v单片机应用汽车电子机电一体化产品机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。v单片机应用智能控制实
16、时工业控制单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如机床控制、电机转速控制、温度控制、自动生产线等。单片机在工业上的应用数控车床数控车床 分布式系统的前端模块 在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。计算机外设控制器 智能化键盘、智能化
17、显示器、智能化打印机、智能化软盘和硬盘驱动器、鼠标及智能化绘图仪等,均可用单片机作为控制器。家用电器家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、电子游戏机、电视机、录音机、组合音响、录像机、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等。单片机的应用图例 四、单片机系统的开发过程单片机系统的开发过程 通常开发一个单片机系统可按以下几个步骤进行。通常开发一个单片机系统可按以下几个步骤进行。(1)(1)明明确确系系统统设设计计任任务务,完完成成单单片片机机及及其其外外围
18、围电电路路的的选选型型工工 作。作。(2)(2)运用运用PROTELPROTEL、POWERPCBPOWERPCB等软件设计系统原理图和等软件设计系统原理图和PCBPCB板,板,经仔细检查经仔细检查PCBPCB板后送工厂制作。板后送工厂制作。(3)(3)完成器件的安装焊接。完成器件的安装焊接。(4)(4)根据硬件设计和系统要求编写应用程序。根据硬件设计和系统要求编写应用程序。(5)(5)在线调试软硬件。在线调试软硬件。(6)(6)使用编程器烧写单片机应用程序,独立运行单片机系统。使用编程器烧写单片机应用程序,独立运行单片机系统。HW单片机仿真实验板程序设计通常是C语言或者汇编语言,在特定的集成
19、开发环境(IDE)中编程调试,比如应用最广泛的KEIL uVision2四、单片机应用系统开发v调试硬件仿真器硬件仿真器目标系统开发软件四、单片机应用系统开发v调试使用SoftICE仿真目标系统通信数据线开发软件四、单片机应用系统开发v程序下载使用并行编程器编程器驱动软件单片机或单独存储器并行编程器四、单片机应用系统开发v程序下载使用ISP(In System Program在系统编程)ISP软件下载线目标系统五、五、计算机的基本组成计算机的基本组成v冯诺依曼(Von Neumann)体系结构1946年由美籍匈牙利数学家冯 诺伊曼提出计算机的体系结构发生了许多变化,但Von Neumann提出
20、的二进制、程序存储和程序控制,依然是普遍遵循的原则。v冯诺伊曼的存储程序的计算机设计基本思想是:1.采用二进制表示数据和指令;指令由操作码和地址码组成。5.1 冯冯诺依曼计算机的特点诺依曼计算机的特点2.采用存储程序即把编好的程序和原始数据预先存入计算机主存中,使计算机工作时能连续、自动、高速地从存储器中取出一条条指令并执行,从而自动完成预定的任务;即“存储程序”和“程序控制”(简称存储程序控制)的概念。3.指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。4.计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备五大部件组成,并规定了五大部件的基本功能。
21、5.计算机以运算器为中心,输入输出设备与存储器之间的数据传送通过运算器完成。算术运算算术运算逻辑运算逻辑运算存放数据存放数据和程序和程序将信息转换成机将信息转换成机器能识别的形式器能识别的形式将结果转换成将结果转换成人们熟悉的形式人们熟悉的形式指挥程序指挥程序运行运行冯冯诺依曼计算机硬件框图诺依曼计算机硬件框图(以以运算器为中心)运算器为中心)存储器存储器输入设备输入设备运算器运算器控制器控制器输出设备输出设备冯冯诺依曼计算机硬件框图诺依曼计算机硬件框图存储器存储器输入设备输入设备运算器运算器控制器控制器输出设备输出设备二、计算机硬件框图二、计算机硬件框图1.现代计算机硬件框图(以存储器为中心
22、)现代计算机硬件框图(以存储器为中心)程序程序存储器存储器输出设备输出设备输入设备输入设备运算器运算器控制器控制器数据数据结果结果计算计算ALU主存主存辅存辅存CPU主机主机I/O设备设备硬件硬件CU2.现代计算机硬件框图现代计算机硬件框图存储器存储器输入设备输入设备运算器运算器输出设备输出设备控制器控制器ALUCPU主机主机I/O设备设备CU主主存存5.2 现代计算机硬件(五大部件)v1、存储器 功能:存放指令和数据。操作:v存储器读操作:从存储器取出数据,又称为读出。v存储器写操作:向存储器存放数据,又称为写入;概念:v存储单元:存储二进制信息的部件,每个单元可以存放一个字或字节的信息,存
23、储器就是存储单元的集合。v单元地址:存储单元的编号,是区分存储器中不同存储单元的唯一标志。5.2 现代计算机硬件(五大部件)v2、运算器功能:在控制器控制下,进行算术运算和逻辑运算。运算器的技术性能高低直接影响着计算机的运算速度和整机性能。3、控制器功能:对当前指令进行译码分析得出所需要完成的操作,产生并发送各部件所需要的控制信号,从而使整个计算机自动、协调地工作。控制器是计算机的控制指挥部件,也是整个计算机的控制中心。5.2 现代计算机硬件(五大部件)v4、输入设备功能:将外界的信息转换为计算机能识别的二进制代码。输入设备是给计算机输入信息的设备。v5、输出设备功能:将计算机处理结果转换成人
24、们或其他设备所能接收的形式。5.3 微型计算机的结构微型计算机的结构 v微型计算机的基本结构图计算机中的三总线v从上图可以看出,当前广泛采用的微型计算机结构中,各部件是通过总线方式连接到一起的。控制信号、地址信号、数据信号分别通过控制总线、地址总线和数据总线传送。所谓总线(BUS),是指计算机中用于在各部件之间传输的信息的公共公共通道。总线实际上就是一些传输特定信号的传输线路,线路条数取决于微处理器本身的结构。总线有三种类型:数据总线、地址总线、控制总线。v1.数据总线:Data Bus,用于微处理器和存储器之间,以及微处理器同I/O接口之间进行数据传输。数据总线是双向的,既可以从CPU传输到
25、外部,也可以从外部传输回CPU。CPU的字长往往同数据总线的条数相同。v2.地址总线:Address Bus,用于CPU向存储器或者I/O接口传输地址信息。计算机执行访问操作时,不管是读操作,还是写操作,都是首先由CPU通过地址总线向访问目标发送地址信息。地址总线是单向的,即只能由CPU向外部传送地址信号。地址总线的条数决定CPU可以直接访问的存储器单元的数目。假设某CPU的地址总线的条数是n,则可访问的最大的存储空间的容量是2n。例如,假设一个存储单元保存一个字节的内容,则具有16条地址总线的CPU可访问的最大存储容量为216Byte=64KB。v3.控制总线:Control Bus,用于传
26、输CPU发给各个部件的控制信号,以及传送其他部件回传到CPU的状态信号或请求信号。对每一条控制线,其传输方向的固定的,或者是CPU向外发出的控制信号,或者是其他部件传送给CPU的状态、请求信号。v采用总线结构的优点是系统结构简单、规则、易于扩充。但由于总线是公共通道,当其被占用时,其他的传输请求只能等待,这对提高计算机的整体性能显然不利。v在计算机中,不仅部件之间采用总线结构,部件内部也采用总线结构。甚至,多台计算机设备进行互联时,采用的也往往是总线结构。5.4 微处理器的基本结构介绍微处理器的基本结构介绍 v微处理器是微型计算机的核心。虽然不同厂家、不同型号的微处理器的结构、性能差异较大,但
27、一些基本的部件是相似的。例如,微处理器包括运算器、控制器和一些寄存器,运算器主要包括ALU、累加器ACC、标志寄存器FR、寄存器组等,而控制器主要包括程序计数器PC、指令寄存器IR、指令译码器ID、地址寄存器AR、控制信号发生器等。下图表示传统微处理器的结构框图。PCARFRALUACCDR寄存器组控制信号控制部件指令译码器ID指令寄存器IR微处理器结构框图 v1.算术逻辑单元ALU ALU是运算器的核心部件,它在控制器发出的控制信号的作用下,可执行算术运算和逻辑运算。执行运算的操作数提前放到累加器和数据寄存器中。算术运算一般包括加法、减法、加一、减一、比较等,也有的可以执行乘法、除法运算。逻
28、辑运算一般包括逻辑与、逻辑或、逻辑非、逻辑异或、逻辑同或等。为配合以上运算,ALU还支持一些辅助操作,如移位操作等。v2.累加器A或ACC(Accumulator)累加器的英文原文是积累、集聚的意思,翻译成累加器有可能让读者理解为这是一种加法器。累加器实际上一个寄存器,往往用于存储送入ALU进行运算的某一个操作数。例如,执行加法运算时,其中一个加数送到累加器中,加法完成后的和最终也可送到累加器中。累加器是一个非常重要的寄存器,在很多指令中都会用到。v3.标志寄存器FR(Flag Register)计算机在运算过程中,可能产生很多标志位信息。例如,在执行加法或减法运算时,可能产生进位或借位,如果
29、是带符号数的运算,还可能产生溢出位。另外,运算结果是负数或者是0,当前奇偶校验位是1还是0,等等,都是经常出现的位信息。这些位信息对计算机的下一步运算具有直接影响,因此有必要将他们单独保存起来,标志寄存器就是用于存放各种标志位信息的,是所有型号的微处理器都具备的一个重要寄存器。不同CPU所保存的标志位各不相同,但有些标志位是类似的,例如进位标志C、辅助进位AC、溢出标志OV、结果为零标志Z、符号标志S、奇偶标志P等。v4.寄存器组 学习CPU,寄存器组是必须要理解并重视的重要部件。因为用户在使用CPU时,一定会用到寄存器组。寄存器组分为两类:通用寄存器组和专用寄存器组。所谓通用寄存器组,可理解
30、为CPU内部的较小容量的存储器,这些存储器用于暂时存放运算数或中间结果。由于通用寄存器在CPU内部,所以速度很快,这对提高运算速度是有好处的。例如累加器ACC就是通用寄存器。专用寄存器组是一些具有专门用途的寄存器的集合。例如标志寄存器FR、堆栈指针寄存器SP、程序计数器PC等等。v5.程序计数器PC(Program counter)程序计数器PC是CPU中最重要的专用寄存器,用于保存下一条要执行的指令的地址。指令保存在存储器的某个存储单元,每个单元对应一个地址。要执行哪条指令,就需要CPU把哪条指令的地址(存储在PC中)通过地址总线送到存储器。由于指令大部分是顺序执行的,也就是说,当PC的地址
31、送到地址总线上后,可对PC的内容自动加1,使其指向下一条要执行的指令,从而可以继续执行指令。从这一方面看,PC的作用是非常重要的。当然,程序不一定总是顺序执行的,也存在跳转的可能。当跳转时,PC的内容除了自动加一外,还要执行一些调整操作以修改PC的指向。这在后文介绍指令系统时将有详细解释。v 6.指令寄存器、指令译码器 指令寄存器(IR,Instruction Register)用于保存从存储器传送过来的指令信息,该信息在指令执行过程中一直存在。指令译码器(ID,Instruction Decoder)对指令寄存器送来的指令进行译码,产生各种电平控制信号。这些控制信号送到控制信号发生器。由指令
32、译码器送出的电平信号同外部时钟脉冲在控制信号产生电路中组合,形成按照一定节拍变化的各种电平信号和脉冲信号,也就是生成各种控制信号。这些控制信号被送到运算器、存储器或I/O接口电路,执行各种操作。5.5 程序执行过程程序执行过程 v程序保存在外存储器中,需要执行时,系统首先将程序从外存储器调入到内存储器中。因为程序是有多条有序指令组成的指令集合,当将其调入到内存中后,每条指令都有自己的地址。v开始执行程序前,程序的第一条指令的地址先送到程序计数器PC中。程序的执行过程就是按照一定的顺序将指令送到指令寄存器,再送到指令译码器,经过指令译码产生各种控制信号,通过控制部件发出这些控制信号控制相关部件动
33、作的过程。v一条指令的执行大致可分为两个过程:取指令阶段和执行指令阶段。“取指令”是从存储器的某存储单元将指令通过数据总线传送到指令寄存器的过程。“执行指令”是指将指令从指令寄存器IR中送到指令译码器ID,由ID对指令进行解释,然后通过控制部件执行的过程。v假设每条指令仅占一个存储单元,则程序执行的具体过程可描述为:v1)控制器将PC当前内容送到地址寄存器AR,即送出当前指令的地址,然后PC自动加1。v2)在控制器作用下,指令地址通过地址总线送到存储器的地址译码部件,由地址译码部件选中存储器的相应存储单元。v3)控制器向存储器发出“读”指令的控制命令,存储器收到命令后,选中相应存储单元,并将其
34、内容,也就是当前指令的机器码送到数据总线。v4)通过数据总线,指令机器码送入指令寄存器IR,然后送到指令译码器ID译码,在控制信号产生器的作用下产生各种控制信号,执行各种操作。v需要说明,当程序完全是顺序执行时,PC自动加1就可保证程序的自动、高效执行。但是当程序中存在跳转指令时,还需根据实际情况调整PC的取值。思考练习题思考练习题(1)微型计算机由哪几部分组成?各部分的功能是什么?(2)微型计算机的各部分怎样连接?简述三总线的作用。(3)什么是单片机?它与一般微型计算机在结构上有什么区别?(4)单片机主要应用在哪些方面?(5)简述单片机的开发过程。六、六、计算机中数据的表示与运算计算机中数据
35、的表示与运算v引言引言:十进制数十进制数是人们习惯使用的进制。是人们习惯使用的进制。计算机只能计算机只能“识别识别”二进制数二进制数。为了书写和识读方便,计算机程序需要用为了书写和识读方便,计算机程序需要用十六进制数十六进制数表示。表示。十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的关系关系、相互转换相互转换和和运算方法运算方法,是学习计算机,是学习计算机必备的基础知识。必备的基础知识。1、数值型数据的表示方式数值型数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点
36、、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法六、六、计算机中数据的表示与运算计算机中数据的表示与运算机器数的机器数的表示方法表示方法实际数的实际数的表示方法表示方法研究在机器中研究在机器中怎样用二进制怎样用二进制表示十进制数表示十进制数研究哪种机器研究哪种机器数的表示方法数的表示方法更利简化运算更利简化运算通常我们把一个通常我们把一个数(连同符号)数(连同符号)在机器中数值化
37、称后为:在机器中数值化称后为:机器数机器数,而把原来的数值称为:而把原来的数值称为:真值真值。一个一个实际数实际数(如(如+8.75)通常由)通常由符号符号、数值数值、小数点小数点三部分组成。三部分组成。因此,将一个实际数在计算机内部表示需要解决三个问题:因此,将一个实际数在计算机内部表示需要解决三个问题:1、符号的处理、符号的处理(+8.57)2、数值的处理、数值的处理(8.75)3、小数点的处理、小数点的处理(8.75)1、数据的表示方式(从真值到机器数)数据的表示方式(从真值到机器数)真值真值+5=机器数机器数 01011、数值型数据的表示方式、数值型数据的表示方式 1.1、符号的处理(
38、正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法六、六、计算机中数据的表示与运算计算机中数据的表示与运算机器数的机器数的表示方法表示方法实际数的实际数的表示方法表示方法研究在机器中研究在机器中怎样用二进制怎样用二进制表示十进制数表示十进制数通常符号处理有两种方法:
39、通常符号处理有两种方法:1 1)一种是舍弃符号,采用无符号表示;(时间、利率等)一种是舍弃符号,采用无符号表示;(时间、利率等)2 2)一种是采用符号,并对符号加以处理。)一种是采用符号,并对符号加以处理。如何处理符号呢?途径只有一条,即如何处理符号呢?途径只有一条,即符号数码化符号数码化。“0 0”表示表示 正正,“1 1”表示表示 负负。1.1、符号的处理(正数、负数)、符号的处理(正数、负数)真值:真值:计算机中用计算机中用 正负号正负号+绝对值绝对值 表示的数。表示的数。例如:例如:+123,-123,+101011,-10101011机器数:机器数:计算机中把计算机中把符号位符号位和
40、和数值数值数码化以后的数。数码化以后的数。例如:例如:+123=+123=0 0 1111011 -123=1111011 -123=1 1 1111011 1111011 +1010110=+1010110=0 0 1010110 -1010101=1010110 -1010101=1 1 1010101 1010101 带符号的带符号的n n位有效数,机器数为位有效数,机器数为n+1n+1位位.1、数值型数据的表示方式、数值型数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小
41、数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法六、六、计算机中数据的表示与运算计算机中数据的表示与运算机器数的机器数的表示方法表示方法实际数的实际数的表示方法表示方法1)直接采用二进制数表示)直接采用二进制数表示 如(如(255)10=(11111111)2优点:优点:在计算机中,数码是由电平的高低来表示的;在计算机中,数码是由电平的高低来表示的;通常通常高电平代表高电平代表“1”,低电平
42、代表低电平代表“0”;所以采用二进制方便,容易实现。所以采用二进制方便,容易实现。缺点:缺点:八个八个1表示表示255,二进制表示数码的效率太低,二进制表示数码的效率太低,书写极其不方便。书写极其不方便。1.2、数值的处理(数制转换)、数值的处理(数制转换)十进制数转换成二进制数十进制数转换成二进制数:对一个数的对一个数的整数部分整数部分和和小数部分小数部分分别进行处理,合并各自得出结果。分别进行处理,合并各自得出结果。整数部分:整数部分:采用采用除除2取余数取余数法。法。例:例:将将(105)10转换成二进制。转换成二进制。2 105 余数余数结果结果 2 521最低位最低位 2 260 2
43、 130 2 61 2 30 2 11 01最高位最高位 得出:得出:(105)10=(1101001)2直到商等于直到商等于0为止为止1.2、数值的处理(数制转换)、数值的处理(数制转换)直到乘积的小数部分为直到乘积的小数部分为0,或结果已满足所需精度要求为止或结果已满足所需精度要求为止十进制数转换成二进制数十进制数转换成二进制数:对一个数的对一个数的整数部分整数部分和和小数部分小数部分分别进行处理,合并各自得出结果。分别进行处理,合并各自得出结果。小数部分:小数部分:采用采用乘乘2取整数取整数法。法。例:例:将将(0.3125)10转换成二进制数转换成二进制数(要求要求4位有效位位有效位)
44、。结果结果 0.31252最高位最高位 0 .62502 1 .25002 0 .50002最低位最低位 1 .0000 得出得出:(0.3125)10=(0.0101)21.2、数值的处理(数制转换)、数值的处理(数制转换)十进制数转换成二进制数十进制数转换成二进制数:对一个数的对一个数的整数部分整数部分和和小数部分小数部分分别进行处理,合并各自得出结果。分别进行处理,合并各自得出结果。例:例:将将(105.3125)10转换成二进制数转换成二进制数(要求要求4位有效位位有效位)。前面计算得出:前面计算得出:(105)10=(1101001)2前面计算得出前面计算得出:(0.3125)10=
45、(0.0101)2得出:得出:(105.3125)10=(1101001.0101)21.2、数值的处理(数制转换)、数值的处理(数制转换)直到乘积的小数部分为直到乘积的小数部分为0,或结果已满足所需精度要求为止或结果已满足所需精度要求为止.例:例:将将(0.1)10转换成二进制数转换成二进制数(要求要求5位有效位位有效位)。结果结果 0.12最高位最高位 0 .22 0 .42 0 .82 1 .62 1 .22 0 .42 0 .82最低位最低位 1 .6000得出得出:(0.1)10=(0.00011)2可能永远乘不完,小数部分不为可能永远乘不完,小数部分不为0,意味存在一点意味存在一点
46、误差误差。1.2、数值的处理(数制转换)、数值的处理(数制转换)2)引进组合二进制数:八、十六进制数)引进组合二进制数:八、十六进制数 从最低有效位开始,三位一划分,组成从最低有效位开始,三位一划分,组成八进制八进制 Q;从最低有效位开始,四位一划分,组成从最低有效位开始,四位一划分,组成十六进制十六进制 H。例如:例如:二进制二进制110101111001 6571Q 八进制八进制110101111001 D79H 十六进制十六进制 注意:注意:八、十六进制的引进,是八、十六进制的引进,是为了人书写方便而已为了人书写方便而已,在机器在机器内部表示都是一样内部表示都是一样的,不需要编码、译码。
47、的,不需要编码、译码。1.2、数值的处理(数制转换)、数值的处理(数制转换)二二进进制数制数 B八八进进制数制数 O/Q 十六十六进进制数制数 H 十十进进制数制数 D 0 0 0 00 0000 0 0 10 1110 0 1 00 2220 0 1 10 3330 1 0 00 4440 1 0 10 5550 1 1 00 6660 1 1 10 7771 0 0 01 0881 0 0 11 1991 0 1 01 2A1 01 0 1 11 3B1 11 1 0 01 4C1 21 1 0 11 5D1 31 1 1 01 6E1 41 1 1 11 7F1 51.2、数值的处理(数
48、制转换)、数值的处理(数制转换)二进制数、八进制数、十六进制之间的转换二进制数、八进制数、十六进制之间的转换对于一个兼有整数和小数部分的数,以小数点为界,对于一个兼有整数和小数部分的数,以小数点为界,不足的位数补不足的位数补0。对整数部分将对整数部分将0补在数的补在数的左侧左侧,对小数部分将,对小数部分将0补在数的补在数的右侧右侧。例:例:从二进制数转换到八进制数,则以从二进制数转换到八进制数,则以3位为位为1组组 (1 101.010 1)2=(001 101.010 100)2=(15.24)8 例:例:从二进制数转换到十六进制数,则以从二进制数转换到十六进制数,则以4位为位为1组组。(1
49、 1101.0101)2=(0001 1101.0101)2=(1D.5)16八进制、十六进制数转换到二进制,顺序将每位数展开写成八进制、十六进制数转换到二进制,顺序将每位数展开写成3或或4位。位。例:例:(15.24)8=(001 101.010 100)2=(1101.0101)2八进制数与十六进制数之间,可将二进制数作为中介进行转换。八进制数与十六进制数之间,可将二进制数作为中介进行转换。1.2、数值的处理(数制转换)、数值的处理(数制转换)3)BCD码(十进制):码(十进制):如果计算机以二进制进行运算和处理时,只要在输入输出处理时进如果计算机以二进制进行运算和处理时,只要在输入输出处
50、理时进行二行二/十进制转换即可。十进制转换即可。但在商业统计中但在商业统计中,二二/十进制转换存在两个问题十进制转换存在两个问题:(1)转换占用实际运算很大的时间;)转换占用实际运算很大的时间;(2)十进制的)十进制的0.1,无法用二进制精确表示;,无法用二进制精确表示;且十进制数且十进制数0.1+0.1=0.2,在二进制中无法得到精确的数值,在二进制中无法得到精确的数值,会存在一个小误差。会存在一个小误差。因此,在商用计算机中,专门设计适用于十进制运算的电路,这时因此,在商用计算机中,专门设计适用于十进制运算的电路,这时的十进制数一般采用的十进制数一般采用BCD码码表示。表示。1.2、数值的