微型计算机原理与接口技术 主 编 何 超 中国水利水电出版社
前 言 课程性质: 《微型计算机原理及接口技术》是高等学校工科电类和信息类各专业,特别是涉及到单片机、嵌入式等芯片级计算机应用各类专业大学生必修的一门专业基础课。 研究对象: 80x86 及其兼容计算机的基本组成和工作原理;微机与外设的基本接口技术。 学习目标: 从理论与实际结合上理解与掌握微型计算机的基本组成、工作原理、各类接口部件的功能,以及构建微机系统等方面的知识,使学生具有微机应用系统软硬件开发的初步能力。
教 材: «微型计算机原理及接口技术» 教学方式:理论、实验、课程设计 教学周数:18 考试安排:20 成绩评定:笔试50%平时(问答、作业)30%实验20%
章节内容 第一章介绍计算机的分类及应用,微型计算机的基本组成,微型计算机中数制转换,数和字符的编码等内容。 第二章介绍CPU。由于计算机科技的飞跃发展,CPU的结构和工作原理越来越复杂,为此,我们只有从最简单的最容易说明其工作原理的典型芯片8086/8088微处理器说起,然后叙述了CPU发展的辉煌的历程,讨论了CPU发展的潮流(诸如超标量流水线技术、指令分支预测技术、Pentium Pro的乱序执行、RISC、SIMD以及MMX、SSE(SSE2)、双核与多核、64位新体系等新理论和新技术等)和未来。 第三章讨论微型计算机的寻址方式和指令系统。 第四章讨论了汇编语言初步。 第五章讨论了总线与主板,介绍了总线与主板结构的新变化和新技术。
章节内容 第六章讨论了存储器及管理模式,介绍了USB 2.0和移动存储等等新技术。 第七章讨论了中断技术,介绍了PCI中断等新技术。 第八章概述了微型计算机接口技术并讨论了直接存储器访问技术。从实践的角度介绍了常用微机外部实用接口,讨论了USB接口、IEEE 1394串行接口、SCSI接口、SATA接口和PCI接口等等新技术。 第九章讨论了并行通信及接口芯片。 第十章讨论了串行数据接口。 第十一章讨论了8253可编程定时计数器。 第十二章讨论了数/模、模/数转换器及其与CPU的接口。 第十三章讨论了计算机网络体系结构并简介了网络设备。
为什么要学这门课 课程内容:计算机硬件技术的基础知识、基本思想 和基本方法. (部件及之间的关系、工作原理与逻辑实现) 作用: 1、更好地理解和用好作为工具的计算机。 (快速、正确理解所使用的系统) 2、在本职工作中提供新的计算机系统解决方案。 (合作软硬结合系统的开发)
第1章 概述 微机的分类和应用。 计算机和微型计算机的发展概况。 微型计算机的基本组成部分,及其作用。 计算机中数的编码和字符表示。
[教材分析] 本章内容是全部课程的基础。通过本章的学习,读者应对微型计算机系统有一个大致的了解。 [重点难点] 重点:微型计算机的基本组成;微型计算机中数的编码和字符的表示。 难点:微型计算机中数的编码和字符的表示
1.1 计算机的分类及应用 所谓电子计算机,是一种能预先存储程序,自动的、高速的、精确的 1.1 计算机的分类及应用 1946年,世界上第一台计算机ENIAC(电子数字积分计算机)诞生在美国宾夕法尼亚大学。 20世纪90年代之前,计算机的分类标准主要有以下几种,如图1-1所示。 所谓电子计算机,是一种能预先存储程序,自动的、高速的、精确的 进行信息处理的现代电子设备。它处理的对象是信息,处理的结果也是信息 .
现在则一般按照计算机的规模、运算速度、使用范围等综合考虑,可以把计算机分为5类 : 高性能计算机 微型计算机(PC机) 工作站 服务器 嵌入式计算机
高性能计算机 主要是它跟微机和低档PC服务器相比而言具有性能、功能方面的优势,主要用于处理数据量大、要求快速、高效的工作的场合。 ①计算密集型应用,例如大型科学工程计算,数值模拟等,应用领域集中在石油、气象、核能、仿真等行业。 ② 数据密集型应用,例如数字图书馆、数据仓库、数据挖掘、计算可视化等,应用领域集中在图书馆、银行、证券等行业。 ③通信密集型应用,例如协同工作、网格计算、遥控和远程诊断等,应用领域集中在网站、信息中心、搜索引擎、流媒体等行业。 小贴士: 我国高性能计算机的研制与产业化取得长足发展。2009年10月29日,中国首台千万亿次超级计算机“天河一号”诞生。使中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。并且中国的世界500强超级计算机已经从42台增加到62台。
微型计算机(个人计算机PC) 工作站 服务器 微型计算机又称为个人计算机。其种类很多,主要有台式机、笔记本和个人数字助理PDA三种类型。 英文名称为Workstation,是一种以个人计算机和分布式网络计算为基础的一种高档的微型计算机,它可以提供比个人电脑更加强大的性能,具有强大的数据运算与图形、图像处理功能以及联网功能 。 服务器 是一种在网络环境中的高性能计算机,它侦听网络上的客户机提交的服务请求,并为客户机提供网络资源和服务(含文件服务、数据库服务和图形、图像处理以及打印、通信、安全、保密和系统管理,网络管理等应用程序服务),使其犹如工作站那样地进行操作。
嵌入式计算机 嵌入式计算机是指作为一个信息处理部件,嵌入到应用系统之中的计算机。它是以专门应用为中心,软硬件可增减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。 特征:正因为嵌入式计算机以专门应用为中心,它与通用型计算机最大的区别是,运行固化的软件(用户很难改变),通常制作成单片机或单板机的形式。 应用:嵌入式计算机应用最广泛,数量超过微型机。目前,广泛应用于各种家用电器之中,如电冰箱、数字电视机、数码照相机等。
1.1.2 计算机的应用范围 1.科学计算 2.数据处理 3.过程控制 4.辅助技术 5.人工智能 6.仿真技术 7.网络应用
1. 科学计算:利用计算机的高速计算、大存储容量和连续运算的能力。 2. 数据处理:包括对信息的采集、分类、整理、查询、存档等大量工作。 3. 电子商务: 4. 过程控制:利用计算机及时采集检测数据,按最优值迅速地对控制对象进行自动调节或自动控制,使其处于最佳的工作状态。 5. 计算机辅助系统:(1)计算机辅助设计(CAD)。 (2)计算机辅助制造(CAM),是利用计算机系统进行生产设备的管理、控制和操作的过程。现在多将CAD和CAM技术集成,实现设计生产自动化,这种技术被称为计算机集成制造系统(CIMS),它的实现将真正做到无人化工厂(或车间)。 (3)计算机辅助教育。计算机辅助教育就是把传统教育领域的各方面结合计算机技术产生的一种新型的教育技术。它的核心是计算机辅助教学(CAI),通过CAI,可以做到交互教育、个别指导和因人施教,克服传统教学方式上的单一、片面的缺点。 6. 多媒体技术 、网络:计算机网络的建立,不仅解决了一个单位、一个地区、一个国家中计算机与计算机之间的通信,实现了各种软硬件资源的共享,也实现了国际间的文字、图像、视频和声音等各类数据的传输与处理。 7. 人工智能:探索人类的思维过程,研究将人类的脑力劳动延伸到某种物理装置上的原理和实现方法的一门技术。它主要包括了:人员、硬件、软件、数据、开发计算机系统所需的知识及相关设备。其中应用较为广泛的是专家系统,
计算机的主要应用领域 1. 工商:电子商务、CAD/CAM 2. 教育:多媒体教育、远程教育 3. 医药:CAT、MRI、远程医疗 4. 政府:电子政务 5. 娱乐:虚拟现实、电影特技 6. 科研:数据采集、计算分析 7. 家庭:家庭信息化
世界上第一台电子数字计算机 ENIAC(Electronic Numerical Integrator And Computer),由美国宾夕法尼亚大学于1946年研制成功并投入使用。
1.2.1 计算机的发展 一般地,根据计算机所采用的基本电子元件,它的发展可以分为以下几代: 1.2.1 计算机的发展 一般地,根据计算机所采用的基本电子元件,它的发展可以分为以下几代: 社会的各个领域 文字处理图形处理 数据处理工业控制 科学计算 应用 几百万至几亿次 数据库、网络等 (超)大规模集成电路 72年至今 四 几十万至几百万次 操作系统 中小规模集成电路 65—71 三 几万至几十万次 高级语言 晶体管 58—64 二 几千至几万次 机器/汇编语言 电子管 (单击有内容) 46—57 一 运算速度 软件 器件 年份 时代
存储程序原理 ①采用二进制数制,便于计算机的物理实现,提高电子元件的速度; 美籍匈牙利数学家冯·诺伊曼对ENIAC的设计进行了重大改进。提出了两个重要的思想: ①采用二进制数制,便于计算机的物理实现,提高电子元件的速度; ②“存储程序原理”,即计算机要能够真正的快速、通用,必须要有一个具有记忆功能的部件——存储器,预先把用指令表示的计算步骤即程序存入其中,真正的计算开始后,计算机可以自动到存储器中逐条取出指令,并完成规定操作,直至结束。只要存入不同程序就可完成不同的运算。
冯·诺依曼结构框图 数据流 地 址 控制流 输入 设备 输出 (外)存储器 (内)存储器 中央处理器(CPU) 控制器 运算器
5.新一代计算机 目前,许多国家正在投入大量的人力和物力积极研制新一代计算机。新一代计算机将向超高速、超大(小)型、网络化、智能化等方向发展。在体系结构、软硬件技术方面,新一代计算机将会突破当前计算机的结构模式,更注重于逻辑推理或模拟人的“智能”,进而产生一次量的乃至质的飞跃。新型的量子计算机、光子计算机、生物计算机、纳米计算机等也正在研制中。
1.2.2 微型计算机的发展 1993~至今 Intel Pentium 64位机 第五代 1981~1992 Intel 386、486 32位机 第四代 1978~1980 Intel 8086 16位机 第三代 1974~1977 Intel 8080 8位机 第二代 1971~1973 Intel 4004 4位机 第一代 大致年代 使用器件 硬 件 第 一 台 微 电 脑 未来的微型计算机将朝着微型化、无线化、专用化、网络化、智能化、环保化、人性化以及个性化的方向发展。
1971年~1977年是微处理器发展的早期阶段: 字长为4位或8位,集成度约为3000~10000晶体管/片,微处理器的主频为0.1~5MHz。 1971年:Intel 4004,是世界上第一片单片微处理器 4位微处理器,寻址空间为4096个半字节, 指令系统包括45条指令 1972年:Intel 8008,是世界上第一片8位微处理器。 8008采用了10m生产工艺,集成度为3500个晶体管,工作频率为200KHz。 1974年:Intel 8080 采用了6m生产工艺,集成度为6000个晶体管,主频为2MHz。 1975年4月,MITS公司推出了以8080为CPU的世界上第一台个人计算机Altair 8800。值得一提的是,Altair 8800的BASIC语言解释器是Bill Gates编写的 1976年: Intel 8080 Intel公司生产的最后一种8位通用微处理器, 8085的工作频率提高到5MHz,指令系统的指令数上升到246条。
第一代:8086/8088(1978年-1981年) 1978年--8086 采用了3m工艺,集成了29,000个晶体管,工作频率为4.77 MHz。它的寄存器和数据总线均为16位,地址总线为20位,从而使寻址空间达1MB。同时,CPU的内部结构也有很大的改进,采用了流水线结构,并设置了6字节的指令预取队列 1979年--8088 除了它的数据总线为8位以外,其余均与8086相同。8088采用8位数据总线是为了利用当时现有的8位设备控制芯片。由于8088内部支持16位运算,而与I/O之间传输为8位,故8088称为准16位微处理器。 1981年8月,IBM公司推出以8088为CPU的世界上第一台16位微型计算机IBM 5150 Personal Computer,即著名的IMB PC。
第二代:80286(1982年-1984年) 采用1.5m工艺,集成了134,000个晶体管,工作频率为6MHz。80286的数据总线仍然为16位,但是地址总线增加到24位,使存储器寻址空间达到16MB。 1985年IBM公司推出以80286为CPU的微型计算机IBM PC/AT,并制定了一个新的开放系统总线结构,这就是的工业标准结构(ISA)。该结构提供了一个16位、高性能的I/O扩展总线。 80年代中期到90年代初,80286一直是微型计算机的主流CPU。在这一时期,还诞生了世界上最早的芯片组(chipsets)。 第三代:80386(1985年-1988年) 第一个实用的32位微处理器,采用了1.5m工艺,集成了275,000个晶体管,工作频率达到16MHz。80386的内部寄存器、数据总线和地址总线都是32位的。通过32位的地址总线,80386的可寻址空间达到4GB。这时由32位微处理器组成的微型计算机已经达到超级小型机的水平。 80386的其他一些版本:80386SX,包含16位数据总线和24位地址总线,寻址空间为16MB;80386SL/80386SLC,包含 l6位数据总线和25位地址总线,寻址空间为32MB。由于这些微处理器由于与I/O之间传输为16位,故也称为准32位微处理器。
第四代:80486(1989年-1992年) 采用1m工艺,集成了120万个晶体管,工作频率为25MHz。80486微处理器由三个部件组成:一个80386体系结构的主处理器,一个与80387相兼容的数学协处理器和一个8KB容量的高速缓冲存储器。80486把80386的内部结构做了修改,大约有一半的指令在一个时钟周期内完成,而不是原来的两个,这样80486的处理速度一般比80386快2到3倍。 Intel公司还生产过80486的其他一些版本:80486SX,工作频率20MHz,不包含数学协处理器;80486DX2,采用双倍时钟,内部执行速度达到66MHZ,内存存取速度为33MHz;80486DX4,采用三倍时钟,内部执行速度达到100MHZ,内存存取速度为33MHz。
第七代:未来----64位Mecerd(P7) 第五代:Pentium(1993年-1997年) Pentium处理器的发展分成三代 第一代Pentium处理器(以P5代称,1993年)采用0.8m工艺技术,集成了310万个晶体管,工作频率为60MHz/66MHz。 第二代Pentium处理器(以P54C代称,1994年)采用0.6m工艺,工作频率为90MHz/100MHz。 第三代Pentium MMX(以P55C代称1997年)增加了57条多媒体指令 在体系结构上, Pentium在内核中采用了RISC技术,可以说它是CISC和RISC技术相结合的产物 第六代:P6(1996-今) Pentium Pro、Pentium II、Pentium III 采用0.6 m -0.18m工艺,集成度550万-750万晶体管,时钟频率166MHz-1GHz,采用二级高速缓存,2级超标量流水线结构,一个时钟周期可以执行3条指令 第七代:未来----64位Mecerd(P7)
我国计算机技术的发展 1953年开始研究,1958年研究出第一台计算机,103型通用计算机 50年来相继研究出了第二代,第三代计算机。 80年代研究出了每秒1亿次的巨型机,银河I,II,其他如曙光天演(清华BBS,学校高性能计算中心)。1985年6月,中国第一台自行研制的微机长城0520研制成功,其广告词是:“一台我们自己制造的能够处理中文的电脑”。 在高性能计算,并行计算上已紧跟国际先进水平,但计算机的核心部件CPU技术还远远落后。 中科院研究开发的龙芯/GODSON
计算机发展的理论基础和规律 1、逻辑代数 2、图灵机:英国数学家图灵证明理想的通用数字计算机是可以制造出来的。现代通用数字计算机的数学模型 3、冯.诺依曼计算机原理:二进制存储程序并按地址顺序执行(程序控制) 4、Moore定律:微处理器内晶体管数每18个月翻一番 5、Bell定律:如果保持计算能力不变,微处理器的价格每18个月减少一半 6、Gilder定律: 未来25年(1996年预言)里,主干网的带宽将每6个月增加一倍 7、Metcalfe定律: 网络价值同网络用户数的平方成正比 8、半导体存储器发展规律:DRAM密度每年增加60%,每三年翻四倍 9、硬盘存储技术发展规律: 硬盘的密度每年增加约一倍
计算机发展的趋势 总趋势:速度越来越快,体积越来越小, 成本越来越低,功耗越来越低 1、微型计算机已迈入64位的新时代 2、精减指令计算机(RISC)正在逐步取代复杂指令计算机(CISC) 3、多媒体计算机技术、网络存储技术正在推广使用 4、大规模并行处理系统(MPP)的处理速度已达到TFLOPS(每秒1012条浮点指令,万亿)级 5、超立方体计算机、神经网络计算机等高性能计算机正在加紧研究、试制之中。 随着电子器件速度极限的逼近.人们又开始了全新时代计算机的研究 》》
二十一世纪的计算机 光计算机: 光能够像电一样传送信息,其抗干扰能力强,传输速度快,并且光学器件的能耗非常低。尤为重要的是,光的独立性使得大规模的并行计算成为可能。 生物计算机: 生物系统的信息处理过程是基于分子的计算与通讯过程,生物计算不是按照传统的确定算法来解决问题,而是通过竞争优化的方式来求解问题。生物计算的主要形式是学习和记忆 。生物系统在解决复杂图形和多重模式判定方面有独特的优势。 量子计算机: 量子计算的概念远比光子计算和生物计算出现得晚,但却具有更大的革命潜力 。 信息存储器 目前,在室温下能够制造出单电子内存,在大约7平方纳米大小的位元上,每一平方纳米就能存储250GB的信息。
1.3.1 微型计算机系统的层次结构 软件系统(程序) 硬件系统(设备) 不管任何一种类型,微型计算机系统的组成可以分为微处理器、微型计算机、微型计算机系统三个层次。 微 型 计 算 机 系 统 硬件 系统 主机 CPU 运算器 控制器 内存 输入/输出接口电路 系统总线 外部设备 输入设备 输出设备 软件 系统软件 操作系统 编译程序 诊断程序 应用软件 一个完整的计算机由硬件系统和软件系统两大部分组成. 硬件系统:构成计算机物理结构的电气、 电子和机械设备. 软件系统:控制计算机运行的程序. 硬件系统(设备) 软件系统(程序) 图1-4 微型计算机系统的组成
计算机系统组成图 运算器 CPU 控制器 主机 随机存储器(RAM) 内存 硬件 只读存储器(ROM) 输入设备 计算机系统 外部设备 输出设备 系统软件(操作系统) 软件 应用软件(字处理)
1.3.2 微型计算机的硬件系统 计算机的硬件系统由运算器、控制器、存储器、输入设备和输出设备五部分组成,各部分起着不同的作用。通常微型计算机的硬件系统也是由微处理器(CPU)、存储器、输入/输出设备、系统总线和I/O接口电路构成。总线结构是微机体系结构的特点之一,微处理器、存储器、I/O接口电路通过系统总线连接起来,构成微机的主体部分,I/O设备通过I/O接口实现与主机的信息交换。典型的微型计算机的硬件系统结构如图1-5所示。 图1-5 微型计算机的硬件系统结构
部分硬件功能介绍 CPU 运 算 器:用于对数据进行加工的部件 控 制 器:用于控制各个部分自动协调地工作 存 储 器:用于存放程序和数据的记忆装置 输入设备:是外部想计算机传送信息的装置 输出设备: 是将计算机内部二进制的信息 转换成人们所需要的或能够识别 的信息形式
1、中央处理器(微处理器) 由 运算器和控制器 组成。 运算器主要功能:完成各种算术运算、逻辑运算; 简称 CPU(Central Processing Unit ),是微机的核心部件。 由 运算器和控制器 组成。 运算器主要功能:完成各种算术运算、逻辑运算; 控制器主要功能:负责发出各种控制信号,指挥各个部件协调地工作。
2、主板 主板是微型计算机的主要部件,它把CPU、内存、显卡、声卡等各种外部设备通过自身的插槽和接口连接在一起,因此微型计算机也可以看成以主板为中心,把相应的外设连接起来构成的系统。 主板上还有各种不同的系统总线,比较常用的有:ISA总线、PCI总线和AGP总线等。
3、存储器:包括内存储器、外存储器 ① 内存储器(内存、主存) ② 外存储器(辅存):又分为 软盘、硬盘、光盘存储器 又分为: 随机存取存储器 RAM 只读存储器 ROM 高速缓冲存储器 Cache ② 外存储器(辅存):又分为 软盘、硬盘、光盘存储器 软磁盘存储器(软盘) 硬磁盘存储器(硬盘) 光盘存储器(CD-ROM)
4、输入/输出设备 ① 输入设备 键盘 鼠标 扫描仪 ② 输出设备 显示器 打印机
1.3.3微型计算机的软件系统 软件系统是所有程序、数据和相关文件的集合,是计算机系统不可缺少的组成部分。微型计算机的软件系统包括系统软件和应用软件两部分。 系统软件:是为了计算机能正常、高效工作所配备的各种管理、服务、监控和维护系统的程序及有关资料。系统软件的主要任务:一是更好地发挥计算机的效率,二是方便用户使用计算机。系统软件的作用可以概括为两个接口:一是“人”与“机”的接口,一是“硬件”和“软件”的接口。 应用软件:就是用户为解决各种实际问题而编写的计算机应用程序及有关资料。
1.4 微型计算机中数的编码和字符的表示 1.4.1 进位计数制 1.数制 数位:指数码在一个数中的位置。如十进制的个位、十位等。 1.4 微型计算机中数的编码和字符的表示 1.4.1 进位计数制 1.数制 数位:指数码在一个数中的位置。如十进制的个位、十位等。 数码:一个数制中表示基本数值大小的不同数字符号。如八进制有8个数码:0、1、2、3、4、5、6、7。 基数:某种数制中所拥有基本数码的个数。如十进制的基数为10,二进制的基数为2。 位权:一个数值中某一位上的1所表示数值的大小。如十进制数128,1的位权是100(102),2的位权是10(101),8的位权是1(100),所以十进制数中千位、百位、十位、个位上的权可表示为103、102、101、100。
2、常用数制及表示 二进制: 用B表示,如:101101 B 或 (101101 )2 按权展开: 例如:(1011)2 = 1×23+0×22+1×21+1×20 (11001.01)2 = 1×24+1×23+0×22+0×21+1×20+0×21+1×22 八进制: 用O 或 Q表示, 如:567O、567Q 或 (567)8 例如:(57)8 = 5×81+7×80 (115.23)8 = 1×82+1×81+5×80+2×81+3×82 十进制: 用D或不字母来表示, 如:98 D 或 98 或者(98)10 例如:(200)10 = 2×102+0×101+0×100 (341.86)10 = 3×102+4×101+1×100+8×101+6×102 十六进制:用H表示 , 如:A82B H或(A82B)16 例如:(8AC)16 = 8×162+A×161+C×160 (6D.3E)16 = 6×161+D×160+3×161+E×162
各进制数间的关系 八进制 对应二进制 十六进制 000 0000 8 1000 1 001 0001 9 1001 2 010 0010 A 1010 3 011 0011 B 1011 4 100 0100 C 1100 5 101 0101 D 1101 6 110 0110 E 1110 7 111 0111 F 1111
3.计算机中数的单位 位(Bit) bit 指的是二进制数的一位,又称比特,是计算机存储数据的最小单位。 字节(Byte) 用B表示,是计算机中用来表示存储容量大小的基本单位。(1B=8b)在计算机中,通常用B(字节)、KB(千字节)、MB(兆字节)或GB(吉字节)为单位来表示存储器(内存、硬盘等)的存储容量或文件的大小。 字 计算机中处理数据或信息的基本单位。一个字由若干字节组成,通常将组成一个字的位数叫做该字的字长。例如一个字由两个字节组成(16位),则该字字长为16位。
1.4.2 进制之间的转换 R(R=2,8,16)进制数转换为十进制数 十进制数转换为R(R=2,8,16)进制数 1.4.2 进制之间的转换 R(R=2,8,16)进制数转换为十进制数 十进制数转换为R(R=2,8,16)进制数 二、八、十六进制之间的转换
(1)R进制数转换为十进制数 步骤 : 1)确定R的值 2)系数乘以所在位相应权 3)相加求和
例:求(1100101.101)2 的等值十进制? 解: (1100101.101)2 =1×26+1×25+1×22+1×20+1×2-1 +1×2-3 =64+32+4+1+0.5+0.125 =(101.625)10 即 (1100101.101)2=(101.625)10
练[1] (101101)B=( )D =32+8+4+1 =45D 练[2] (267)O=( )D 解: =1*2 5 +1*2 3 +1*2 2 +1*2 0 =32+8+4+1 =45D 练[2] (267)O=( )D 解: =2*8 2 +6*8 1 +7*8 0 = 2*64+6*8+7*1=128+48+7 =183D 练[3] (1CA)H=( )D 解: =1*16 2 +12*16 1+10*16 0 =1*256+12*16+10*1 =458D
(2)十进制数转换为R进制数 1)整数的转换 除R逆序取余法 2)小数部分的转换 乘R顺序取整法
[例] 求(66.625)10的二进制数 解 : 先求(66)10的等值二进制数 2 66 0 2 33 1 2 16 0 2 8 0 2 4 0 2 2 0 2 1 1 即(66)10=(1000010)2 结束
十进制小数不一定都能转换成完全等值的二进制小数. 小数部分的转换:乘R顺序取整 再求(0.625)10的等值二进制数 0.625×2=1.250 1 0.250×2=0.500 0 0.500×2=1.000 1 即(0.625)10=(0.101)2 所以,(66.625)10=(1000010.101)2 使用积的小数部分做乘数 注意: 十进制小数不一定都能转换成完全等值的二进制小数.
练[4] 128D=( )B 解: 2 128 0 低位 2 64 0 2 32 0 2 16 0 2 8 0 2 4 0 2 2 0 2 1 1 高位 所以:128D=10000000B
(3)二、八、十六进制之间的转换 ① 二进制数和八进制数之间的转换 一位八进制数就相当于3位二进制数 二到八进制:以小数点为分界线,分别向左右每三位二进制数写成相应的一位八进制数 八到二进制:每一位八进制数写成相应的三位二进制数,即3位二进制数取代每一位八进制数。
[例5] 把 (10110101.01101)2 转换为八进制数。 二进制数: 010 110 101 . 011 010 ↓ ↓ ↓ ↓ ↓ 八进制数: 2 6 5 . 3 2 (10110101.01101)2=(265.32)8
[例6] 把 (345.23)8转换成二进制数? 八进制数: 3 4 5 . 2 3 ↓ ↓ ↓ ↓ ↓ 八进制数: 3 4 5 . 2 3 ↓ ↓ ↓ ↓ ↓ 二进制数 011 100 101 . 010 011 (345.23)8=(11100101.010011)2
练[5] 11011.01101B=( )Q 011011.01101= 011 011.011 010=33.32Q 练[6] 563.25Q=( )B 563.25Q=101 110 011.010 101B
② 二进制数和十六进制数之间的转换 一位十六进制数就相当于4位二进制数 十六进制到二进制:每一位十六进制数写成相应的四位二进制数,即4位二进制数取代每一位十六进制数。 二到十六进制:以小数点为分界线,分别向左右每四位二进制数写成相应的一位十六进制数
[例7] 将10111010111101.10111B=( )H . 二进制数: 0010 1110 1011 1101 . 1011 1000 ↓ ↓ ↓ ↓ ↓ ↓ 十六进制数: 2 E B D . B 8
[例8] 将 (3A8C.9D)16转换成二进制数。 十六进制数: 3 A 8 C . 9 D ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 0011 1010 1000 1100 . 1001 1101 (3A8C.9D)16=(11101010001100.10011101)2
八、十六进制的转换 方法:都先转为二进制,再由二进制再次转换。 例:十六进制B4转换为八进制。 解: B4先转换为二进制:10110100 再由二制数10110100转为八进制:(264)8
1.4.3 无符号数和带符号数 1.机器数和真值数 真值数:一个数的二进制代码,称为真值数,如:正数+0101011和负数−1001101。 1.4.3 无符号数和带符号数 1.机器数和真值数 真值数:一个数的二进制代码,称为真值数,如:正数+0101011和负数−1001101。 机器数:带有数码化了的正负号的数称为机器数。 机器数的最高位是其符号位,0表示正数,1表示负数。 例如:若真值数分别为:1001101 +0101011 则机器数分别为:11001101 00101011
2 原码、反码、补码 1.原码 最高位为0表示正数,1表示负数,后面的各位为其数值 , 2.反码 这种数的表示方法称为原码。 但是若两个异号数相加或两个同号数相减时,必须作减法。 2.反码 正数的反码与其原码相同,最高位为0表示正数,其余为数 值位。负数的反码是其对应的正数连同符号位按位取反求得。 (+28)反=0001 1101 (-28)反=1110 0010 (+0)反=0000 0000 (-0)反=1111 1111 (+127)反=0111 1111 (-127)反=1000 0000
3. 补码 例如: (-28)补=1110 0011 (+28)补=0001 1101 (+0)补=0000 0000 正数的补码与其反码相同,负数的补码是其反码加1。即 在其反码的最低位上加1得到。 例如: (+28)补=0001 1101 (-28)补=1110 0011 (+0)补=0000 0000 (+127)补=0111 1111 (-127)补=1000 0001
三种编码之间的转换关系总结: 三种编码之间的转换关系 对于正数,原码=反码=补码。 对于负数,补码=反码+1。 引入补码后,使减法统一为加法。
1.4.4 定点数与浮点数 在计算机中表示数需要考虑的三个问题 数的长度 长度固定 符号 最高位(最左端)为数的符号位 1.4.4 定点数与浮点数 在计算机中表示数需要考虑的三个问题 数的长度 长度固定 符号 最高位(最左端)为数的符号位 符号位: 0表示“+”,1表示“-” 小数点 位置隐含 位置可固定(定点数),也可浮动(浮点数)
1、 定点数的表示 定点整数 定点小数 小数点的位置约定在数符位和数值部分的最高位之间,用以表示小于1的纯小数。
2、 浮点数的表示 浮点表示法就是把一个数的有效数字和数的范围在计算机的存储单元中分别予以表示,这种把数的范围和精度分别表示,而数的小数点位置随比例因子的不同而在一定范围内自由浮动的表示法。 N=M×RC 数的指数表示形式: 阶码C(Characteristic) 尾数M(Mantissa) 进制数的基R
2 、浮点数的表示 32位浮点数和64位浮点数的标准格式: 在两种浮点数中,S:浮点数的符号位,0表示正数,1表示负数。M:尾数,用小数表示,E为阶码为整数,小数点放在尾数域的最前面。 单精度: S(1bit) E(8bit) M(23bit) 双精度: S(1bit) E(11bit) M(52bit)
2、 浮点数的表示 N=M×RC 一个规格化的浮点数的真值必须表示为:x=S2e×(1.M) 2、 浮点数的表示 一个规格化的浮点数的真值必须表示为:x=S2e×(1.M) 例如+1000111.0101不是一个规范的浮点数。为了规范化,我们须把它表示成+1.0001110101×2+6,这样的一个数就是一个规范化数。 N=M×RC 数的指数表示形式: 阶码C(Characteristic) 尾数M(Mantissa) 进制数的基R
2 、浮点数的表示 举例:把+1.0101110111×2+8,分别表示成单精度与双精度浮点数。
3、定点数、浮点数的应用 1.在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。 SQL 中的 NUMBER 数据类型就是利用定点数来定义的。 2.计算机中是用有限的连续字节保存浮点数的。保存这些浮点数当然必须有特定的格式,Java 平台上的浮点数类型 float 和 double 采纳了 IEEE 754 标准中所定义的单精度 32 位浮点数和双精度 64 位浮点数的格式。
小 结 计算机中的数是利用二进制数来表示,存储数的方法有定点法与浮点法。定点法通常用来表示整数。浮点法用来表示小数,存储浮点数需要存储符号、指数与尾数三部分。浮点数分为单精度与双精度两种,单精度浮点数用32位(4字节)存储,双精度浮点数用64位存储。 在计算机中二进制可进行算术运算与逻辑运算,算术运算规则简单,实现较容易。逻辑运算包括“与”、“或”、“非”与“异或”运算。
1.4.5 计算机中的编码 1、BCD码: 0101 0010 0000 35的压缩BCD码 35的非压缩BCD码 1.4.5 计算机中的编码 1、BCD码: 常见的BCD码有8421码、2421码以及余3码等,一般使用8421码,它又分为压缩BCD码和非压缩BCD码。压缩BCD码是用4位二进制代码表示一位十进制数,一个字节可以表示两位十进制数(00~99);而非压缩BCD码是用8位二进制代码表示一位十进制数,高4位无效,一个字节只能表示一位十进制数(0~9),高4位为0时则叫标准非压缩BCD码。 0101 0010 35的压缩BCD码 0000 35的非压缩BCD码 例如,十进制数的压缩BCD码为25H,其标准非压缩BCD码为0305H。
1.4.5 计算机中的编码 2、ASCII编码 字符的ASCII编码表(二进制表示) 高三位 低四位 010 011 100 101 110 1.4.5 计算机中的编码 2、ASCII编码 字符的ASCII编码表(二进制表示) 高三位 低四位 010 011 100 101 110 111 0000 <空格> @ P 、 p 0001 ! 1 A Q a q 0010 " 2 B R b r 0011 # 3 C S c s 0100 $ 4 D T d t 0101 % 5 E U e u 0110 & 6 F V f v 0111 ' 7 G W g w 1000 ( 8 H X h x 1001 ) 9 I Y i y 1010 * : J Z j z 1011 + ; K [ k { 1100 , < L / l | 1101 - = M ] m } 1110 · > N ^ n ~ 1111 ? O o DEL
3、 汉字编码 (1)汉字交换码(国标码) 以国家标准局1980年颁布的《信息交换用汉字编码字符集·基本集》(代号为GB2312-80)规定的汉字交换码作为国家标准汉字编码,简称国标码。 GB2312-80标准规定所有汉字构成两维平面(区位码),94*94,行号为区号,列号为位号,各占一个字节,规定最高位为0,取其低7位表示。
例:“大”的区号是20,位号是83,则其区位码为: 2083。 (00010100 01010011) 区位码+2020H=国标码;(为了和ASCII兼容) 00110100 01110011
汉字机内码,即内码或汉字存储码。它统一了各种不同的汉字输入码在计算机内部的表示。机内码也是用两个字节表示,每个字节用到其中的7位。。 (2)汉字机内码 汉字机内码,即内码或汉字存储码。它统一了各种不同的汉字输入码在计算机内部的表示。机内码也是用两个字节表示,每个字节用到其中的7位。。 英文字符的机内码是8位ASCII码,其中最高位是0,汉字的机内代码用两个字节表示,为了区分ASCII码,两个字节的最高位均置1。国家标准GB2312-80规定,汉字的国标码的每个字节的最高位置1,作为汉字的机内码。 例如:“大”字的国标码为 00110100 01110011 机内码为 10110100 11110011
(3)汉字输入码 汉字输入码是为了使用键盘把字符输入到计算机而设计的一种编码。 方法:手写汉字联机识别、扫描输入识别、键盘输入。 输入编码要求:易学、易记、效率高、重码少、容量大。 输入编码分类: 数字编码(如:区位码、电报码,难记) 字音编码(简单,但重码多) 字形编码(如:五笔字形、表形码,重码少,规则难)、形音编码(规则简单、重码少,学习不易)
3) 汉字字形码 汉字的内码代表的是汉字惟一性的交换码,即给出汉字一个名,而这个汉字的外形如何却不在内码之内。汉字笔画多、外形千差万别,这就需要为每个汉字给出一个外形,一般用点阵表示,这就是汉字字模。 如图有16×16个方格,称16×16点阵,每一个方格用一个二进制代码表示,用1表示黑点,用0表示白点。存储在计算机中的汉字和符号的外形集合称为汉字库。常用的汉字字库除16×16点阵汉字库之外,还有24×24点阵汉字库、32×32点阵汉字库等。
各种汉字编码的关系如图所示:
本章结束