
微型计算机的基本概念.ppt
94页单片机原理及应用第第1章章 微型计算机的基本概念微型计算机的基本概念主讲教师:主讲教师: 石海霞石海霞1.1 概述概述电子计算机发展概况1946-19581946-1958: : 第一代电子管计算机第一代电子管计算机磁鼓存储器,机器语言磁鼓存储器,机器语言 汇编语言编程汇编语言编程世界上第一台数字计算机世界上第一台数字计算机ENIACENIAC1958-19641958-1964: : 第二代晶体管计算机第二代晶体管计算机磁芯作主存储器磁芯作主存储器, , 磁盘磁盘 作外存储器,开始使用高级语言编程作外存储器,开始使用高级语言编程1964-19711964-1971: : 第三代集成电路计算机第三代集成电路计算机使用半导体存储器,半导体存储器, 出现多终端计算机和计算机网络出现多终端计算机和计算机网络1971-1971- : : 第四代大规模集成电路计算机第四代大规模集成电路计算机出现微型计算出现微型计算 机、单片微型计算机,外部设备多样化。
机、单片微型计算机,外部设备多样化1981-1981- : : 第五代人工智能计算机第五代人工智能计算机模拟人的智能和交流模拟人的智能和交流 方式计算机发展趋势计算机发展趋势l微型化─ 便携式、低功耗便携式、低功耗l巨型化─ 尖端科技领域的信息处理,需要超大容量、高尖端科技领域的信息处理,需要超大容量、高 速度速度l智能化─ 模拟人类大脑思维和交流方式,多种处理能力模拟人类大脑思维和交流方式,多种处理能力l系列化、标准化─ 便于各种计算机硬、软件兼容和升级便于各种计算机硬、软件兼容和升级l网络化─ 网络计算机和信息高速公路网络计算机和信息高速公路l多机系统─ 大型设备、生产流水线集中管理大型设备、生产流水线集中管理( (独立控制、独立控制、 故障分散、资源共享故障分散、资源共享) )一、一、 微处理器、微型计算机和微型计算机系统微处理器、微型计算机和微型计算机系统 微处理器微处理器 简称μP或M P (Microprocessor),是指由一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理器部件,又称为微处理机。
MPU(微处理器)在嵌入系统中与其他电路及芯片组合称为CPU1.1.1 微型计算机系统组成微型计算机系统组成 微型计算机系统微型计算机系统 微型计算机系统(微型计算机系统(Microcomputer System)), 简称简称μCS或或MCS,,是指以微型计算机为核心,配以相应的外围设备、电源和辅是指以微型计算机为核心,配以相应的外围设备、电源和辅助电路(统称硬件)以及指挥微型计算机工作的系统软件所构成的助电路(统称硬件)以及指挥微型计算机工作的系统软件所构成的系统 微型计算机微型计算机 简称简称μC或或MC,,是指以微处理器为核心,配上存储器、输入是指以微处理器为核心,配上存储器、输入/输出接口电路及系统总线所组成的计算机(又称主机或微电脑)输出接口电路及系统总线所组成的计算机(又称主机或微电脑) 算术算术逻辑逻辑部件部件内部总线内部总线累加器、寄存器累加器、寄存器控制部件控制部件微微处处理理器器存储器(存储器(ROM/RAM))输入输入/输出接口输出接口系统总线系统总线微微型型计计算算机机外围设备外围设备系统软件系统软件微微型型计计算算机机系系统统二、微型计算机系统的组成二、微型计算机系统的组成 系统软件:系统软件:DOS、、Windows 95/98/2000应用软件:应用软件:Word、、Photoshop微处理器微处理器 CPU 存储器存储器(RAM,ROM) I/OI/O接口接口总线总线 硬硬 件件软软 件件微微 型型计计 算算 机机系系 统统微微 型型计算机计算机( (主机主机) )外外 设设ALU寄存器寄存器控制部件控制部件键盘、鼠标键盘、鼠标显示器显示器软驱、硬盘、光驱软驱、硬盘、光驱 打印机、扫描仪打印机、扫描仪微型计算机系统的组成微型计算机系统的组成 ( (续续) ) 微机系统硬件的组成及结构微机系统硬件的组成及结构 输输出出设设备备输输入入设设备备输入输入接接口口输输出出接接口口存储器存储器 微型计算机微型计算机运算器运算器控制器控制器 微处理器微处理器((a))微机系统的硬件组成微机系统的硬件组成 硬硬硬硬件件件件系系系系统统统统————构构构构成成成成微微微微机机机机的实体和装置的实体和装置的实体和装置的实体和装置软件系统软件系统软件系统软件系统————微机系统所微机系统所微机系统所微机系统所使用的各种程序的总称使用的各种程序的总称使用的各种程序的总称使用的各种程序的总称软件系统软件系统软件系统软件系统与与与与硬件系统硬件系统硬件系统硬件系统共同共同共同共同构成实用的微机系统,两构成实用的微机系统,两构成实用的微机系统,两构成实用的微机系统,两者是者是者是者是相辅相成、缺一不可相辅相成、缺一不可相辅相成、缺一不可相辅相成、缺一不可的。
的 软软件件系系统统+微型计算机系统微型计算机系统微型计算机系统微型计算机系统运 算 器控 制 器CPU存 储 器输输入入接接口口电电路路输输入入设设备备输输出出设设备备输输出出接接口口电电路路硬件系统(一一)、微型计算机的硬件系统结构、微型计算机的硬件系统结构 微型计算机微型计算机──由微处理器(CPU)、存储器、由微处理器(CPU)、存储器、 输入输输入输出接口(出接口(ⅠⅠ/0接口)三部分主成,各部分用总线相连0接口)三部分主成,各部分用总线相连地址总线I/O总线CPU存储器输入/出接口外围设备控制总线数据总线控制微型计算机系统微型计算机系统总线结构,系统中各部件总线结构,系统中各部件 “挂挂”在总线在总线上上 1. 中央处理器中央处理器CPU CPU(Central Processing Unit)是计算机的核心部件, 它由运算器和控制器组成, 完成计算机的运算和控制功能 运算器又称算术逻辑部件(ALU, Aithmctieal Logic Unit), 主要完成对数据的算术运算和逻辑运算 控制器(Controller)是整个计算机的指挥中心, 它负责从内部存储器中取出指令并对指令进行分析、判断, 并根据指令发出控制信号, 使计算机的有关部件及设备有条不紊地协调工作, 保证计算机能自动、连续地运行。
CPU中还包括若干寄存器(Register), 它们的作用是存放运算过程中的各种数据、地址或其它信息寄存器种类很多, 主要有: 通用寄存器: 向 ALU提供运算数据, 或保留运算中间或最终的结果 累加器A: 这是一个使用相对频繁的特殊的通用寄存器, 有重复累加数据的功能 程序计数器PC: 存放将要执行的指令地址 指令存储器IR: 存放根据PC 的内容从存储器中取出的指令 在微型计算机中, CPU一般集成在一块被称为微处理器(MPU, Micro Processing Unit)的芯片上 2. 存储器存储器M 存储器(Memory)是具有记忆功能的部件, 用来存储数据和程序存储器根据其位置不同可分为两类: 内存储器和外存储器内存储器(简称内存)和CPU直接相连, 存放当前要运行的程序和数据, 故也称主存储器(简称主存)它的特点是存取速度快, 基本上可与CPU处理速度相匹配, 但价格较贵, 能存储的信息量较小外存储器(简称外存)又称辅助存储器, 主要用于保存暂时不用但又需长期保留的程序和数据。
存放在外存的程序必须调入内存才能进行外存的存取速度相对较慢, 但价格较便宜, 可保存的信息量大 3. 输入输入/输出接口(输出接口(I/O接口)接口) 输入/输出(I/O)接口由大规模集成电路组成的I/O器件构成, 用来连接主机和相应的I/O设备(如: 键盘、 鼠标、显示器、 打印机等), 使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配不同的I/O设备必须配置与其相适应的I/O接口 接口是主机与外设连接的必然通路,是必经的“桥梁”每个接口可包含若干个端口,每个端口对应一个端口地址,可由指令按地址访问端口接口功能接口功能:: ①①隔离主机与外设之间的数据隔离主机与外设之间的数据②②向外设传输控制信号和接收外设的状态信号向外设传输控制信号和接收外设的状态信号③③数据类型的转换数据类型的转换 4. 总线总线 总线(BUS)是计算机各部件之间传送信息的公共通道微机中有内部总线和外部总线两类内部总线是CPU内部之间的连线外部总线是指CPU与其它部件之间的连线 外部总线有三种: 数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CB(Control Bus)。
根据传送信息的内容与作用不同,总线分为: 数据总线DB(Data Bus)地址总线AB(Address Bus)控制总线CB(Control Bus) ①①数据总线数据总线DB::双向双向传输数据信息传输数据信息 其宽度(根数)与其宽度(根数)与MPU提供的数据线的引脚数提供的数据线的引脚数有关,表示微机的有关,表示微机的字长字长②②控制总线控制总线CB:传送各种控制信号和状态信:传送各种控制信号和状态信号 对于每一根来说是单向传送的对于每一根来说是单向传送的③③ 地址总线地址总线AB:: CPU执行指令时,用于单向传送地址信息执行指令时,用于单向传送地址信息地地址址信信息息 操作数在存储器中的地址信息操作数在存储器中的地址信息指令代码在存储器中的地址信息指令代码在存储器中的地址信息AB的宽度决定了微机系统的最大寻址能力的宽度决定了微机系统的最大寻址能力最大寻址空间最大寻址空间=2N ,,其中其中N为为AB的宽度的宽度51单片机单片机 N=16最大寻址空间最大寻址空间 = 216 = 65536 B = 64 KB8086/8088CPU N=20最大寻址空间最大寻址空间 220=1MB例例::( (二二) )、、计算机的算机的软件系件系统 硬件只是使计算机具备了计算的可能,但是计算机脱离人的干预自动进行计算,还需要有软件的配合。
软件系统是指计算机所使用的各种程序程序的集合程序是指指令的有序集合,程序是指指令的有序集合,是人们为使计算机完成某是人们为使计算机完成某一特定任务而编排的一系一特定任务而编排的一系列列指令指令指令是规定计算机完成某种操作指令是规定计算机完成某种操作的命令,它用二进制码表示,存的命令,它用二进制码表示,存于存储器中于存储器中 各种语言的汇编或解释、各种语言的汇编或解释、编译程序编译程序机器的监控管理程序、机器的监控管理程序、机器的监控管理程序、机器的监控管理程序、操作系统、调试程序、故障诊断程序操作系统、调试程序、故障诊断程序操作系统、调试程序、故障诊断程序操作系统、调试程序、故障诊断程序程序库程序库系统软件系统软件1.1.1.1.系统软件系统软件系统软件系统软件 ● ●计算机系统硬件、软件与用户之间的关系如右图所示,软件可看计算机系统硬件、软件与用户之间的关系如右图所示,软件可看计算机系统硬件、软件与用户之间的关系如右图所示,软件可看计算机系统硬件、软件与用户之间的关系如右图所示,软件可看做是用户与计算机硬件系统的接口软件之间又是逐层依赖的做是用户与计算机硬件系统的接口软件之间又是逐层依赖的。
做是用户与计算机硬件系统的接口软件之间又是逐层依赖的做是用户与计算机硬件系统的接口软件之间又是逐层依赖的 ● ●总之,硬件建立了计算机的物质基础,而各种软件则扩大了总之,硬件建立了计算机的物质基础,而各种软件则扩大了总之,硬件建立了计算机的物质基础,而各种软件则扩大了总之,硬件建立了计算机的物质基础,而各种软件则扩大了计算机的功能硬件和软件只有结合起来,才能完成各种功能,计算机的功能硬件和软件只有结合起来,才能完成各种功能,计算机的功能硬件和软件只有结合起来,才能完成各种功能,计算机的功能硬件和软件只有结合起来,才能完成各种功能,才是一个完整的计算机系统左图给出了微处理器、微型计算才是一个完整的计算机系统左图给出了微处理器、微型计算才是一个完整的计算机系统左图给出了微处理器、微型计算才是一个完整的计算机系统左图给出了微处理器、微型计算机和微型计算机系统的结构关系机和微型计算机系统的结构关系机和微型计算机系统的结构关系机和微型计算机系统的结构关系用户用各种语言编制的解决各种问题的软件统称为应用软件用户用各种语言编制的解决各种问题的软件统称为应用软件用户用各种语言编制的解决各种问题的软件统称为应用软件用户用各种语言编制的解决各种问题的软件统称为应用软件财务管理软件财务管理软件财务管理软件财务管理软件银行管理软件等银行管理软件等文字处理软件文字处理软件2.2.2.2.应用软件应用软件应用软件应用软件算术逻辑部件算术逻辑部件算术逻辑部件算术逻辑部件累加器、寄存器累加器、寄存器累加器、寄存器累加器、寄存器控制器控制器控制器控制器内部总线内部总线内部总线内部总线内部存储器内部存储器内部存储器内部存储器输入输入输入输入/ / / /输出接口输出接口输出接口输出接口系统总线系统总线系统总线系统总线外围设备外围设备外围设备外围设备系统软件系统软件系统软件系统软件微微微微处处处处理理理理器器器器微微微微型型型型计计计计算算算算机机机机微微微微型型型型计计计计算算算算机机机机系系系系统统统统计算机系统的功能模型计算机系统的功能模型计算机系统的功能模型计算机系统的功能模型用用用用 户户户户应应应应 用用用用 软软软软 件件件件系系系系 统统统统 软软软软 件件件件硬硬硬硬 件件件件 系系系系 统统统统微处理器、微型计算机和微型微处理器、微型计算机和微型微处理器、微型计算机和微型微处理器、微型计算机和微型计算机系统计算机系统计算机系统计算机系统计算机的软件系统计算机的软件系统1.1.2 计算机中的数制及相互转换计算机中的数制及相互转换一、一、 进位计数制进位计数制 按进位原则进行计数的方法, 称为进位计数制。
十进制数有两个主要特点: (1) 有 10 个不同的数字符号: 0、 1、 2、 …、 9; ( 2) 低 位 向 高 位 进 位 的 规 律 是 “逢 十 进 一 ” 因此, 同一个数字符号在不同的数位所代表的数值是不同的如555.5中 4 个 5分别代表500、 50、 5 和 0.5, 这个数可以写成555.5=5×102+5×101+5×100+5×10-1 式中的10称为十进制的基数, 102、101、100、10-1称为各数位的权 任意一个十进制数N都可以表示成按权展开的多项式: 其中, di是0~9共10个数字中的任意一个, m是小数点右边的位数, n是小数点左边的位数, i是数位的序数例如, 543.21可表示为543.21=5×102+4×101+3×100+2×10-1+1×10-2一般而言, 对于用 R 进制表示的数 N , 可以按权展开为 式中, ai 是 0、1、 …、 (R-1)中的任一个, m、 n是正整数, R是基数在 R 进制中, 每个数字所表示的值是该数字与它相应的权Ri的乘积, 计数原则是“逢 R进一”。
1. 二进制数二进制数 当 R=2 时, 称为二进位计数制, 简称二进制在二进制数中, 只有两个不同数码: 0和1, 进位规律为“逢二进一”任何一个数 N, 可用二进制表示为 例如, 二进制数 1011.01 可表示为(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2 2. 八进制数八进制数 当R=8 时, 称为八进制在八进制中, 有 0、1、2、…、7 共 8 个不同的数码, 采用“逢八进一”的原则进行计数如(503)8可表示为(503)8=5×82+0×81+3×80 3. 十六进制十六进制 当R=16时, 称为十六进制在十六进制中, 有 0、1、2、…、 9、 A、B、C、D、E、F共 16个不同的数码, 进位方法是“逢十六进一” 例如, (3A8.0D)16可表示为(3A8.0D)16=3×162+10×161+8×160+0×16-1+ 13×16-2 表1.1 各种进位制的对应关系 十进制二进制八进制十六进制十进制二进制八进制十六进制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F7111771610000201081000108二、二、 不同进制间的相互转换不同进制间的相互转换 1. 二、二、 八、八、 十六进制转换成十进制十六进制转换成十进制 例例 1 将数(10.101)2, (46.12)8, (2D.A4)16转换为十进制。
(10.101)2=1×21+0×20+1×2-1+0×2-2+1×2-3=2.625 (46.12)8=4×81+6×80+1×8-1+2×8-2=38.156 25 (2D.A4)16=2×161+13×160+10×16-1+4×16-2=45.640 62 2. 十进制数转换成二、八、十六进制数十进制数转换成二、八、十六进制数 任意十进制数 N 转换成 R 进制数, 需将整数部分和小数部分分开, 采用不同方法分别进行转换, 然后用小数点将这两部分连接起来 (1) 整数部分: 除基取余法 分别用基数 R 不断地去除 N 的整数, 直到商为零为止, 每次所得的余数依次排列即为相应进制的数码最初得到的为最低有效数字, 最后得到的为最高有效数字 例例 2 将(168)10转换成二、 八、 十六进制数 (2) 小数部分: 乘基取整法 分别用基数 R(R=2、8或16)不断地去乘N 的小数, 直到积的小数部分为零(或直到所要求的位数)为止, 每次乘得的整数依次排列即为相应进制的数码。
最初得到的为最高有效数字, 最后得到的为最低有效数字 故: (0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16 例例 4 将将(168.645)10转换成二、 八、 十六进制数 根据例2、例 3 可得 (168.645)10= (10101000.10100)2= (250.51217) 8=(A8.A51EB)16 3. 二进制与八进制之间的相互转换二进制与八进制之间的相互转换 由于23= 8, 故可采用“合三为一”的原则, 即从小数点开始分别向左、右两边各以3位为一组进行二—八换算: 若不足 3 位的以 0 补足, 便可将二进制数转换为八进制数反之, 采用“一分为三”的原则, 每位八进制数用三位二进制数表示, 就可将八进制数转换为二进制数 例例 5 将(101011.01101)2转换为八进制数 101 011 . 011 010 5 3 . 3 2 即 (101011.01101)2= (53.32)8 例例 6 将(123.45)8转换成二进制数。
1 2 3 . 4 5001 010 011 . 100 101 即 (123.45)8=(1010011.100101) 例例 7 将(110101.011)2转换为十六进制数 0011 0101 . 0110 3 5 . 6 即 (110101.011) 2=(35.6)16 例例 8 将(4A5B.6C)16转换为二进制数 4 A 5 B . 6 C0100 1010 0101 1011 . 0110 1100即 (4A5B.6C)16=(100101001011011.011011)2 1.1.3 二进制数的运算二进制数的运算 一、一、 二进制数的算术运算二进制数的算术运算 二进制数只有 0和1两个数字,其算术运算较为简单,加、 减法遵循“逢二进一”、“借一当二”的原则。
1. 加法运算加法运算规则: 0+0=0; 0+1=1; 1+0=1; 1+1=10(有进位) 例例 1 求1001B+1011B 2. 减法运算减法运算规则: 0-0=0; 1-1=0; 1-0=1; 0-1=1(有借位) 例例 2 求1100B-111B 3. 乘法运算乘法运算规则: 0×0=0; 0×1=1×0=0; 1×1=1例例 3 求1011B×1101B 4. 除法运算除法运算规则: 0/1=0; 1/1=1例例 4 求10100101B/1111B 二、二、 二进制数的逻辑运算二进制数的逻辑运算 1. “与与”运算运算 “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算 运算符为“· ”, 其运算规则如下:0·0=0, 0·1=1·0=0, 1·1=1 例例 5 若X=1011B, Y=1001B, 求X·Y .即 X·Y=1001B 2. “或或”运算运算 “或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算, 其运算符为“+”。
“或”运算规则如下:0+0=0, 0+1=1+0=1, 1+1=1 例例 6 若X=10101B, Y=01101B, 求X+Y 101010110111101+即 X+Y=11101B 3. “非非”运算运算 “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 其运算规则如下: A例例 7 若A=10101B, 求 A 4. “异或异或”运算运算 “异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“”其运算规则是: 例例 8 若X=1010B, Y=0110B, 求XY 101001101100即 XY=1100B 1.1.4 带符号数的表示带符号数的表示 一、一、 机器数及真值机器数及真值 计算机在数的运算中, 不可避免地会遇到正数和负数, 那么正负符号如何表示呢?由于计算机只能识别0和1, 因此, 我们将一个二进制数的最高位用作符号位来表示这个数的正负。
规定符号位用“0”表示正, 用“1”表示负例如, X=-1101010B, Y=+1101010B, 则X表示为: 11101010B, Y表示为01101010B 二、二、 数的码制数的码制 1. 原码原码 当正数的符号位用0表示, 负数的符号位用1表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码, 用[X]原表示, 设X为整数 若X=+Xn-2Xn-3…X1X0, 则[X]原=0Xn-2Xn-3…X1X0=X; 若X=-Xn-2Xn-3…X1X0,则[X]原=1Xn-2Xn-3…X1X0=2n-1-X 其中, X为n-1位二进制数, Xn-2、Xn-3、 …、X1、X0为二进制数0或1例如+115和-115在计算机中(设机器数的位数是8)其原码可分别表示为[+115]原= 01110011B; [-115]原= 11110011B 可见, 真值X与原码[X]原的关系为 值得注意的是, 由于[+0]原=00000000B, 而[-0]原=10000000B, 所以数 0的原码不唯一 8位二进制原码能表示的范围是: -127~+127。
2. 反码反码 一个正数的反码, 等于该数的原码; 一个负数的反码, 由它的正数的原码按位取反形成反码用[X]反表示 若X=-Xn-2Xn-3…X1X0, 则[X]反=1Xn-2Xn-3…X1X0例如 : X=+103, 则 [ X]反=[ X]原=01100111B; X=-103, [X]原=11100111B, 则[X]反=10011000B 3. 补码补码 “模”是指一个计量系统的计数量程如, 时钟的模为12任何有模的计量器, 均可化减法为加法运算仍以时钟为例, 设当前时钟指向11点, 而准确时间为7点, 调整时间的方法有两种, 一种是时钟倒拨4小时, 即11-4=7; 另一种是时钟正拨8小时, 即11+8=12+7=7 由此可见, 在以12为模的系统中, 加8和减4的效果是一样的, 即 -4=+8(mod 12)对于n位计算机来说, 数X的补码定义为 补码补码● ●在钟表上,指针正拨在钟表上,指针正拨1212小时或倒拨小时或倒拨1212小时,其时间小时,其时间值是相等的值是相等的, ,即在钟表上即在钟表上X+12=X-12(mod 12)X+12=X-12(mod 12)。
模的概念模的概念补码的引入补码的引入● ●对于对于n n位二进制数,其计数范围为位二进制数,其计数范围为0 0~(~( 2 2n n-1-1),),在在该计数器上加该计数器上加2 2n n或减或减2 2n n结果是不变的,我们称结果是不变的,我们称2 2n n为为n n位位计数系统的模对钟表来说,它的模为计数系统的模对钟表来说,它的模为1212● ●在钟表上,如果现在时间是在钟表上,如果现在时间是6 6点整,而钟表却指着点整,而钟表却指着8 8点整,快了点整,快了2 2小时,校准的方法是正拨小时,校准的方法是正拨1010小时或倒拨小时或倒拨2 2小时,结果都正确,即:小时,结果都正确,即:8+10=68+10=6((mod 12mod 12))顺拨顺拨 ,,8-2=68-2=6((mod 12mod 12)) 倒拨l补码表示范围:补码表示范围: 8 8位二进制补码所表示数据范围:位二进制补码所表示数据范围:-128-128~~+127+127;; 1616位二进制补码所表示数据范围:位二进制补码所表示数据范围:-32768-32768~~+32767+32767注意:规定[注意:规定[-128-128]补]补= 10000000B= 10000000B;; [[-32768-32768]补]补= 1000000000000000B= 1000000000000000B。
[+3][+3]补补=[+3]=[+3]原原=[+3]=[+3]反反=00000011=00000011[-3][-3]补补=[-3]=[-3]反反+1=11111100+1=11111101+1=11111100+1=11111101[+0][+0]补补=[+0]=[+0]原原=[+0]=[+0]反反=00000000=00000000[-0][-0]补补=[-0]=[-0]反反+1=11111111+1=00000000+1=11111111+1=00000000补码的求法补码的求法● ●对对n n为二进制数,模为为二进制数,模为2 2n n ,,则则[X][X]补补= =(( 2 2inin +X +X),), MOD 2MOD 2n n ,i ,i为正整数为正整数补码的定义补码的定义● ●若若X≥+0 X≥+0 则则[X][X]补补=X =X ,, 若若X≤ -0 X≤ -0 则则[X][X]补补= 2= 2n n +X +X,,其中其中n n为补码的位数如果为补码的位数如果X≥0,X≥0,则则[X][X]补补= =(( 2 2inin +X +X))MOD MOD 2 2n n=X,=X,即正数的补码为原正数不变。
如果即正数的补码为原正数不变如果X≤0,X≤0,则则[X][X]补补(2(2n n +X) MOD 2+X) MOD 2n n = 2 = 2n n -1+X+1=[X] -1+X+1=[X]反反+1+1,即负数的补码等于负,即负数的补码等于负数的反码加数的反码加1 1,也就是等于负数原码除符号位外求反加,也就是等于负数原码除符号位外求反加1 1求法与应用求法与应用[+0][+0][+0][+0]补补补补=[-0]=[-0]=[-0]=[-0]补补补补==00000000==00000000==00000000==00000000,即,即,即,即0 0 0 0的补码为的补码为的补码为的补码为0 0 0 0,且只有一种表示方法且只有一种表示方法且只有一种表示方法且只有一种表示方法注意注意注意注意补码补码⑴⑴[+0][+0]补补=[-0]=[-0]补补=00000000=00000000⑵⑵8 8位二进制补码真值范围为位二进制补码真值范围为-128-128~~+127+127,,1616位补码真值范围为位补码真值范围为- -32768 32768 ~~ +32767+32767⑶⑶一个用补码表示的二进制数,最高位为符号位,当符号位为一个用补码表示的二进制数,最高位为符号位,当符号位为“0 0”即正数时,其余位即为此数的二进制值;但当符号位为即正数时,其余位即为此数的二进制值;但当符号位为“1 1”即负数即负数时,其余位不是此数的二进制值,其值为后面各位按位取反,在最时,其余位不是此数的二进制值,其值为后面各位按位取反,在最低位加低位加1 1。
当采用补码表示时,可以把减法运算转换为加法运算,当采用补码表示时,可以把减法运算转换为加法运算,当采用补码表示时,可以把减法运算转换为加法运算,当采用补码表示时,可以把减法运算转换为加法运算,即即即即[X[X[X[X± ±Y]Y]Y]Y]补补补补=[X]=[X]=[X]=[X]补补补补+[+[+[+[± ±Y]Y]Y]Y]补8 8 8 8位带符号的补码特点位带符号的补码特点位带符号的补码特点位带符号的补码特点补码补码即正数的补码就是它本身, 负数的补码是真值与模数相加而得 例如, n=8时, [+75]补=01001001B [-73]补=10000000 B- 01001001B=10110111B [0]补=[+0]补=[-0]补=00000000B 可见, 数0的补码表示是唯一的在用补码定义求负数补码的过程中, 由于做减法不方便, 一般该法不用负数补码的求法: 用原码求反码, 再在数值末位加1, 即: [X]补=[X]反+1 例 如 : [ -30]补=[ -30]反+1 =[ +30]原+1=11100001+1=11100010B。
8位二进制补码能表示的范围为: -128 ~+127, 若超过此范围, 则为溢出 数的表示方法数的表示方法数的表示方法数的表示方法十进制数十进制数二进制数二进制数原码原码反码反码补码补码-128-128-127-127-126-126……-2-2-1-1-0-0+0+0+1+1+2+2……+126+126+127+127-10000000-10000000-1111111-1111111-1111110-1111110…………-0000010-0000010-0000001-0000001-0000000-0000000+0000000+0000000+0000001+0000001+0000010+0000010…………+1111110+1111110+1111111+1111111--------11111111111111111111111011111110…………100000101000001010000001100000011000000010000000000000000000000000000001000000010000001000000010…………01111110011111100111111101111111--------10000000100000001000000110000001…………111111011111110111111110111111101111111111111111000000000000000000000001000000010000001000000010…………01111110011111100111111101111111100000001000000010000001100000011000001010000010…………111111101111111011111111111111110000000000000000000000000000000000000001000000010000001000000010…………01111110011111100111111101111111表表表表1.21.21.21.2原码、反码、补码间的相互转换原码、反码、补码间的相互转换( (总结总结) )(1)(1)对于正数对于正数X X,,[X][X]原原=[X]=[X]反反=[X]=[X]补;补;(2)(2)对于负数对于负数X X,三种编码则不同。
三种编码则不同3)(3)已知负数的原码转换为反码和补码已知负数的原码转换为反码和补码l转换为反码:符号位不变,数值位取反;转换为反码:符号位不变,数值位取反;l转换为补码:符号位不变,数值位取反加转换为补码:符号位不变,数值位取反加1 14)(4)已知负数的反码转换为原码和补码已知负数的反码转换为原码和补码已知负数的反码转换为原码和补码已知负数的反码转换为原码和补码l l转换为原码:符号位不变,数值位取反;转换为原码:符号位不变,数值位取反;转换为原码:符号位不变,数值位取反;转换为原码:符号位不变,数值位取反;l l转换为补码:反码加转换为补码:反码加转换为补码:反码加转换为补码:反码加1 1 1 15)(5)(5)(5)已知负数的补码转换为原码和反码已知负数的补码转换为原码和反码已知负数的补码转换为原码和反码已知负数的补码转换为原码和反码l l转换为原码:符号位不变,数值位取反加转换为原码:符号位不变,数值位取反加转换为原码:符号位不变,数值位取反加转换为原码:符号位不变,数值位取反加1 1 1 1;;;;l l转换为反码:补码减转换为反码:补码减转换为反码:补码减转换为反码:补码减1 1 1 1。
l注意:当补码表示的整数为注意:当补码表示的整数为-128-128(或(或-32768-32768)时,不能用)时,不能用8 8(或(或1616)位的原码和反码表示位的原码和反码表示4.4.补码的运算补码的运算((1)加法运算)加法运算l补码的加法运算有如下的公式:补码的加法运算有如下的公式:[X][X]补补++ [Y][Y]补补=[X=[X++Y]Y]补补((a a)两个正数相加:)两个正数相加: 4 5 0 0 1 0 1 1 0 14 5 0 0 1 0 1 1 0 1((4545的补码)的补码) + 2 2 + 0 0 0 1 0 1 1 0+ 2 2 + 0 0 0 1 0 1 1 0((2222的补码)的补码) 6 7 0 1 0 0 0 0 1 16 7 0 1 0 0 0 0 1 1((6767的补码)的补码)____________________________________((b)正数加负数(负数绝对值小))正数加负数(负数绝对值小) 45 00101101((45的补码)的补码)+((-22)) +11101010((-22的补码)的补码) 23 00010111((23的补码)的补码)22的绝对值:0010110,取反加1:1101010补码:11101010________________________________((c)负数加正数(负数绝对值大):)负数加正数(负数绝对值大): ((-45)) 11010011((-45的补码)的补码) + 22 + 00010110((22的补码)的补码) -23 11101001((-23的补码)的补码)________________________________((d)两个负数相加:)两个负数相加: ((-45)) 11010011((-45的补码)的补码) +((-22)) + 11101010((-22的补码)的补码) ((-67)) 10111101((-67的补码)的补码)结论: 用补码表示的数据进行加法运算时可以不考虑符号位,直接运算,即与不带符号的数据的运算完全相同。
________________________________(2). 补码的减法运算l补码的减法运算有如下的公式:补码的减法运算有如下的公式: [X][X]补-补- [Y][Y]补补=[X=[X--Y]Y]补补l例:例:56 - 34 = ?56 - 34 = ? 00111000 00111000 ((5656的补码)的补码) -- 00100010 00100010 ((3434的补码)的补码) 00010110 00010110 ((2222的补码)的补码)_______________l l补码的减法运算有如下的公式:补码的减法运算有如下的公式:补码的减法运算有如下的公式:补码的减法运算有如下的公式: [X][X][X][X]补-补-补-补- [Y][Y][Y][Y]补补补补= [X]= [X]= [X]= [X]补+补+补+补+[ [ [ [----Y]Y]Y]Y]补补补补 [Y][Y][Y][Y]补补补补 [ [ [ [----Y]Y]Y]Y]补补补补l l例:例:例:例:56565656----34→34→34→34→取补0010001011011110l l例:例:例:例:56565656----34 34 34 34 00111000 00111000 00111000 00111000 ((((56565656的补码)的补码)的补码)的补码) ++++ 11011110 11011110 11011110 11011110 (-(-(-(-34343434的补码)的补码)的补码)的补码) 00010110 00010110 00010110 00010110 ((((22222222的补码)的补码)的补码)的补码) 56565656----34=56+34=56+34=56+34=56+(-(-(-(-34343434))))=22=22=22=22_____________问题:微机中数的加减运算为什么采用补码? 原码:易于识别,但运算复杂,符号位往往需要单独处理 补码:运算方便,简化设计电路;在加减运算中,两个带符号数的补码,经加或减运算后即得到和或差的补码,符号位无需单独处理1.1.5 定点数和浮点数定点数和浮点数 一、一、 定点法定点法 定点法中约定所有数据的小数点隐含在某个固定位置。
对于纯小数, 小数点固定在数符与数值之间; 对于整数, 则把小数点固定在数值部分的最后面, 其格式为 纯小数表示: 数符. 尾数 数数 符符尾尾 数数.小数点数数 符符尾尾 数数.小数点 二、二、 浮点法浮点法 浮点法中, 数据的小数点位置不是固定不变的, 而是可浮动的 因此, 可将任意一个二进制数N表示成N=±M·2±E其中, M为尾数, 为纯二进制小数, E称为阶码可见, 一个浮点数有阶码和尾数两部分, 且都带有表示正负的阶码符与数符, 其格式为 阶阶 符符阶码阶码E数数 符符尾数尾数M 为了提高精度, 发挥尾数有效位的最大作用, 还规定尾数数字部分原码的最高位为1, 叫做规格化表示法 如0.000101表示为: 2-3×0.101 1.1.6 BCD码和码和ASCII 码码 一、一、 BCD码码 十进制数十进制数 8421BCD码码 十进制数十进制数 8421BCD码码 00000501011000160110200107011130011810004010091001表1.3 8421BCD编码表 例例 1 写出69.25的BCD码。
根据表 1.3, 可直接写出相应的BCD码: 69.25 =(01101001.00100101)BCD BCD码与非码与非BCD码码0 0000B1 0001B2 0010B3 0011B4 0100B5 0101B6 0110B7 0111B8 1000B9 1001BA 1010BB 1011BC 1100BD 1101BE 1110BF 1111B非非BCD码码冗余码冗余码非法码非法码BCD码码注:注:在在0~~9之间十进制数的之间十进制数的BCD码与十六进制是相同的,码与十六进制是相同的,10以后的称为非以后的称为非BCD码码①① BCD码加法运算码加法运算BCD加法就是按加法就是按“逢十进位逢十进位”的原则进行相加,的原则进行相加,其和也是一个其和也是一个BCD数但微机只能进行二进制数但微机只能进行二进制加法,在相邻加法,在相邻BCD码字之间只能码字之间只能“逢十六进位逢十六进位”导致出现非导致出现非BCD码因此需要对结果进行码因此需要对结果进行调整,做到调整,做到“逢十进位逢十进位”结果仍为结果仍为BCD码码96[34]BCD =00110100B+ [62]BCD =01100010B10010110B 34+62=例例::例例::89+95=184 [89]BCD=10001001B + [95]BCD=10010101B 100011110B ←运算结果的低运算结果的低4位出现非位出现非BCD码码 高高4位出现进位,均应做加位出现进位,均应做加6调整调整 ← 结果仍为结果仍为BCD码码进位进位→ 01100110B +110000100B 低位向高位产生进位,低位向高位产生进位,高位出现非高位出现非BCD码码均应作加均应作加6调整调整相加结果为无符号数,最高位进位有效相加结果为无符号数,最高位进位有效进位进位结果仍为结果仍为BCD码码117例例:: 48+69= [48]BCD =01001000B+ [69]BCD =01101001B10110001B100010111B01100110B+ 在在BCD加法过程中,进制不同导致出现加法过程中,进制不同导致出现非非BCD码或码或某位某位向高位产生进位,使运算结向高位产生进位,使运算结果不正确。
在这种情况下均应作加果不正确在这种情况下均应作加6调整,调整,以以补补上多拿走的上多拿走的6十进制调整在微机中有十进制调整在微机中有专门的调整电路自动完成专门的调整电路自动完成总结:总结:BCD码减法运算与加法运算同理码减法运算与加法运算同理减法运算的减法运算的调整原则调整原则:在运算过程中某位出现借:在运算过程中某位出现借位或非位或非BCD码,相应位作减码,相应位作减6调整,减去多借的调整,减去多借的6也是有专门的指令来完成的也是有专门的指令来完成的例例:: 58-25= [58]BCD =01011000B [25]BCD =00100101B-00110011B结果仍为结果仍为BCD码码33②② BCD码减法运算码减法运算 例例:: 35-28=←低四位向高四位借位低四位向高四位借位←运算结果的低运算结果的低4位出现非位出现非BCD码码700001101B[35]BCD=00110101B_ [28]BCD=00101000B 00000111B00000110B_← 个位做减个位做减6调整调整← 结果仍为结果仍为BCD码码二、二、 ASCII码码 表 1.4 ASCII 码 表 字长:字长:一个基本信息单位所占用的最大二进一个基本信息单位所占用的最大二进 制位数制位数字:微机一条指令所能处理的一个基本信息 单位例如例如::一个数据(一个数据(25、、35.67、、-0.0038……;)一;)一 个字符(个字符(A、、a、、#、、……)等均称为一个字)等均称为一个字1.1.7 1.1.7 微型计算机系统的主要性能指标微型计算机系统的主要性能指标 1、字长:、字长:CPU能直接处理的二进制信息的位数。
能直接处理的二进制信息的位数 字长越长的微机,其运算速度越快,数的表示范围越宽,数据的运算精度越高,机器的整体功能越强字长是微机的主要性能指标之一! 80386 、80486、80586(pentium)为32位机,2001年推出的Itanium为64位机51单片机字长为8位,称为8位机8086/8088CPU字长为16位,称为16位机1.1.7 1.1.7 微型计算机系统的主要性能指标微型计算机系统的主要性能指标 2 2、、内内存存容容量量::以以字字节为单位位字字节节((Byte) 基基本本单位,规定单位,规定 8位位二进制数称为一个二进制数称为一个字节字节 1 1ByteByte=8=8bitbit((二进制信息的最小单位二进制信息的最小单位)) 2 21010Byte=1024ByteByte=1024Byte,,简计为1 1k kB B或或1 1k k;; 2 22020Byte=1024Byte=1024k kByte=1Byte=1M MByteByte,,简计为1 1M MB B或或1 1M M;; 2 23030Byte=1024Byte=1024M MByte=1Byte=1G GByteByte,,简计为1 1G GB B或或1 1G G;; 2 24040Byte=1024Byte=1024G GByte=1Byte=1T TByteByte,,简计为1 1T TB B或或1 1T T;; 例如例如: 01001101 CPU执行访问内存的指令时,按指定的单元地址对相应存储单元进行“读、写”操作。
一个字节数据空间称为一个存储单元,其中每一位称为1Bit 微机的存储器是由许多存储单元集合而成,每一个存储单元唯一的对应一个单元地址,也称为存储器的物理地址,微机中的地址一般都用十六进制数表示,如30H1.1.7 1.1.7 微型计算机系统的主要性能指标微型计算机系统的主要性能指标 3、指令系统:寻址方式的种类和可执行指令的条数指令系统:寻址方式的种类和可执行指令的条数4、运算速度、运算速度 :指令平均执行速度;特定指令执行速度;:指令平均执行速度;特定指令执行速度; 主频即每条主频即每条指令占用时钟周期数指令占用时钟周期数5、允许配置的外设数量、允许配置的外设数量 6、系统软件的配置、系统软件的配置1.1.8 基本工作过程基本工作过程 根据冯·诺依曼原理构成的现代计算机的工作原理可概括为: 存储程序和程序控制存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据, 通过一定的方式输入并存储在计算机的存储器中程序控制是指计算机能自动地逐一取出程序中的一条条指令, 加以分析并执行规定的操作。
来看Z=X+Y的执行过程 假定我们有一个虚拟机SAM, 主存储器由4K16位的字组成, CPU 中有一个可被程序员使用的16位累加器A SAM指令格式为 操作码操作码地址码地址码SAM中有如下指令: 假设X和Y均已存放在存储单元中注意, X是个变量名, 可以是某个存储单元的地址,该单元中存放的是X的值 (1) 从地址为X的单元中取出X的值送到累加器中 (2) 把累加器中的X与地址为Y 的单元的内容相加, 结果存放在累加器中 (3) 把累加器中的内容送到地址为Z的单元中 相应的SAM指令是: LOAD X ADD Y STORE Z 表 1.5 计算Z=X+Y的程序 指令被取出后送入指令寄存器 IR(Instrction Register), 由控制器中的译码器对指令进行分析, 识别不同的指令类别及各种获得操作数的方法以加法指令ADD Y为例, 译码器分析后得到如下结果: (1) 这是一个加法指令; (2) 一个操作数存放在Y(地址为A01H)中, 另一操作数隐含在累加器 A中。
接着, 操作进入指令执行阶段仍以 ADD Y 为例, 将Y 与A中内容送入 ALU, 进行加法运算, 结果送入A 1.设微机字长为设微机字长为8位,求位,求2.①①73和和-65的定点表示形式;的定点表示形式;3.②②48.37和和-0.0385的浮点表示形式(设阶码,尾数各占的浮点表示形式(设阶码,尾数各占4位)位)2. 求求8421BCD码的运算码的运算①① 98+74 ②② 70-583. 求下列各数的补码及补码运算求下列各数的补码及补码运算((1))X=+85 ((2))X=-85((3)) 85+63 ((4))28-60作业作业。






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





