




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机原理及接口技术第一章微型计算机概论1.第一台电子计算机
1946年2月,美国宾夕法尼亚大学诞生了世界上第一台电子数字计算机:“埃尼阿克”(ENIAC,即ElectronicNumericalIntegratorandCalculator,电子数字积分计算机)。重量30吨,占地170平方米,每小时耗电150千瓦,价值约40万美元。采用18000只电子管,70000个电阻,10000支电容,研制时间近三年,运算速度为每秒5000次加减法运算。
ENIAC的不足:运算速度慢、存储容量小、全部指令没有存放在存储器中、机器操作复杂、稳定性差。1.1微型计算机概述1.1.1计算机的发展2.冯·诺依曼结构计算机
1946年6月,美籍匈牙利科学家冯·诺依曼(JoheVonNeumman)提出了“存储程序”的计算机设计方案。其特点是:采用二进制数形式表示数据和计算机指令。指令和数据存储在计算机内部存储器中,能自动依次执行指令。由控制器、运算器、存储器、输入设备、输出设备5大部分组成计算机硬件。
工作原理的核心是“存储程序”和“程序控制”。按照这一原理设计的计算机称为冯·诺依曼型计算机。冯·诺依曼提出的体系结构奠定了现代计算机结构理论的基础,被誉为计算机发展史上的里程碑。冯·诺依曼计算机结构运算器存储器控制器输出设备输入设备原始数据和指令计算结果计算机的基本结构框图冯·诺依曼计算机结构数据和程序以二进制代码形式不加区别地存放在存储器中,存放位置由地址指定,地址码也为二进制。由运算器、控制器、存储器、输入设备和输出设备五部分组成。控制器是根据存放在存储器中的指令序列即程序来工作的,并由一个程序计数器(即指令地址计数器)控制指令的执行。控制器具有判断能力,能根据指令,选择不同的动作流程。微处理器包括运算器和控制器。以其为核心,通过地址(AB)、数据(DB)、控制(CB)三总线连接存储器、输入/输出接口,进而输入设备和输出设备。1.1.2微型计算机的分类及主要性能指标1.微型计算机的分类
(1)按照CPU的字长来分类有4位、8位、16位、32位、64位微型计算机等。(2)按照微处理器器件的工艺来分类可分成MOS工艺、双极型TTL工艺的微处理器。(3)按照微型计算机的利用形态来分类有单片机、单板机、位片机、微机系统等。(4)按计算机的用途分类个人计算机:面向个人或家庭使用的低档微型计算机。工作站:介于PC机和小型机之间的高档微型机。小型计算机:结构简单、成本较低、易维护和使用。其规模和设置可以满足一个中小型部门的工作需要。主机:具有大容量存储器,多种类型的I/O通道,能同时支持批处理和分时处理等多种工作方式。其规模和配置可以满足一个大中型部门的工作需要。小巨型计算机:也称为桌上型超级计算机。最大的特点是价格便宜,并且具有较好的性能价格比。巨型计算机:也称为超级计算机。具有极高的性能和极大的规模,价格昂贵,多用于尖端科技领域。2.微型计算机的性能指标介绍
位:这是计算机中所表示的最基本、最小的数据单元。字长:是计算机在交换、加工和存放信息时的最基本的长度。字节(Byte):是计算机中通用的基本单元,由8个二进制位组成。字:是计算机内部进行数据处理的基本单位。主频:也称时钟频率,是指计算机中时钟脉冲发生器所产生的频率。访存空间:是该微处理器构成的系统所能访问的存储单元数。指令数:构成微型计算机的操作命令数。基本指令执行时间:计算机执行程序所花的时间。可靠性:指计算机在规定时间和条件下正常工作不发生故障的概率。兼容性:指计算机硬件设备和软件程序可用于其他多种系统的性能。性能价格比:是衡量计算机产品优劣的综合性指标。微机系统的主要性能指标字长计算机内部一次可处理的二进制数的位数。取决于微处理器内部通用寄存器的位数和数据总线的宽度。字长越长,则表示的数据精度越高,完成相同精度的数据运算速度越快。运算速度常用平均运算速度MIPS(MillionsofInstructionPerSecond)和CPU的主频表示。主频:微处理器运行的时钟频率。外频:微处理器外部总线的频率。早期微处理器的主频与外部总线的频率相同,从80486DX2开始,主频=外部总线频率
倍频系数。微机系统的主要性能指标存储器容量:内存和外存,通常以字节为单位。内存:微处理器的寻址空间和实际配置的存储器容量(内存条容量)。外存:硬盘容量。1K=210=1024;1M=220=1024K;1G=230=1024M;1T=240=1024G外设扩展能力计算机系统配接各种外部设备的可能性、灵活性和适应性。1.1.3微型计算机的发展1.按逻辑部件化分的计算机发展阶段按电子部件的演变经历了四代:(1)第一代(1946年-1958年):电子管计算机特点:体积大、耗电多、运算速度慢,存储容量小。(2)第二代(1959年-1964年):晶体管计算机
特点:体积减小,重量轻、省电、寿命长、可靠性提高,运算速度可达每秒百万次。(3)第三代(1965年-1970年):中小规模集成电路计算机特点:存储容量1-4兆字节。运算速度每秒几百万至千万次,可靠性有较大提高,体积进一步缩小,成本进一步降低,出现了向大型化和小型化发展的趋势。(4)第四代(1971年-):大规模和超大规模集成电路计算机大规模集成电路使计算机发生了巨大的变化,半导体存储器的集成度越来越高。Intel公司推出了微处理器,诞生了微型计算机,使计算机的存储容量、运算速度、可靠性、性能价格比等方面都比上一代计算机有较大突破。(1)超、大、中、小型计算机阶段(1946年-1980年)采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理。(2)微型计算机阶段(1981年-1990年)微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。(3)计算机网络阶段(1991年至今)计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。2.按计算机应用划分的计算机发展阶段3.按微处理器的产生和发展按照计算机CPU、字长和功能划分,经历了5代的演变:第一代(1971年~1973年):4位和8位低档微处理器;第二代(1974年~1978年):8位中高档微处理器;第三代(1978年~1980年):16位微处理器;第四代(1981年~1992年):32位微处理器;第五代(1993年以后):全新高性能奔腾系列微处理器。
将传统计算机的运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器(Microprocessor)。微型计算机是以微处理器为核心,再配上存储器、接口电路等芯片构成的。微处理器的发展一阶段1971年Intel40044位2300108KHz每秒6万次1972年Intel80088位3500基本指令周期为20~50μs第二阶段1974年Intel80808位60002MHzMC68008位68001976年Z808位100002.5MHz三阶段1978年Intel808616位290005MHz/基本指令周期0.5μs1982年Intel8028616位13.4万基本指令周期0.2μs四阶段1985年10月8038632位27.5万16-33MHz/3-4MIPS1989年4月8048632位120万33-120MHz/41-54MIPS五阶段1993.3.22Pentium32位310万75-133MHz0.6μm1995.11.8Pentiumpro32位550万200MHz/400MIPS第六阶段1997年PentiumⅡ32位700万266MHz/400MIPS1999.2.26PentiumⅢ32位2800万450MHz1999.2.24AMD-K6-Ⅲ32位2130万450MHz0.25μm七阶段2000.11.24Pentium432位4200万1.4GHz0.18μmCPU性能每18个月增加一倍
晶体管数目每两年增加一倍后面是什么???Itanium733/800MHzIA-64架构McKinleyIA-64架构MadisonIA-64架构DeerfieldIA-64架构PentiumⅡPentiumMMXPentiumPro80486DX280386DX802868086摩尔定律
晶体管数目每两年增加一倍摩尔定律CPU性能每18个月增加一倍朝着微型计算机和巨型计算机两级方向发展。当前开发和研究的热点是多媒体计算机。未来计算机发展的总趋势是智能化计算机。今后计算机应用的主流是计算机与通信相结合的网络技术。非冯·诺依曼型体系结构的计算机是提高现代计算机性能的另一个研究焦点。
4.未来计算机的发展趋势神经网络计算机:建立在人工神经网络研究的基础上,从内部基本结构来模拟人脑的神经系统。用简单的数据处理单元模拟人脑的神经元,并利用神经元节点的分布式存储和相互关联来模拟人脑的活动。生物计算机:使用由生物工程技术产生的蛋白分子为材料的“生物芯片”,不仅具有巨大的存储能力,而且能以波的形式传播信息。由于它具备生物体的某些机能,所以更易于模拟人脑的机制。光子计算机:用光子代替电子,用光互连代替导线互连,用光硬件代替电子硬件,用光运算代替电子运算。5.新型计算机1.2计算机的基本结构1.2.1计算机的基本结构各部分的主要功能:(1)输入设备:用于输入原始信息和处理信息的程序。如键盘、鼠标器和扫描仪等。(2)输出设备:用来输出计算机的处理结果及程序清单。如显示器和打印机。(3)存储器:用来存放程序和数据。在控制器的控制下,可与输入设备、输出设备、运算器、控制器交换信息,是计算机中各种信息存储和交流的中心。(4)运算器:用来对信息及数据进行处理和计算。也称为算术逻辑部件ALU(ArithmeticandLogicUnit)。(5)控制器:是整个计算机的指挥中心,用来指挥计算机各部件的操作,使其协调一致地工作。
计算机中的两类信息:一类是采用双线表示的数据信息流,它包括原始数据、中间结果、计算结果和程序中的指令;另一类是采用单线表示的控制信息流,它是控制器发出的各种操作命令。1.2.2计算机的工作原理
1.存储程序原理把事先编制好的由计算机指令组成的程序存放到存储器内,计算机在运算时依次取出指令,根据指令的功能进行相应的运算,这就是存储程序原理。2.程序的自动执行程序在执行前先装入内存储器,CPU负责从内存中逐条取出指令,分析识别指令,最后执行指令,从而完成一条指令的执行周期。
程序的执行流程:取指令—
分析指令—
执行指令。
1.2.3微型计算机系统的组成
微型计算机系统由硬件系统和软件系统两大部分组成:硬件微计算机外围设备微处理器内存储器I/O接口电路系统总线外部设备过程I/O通道1.微型计算机系统的一般结构软件系统软件程序设计语言应用软件:软件包,数据库机器语言汇编语言高级语言监控程序操作系统编辑程序解释程序编译程序诊断程序硬件系统是由电子部件和机电装置所组成的计算机实体。
硬件的基本功能是接受计算机程序,并在程序的控制下完成数据输入、数据处理和输出结果等任务。软件系统是指为计算机运行工作服务的全部技术资料和各种程序。
软件系统基本功能保证计算机硬件的功能得以充分发挥,并为用户提供一个宽松的工作环境。计算机的硬件和软件二者缺一不可,否则不能正常工作。微处理器CPU存储器RAM接口电路时钟外存I/O设备接口电路存储器ROM数据总线(双向)地址总线(单向)控制总线1.2.4微型计算机的硬件结构
微型计算机(MicroComputer)是计算机的微型化,简称微机,它由CPU、存储器、输入接口和输出接口以及总线组成。该层次就是已安装了CPU和内存条的主板。微型计算机的硬件结构如图所示1.中央处理单元中央处理单元CPU(ControlProcessingUnit)是微型计算机的核心部件,是包含有运算器、控制器、寄存器组以及总线接口等部件的一块大规模集成电路芯片,俗称微处理器。各组成模块及其功能:
微处理器(Microprocessor)简称µP或MP,或MPU(MicroprocessingUnit)。MPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(ArithmeticLogicUnit)、控制部件CU(ControlUnit)和寄存器组R(Registers)三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。又称为“中央处理单元”(CentralProcessorUnit),简称CPU。
微处理器是微型计算机的核心,它的性能决定了整个微型机的各项关键指标。按读写方式可分为两种,一种是随机存取存储器RAM(RandomAccessMemory),RAM又分为静态存储器SRAM和动态存储器DRAM,在PC机中,前者用作高速缓存,后者用作内存条,可随时将信息写入RAM,也可随时从RAM中读出信息。另一种是只读存储器ROM(ReadOnlyMemory),CPU只能从ROM中读出预先写入的信息。存储器均按字节编址。2.存储器(用于存放程序与数据的半导体器件)数据总线DB(DataBus):用于CPU与主存储器、CPU与I/O接口之间传送数据。地址总线AB(AddressBus):用于CPU访问主存储器和外部设备时,传送相关的地址。控制总线CB(ControlBus):用于传送CPU对主存储器和外部设备的控制信号。3.系统总线
总线(BUS)包括地址总线、数据总线和控制总线三种。所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能部件分时共享,总线上能同时传送二进制信息的位数称为总线的宽度。
CPU通过三种总线连接存储器和I/O接口,构成了微型计算机。
(1)地址总线AB(AddressBus)微处理器数据总线宽度地址总线宽度最大存储器容量808616201MB80888201MB8018616201MB80286162416MB80386SX162416MB80386DX32324GB8048632324GBPentium64324GBPentiumPro643664GBPentiumⅡ643664GBPentiumⅢ643664GBPentiumⅣ643664GB(2)数据总线DB(DataBus)
数据总线是CPU和存储器、CPU和I/O接口之间传送信息的数据通路,数据总线传输的方向为双向传输。数据总线的宽度越宽,CPU传输数据信息的速度越快,8086CPU数据总线为16位,PentiumPro的数据总线64位,见表1-1,分别表示CPU一次可与存储器或I/O接口传送16位和64位二进制信息。(3)控制总线CB(ControlBus)CPU的控制总线按照传输方向分为两种,一种是由CPU发出的控制信号,用以对其他部件的读控制、写控制等,另一种则是其他部件发向CPU的,反过来实现对CPU的控制,在两种方向的控制信号中前者多于后者。5.主机板主机板也称为系统主板或简称主板。主机板上有CPU芯片、内存槽、扩展槽、各种跳线和一些辅助电路。6.外存储器分为软磁盘、硬磁盘、光盘存储器。磁盘存储器由磁盘、磁盘驱动器和驱动器接口电路组成,统称为磁盘机。光盘存储器是由光盘、光盘驱动器和接口电路组成。7.输入/输入设备计算机最常用的输入设备是键盘和鼠标。计算机最常用的输出设备是显示器和打印机。4.输入输出接口电路输入/输出接口电路也称为I/O(Input/Output)电路,即通常所说的适配器、适配卡或接口卡。它是微型计算机外部设备交换信息的桥梁。1.2.5微型计算机的软件系统
计算机软件是指支持计算机运行的各种程序,以及开发、使用和维护这些程序的各种技术资料的总称。软件系统由系统软件和应用软件组成,它们形成层次关系。处在内层的软件要向外层软件提供服务,外层软件必须在内层软件支持下才能运行。系统软件的主要功能是简化计算机操作,充分发挥硬件功能,支持应用软件的运行并提供服务。应用软件处于软件系统的最外层,直接面向用户,为用户服务。应用软件是为了解决各类应用问题而编写的程序,包括用户编写的特定程序,以及商品化的应用软件和套装软件。计算机语言也称为程序设计语言,是人机交流信息的一种特定语言。在编写程序时用指定的符号来表达语义。1.3微型计算机的基础知识
1.3.1基本概念在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。表示一个机器数,应考虑以下三个因素:
1.机器数的范围字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0-255。字长为16位,无符号整数的最大值是(1111111111111111)B=(FFFF)H=(65535)D,此时机器数的范围是0-65535。2.机器数的符号在算术运算中,数据是有正有负的,将这类数据称为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。3.机器数中小数点的位置在机器中,小数点的位置通常有两种约定:一种规定小数点的位置固定不变,这时的机器数称为“定点数”。另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。
在计算机中,约定数据小数点的位置固定在某一位,原理上讲,小数点的位置固定在哪一位都行,但是,通常有两种定点格式,一是将小数点固定在数的最左边(即纯小数),二是固定在数的最右边(即纯整数)。
(1)定点数的表示法
例如,用宽度为n+1位的字来表示定点数X,其中X0表示数的符号,例如1代表负数,0代表正数,其余位代表它的数位,对于任意定点数X=X0X1X2……Xn,在定点计算机中可表示为:
①如果X为纯小数,小数点固定在X0与X1之间,数X的表示范围为:
0≤|X|≤1-2-n
②如果X为纯整数,小数点固定在Xn的右边,数X的表示范围为:
0≤|X|≤2n-1(2)浮点数的表示法(1)
任意一个十进制数N可以写成
N=10E×M(1-3)
任意一个二进制数N可以写成
N=2e×m(1-4)例如,N=101.1101=20011×0.1011101同样,在计算机中一个任意进制数N可以写成:
N=Re×M
其中,m为浮点数的尾数,是一个纯小数,e是比例因子的指数,称为浮点数的指数,是一个纯整数,比例因子的基数R是一个常数,一般R取值为2,也有取值为8、16两种情况。(2)浮点数的表示法(2)
在计算机中存放一个完整的浮点数,应该包括阶码、阶符、尾数以及尾数的符号(数符)共4部分,即:ESE1E2……EmMSM1M2……Mn阶符阶码数符尾数
一般按照IEEE754标准,采用32位浮点数和64位浮点数两种标准格式。
32位浮点数标准格式如下:①32位浮点数标准格式
在32位浮点数中,约定基数R=2,S是尾数的符号位,即浮点数的符号位,它占一位,安排在最高位,0表示正数,1表示负数,尾数M占23位,放在低位部分,当然是纯小数。E是阶码,占8位。②64位浮点数格式
它与32位浮点数的组成原理相同,约定基数R=2,尾数符号位S占一位,置于最高位,规格化的尾数M占52位,最左边一位1已被隐藏。1.3.2原码、反码与补码1.机器数与真值
机器数:带符号的二进制数称之为机器数。二进制数最高位作为符号位:1表示负数,0表示正数例:取8位字长时:
10001111B则可以代表-15
00001111B则可以代表+15真值:机器数所能表示的值。
在微机中,机器数有三种表示方法,即原码、反码与补码2.原码表示法
若定点整数的原码形式为X0X1X2……Xn,则原码表示的定义是
X
2n>X≥0
[X]原=
2n-X=2n+∣X∣
0≥X>-2n(1-8)
X0为符号位,若n=7,即字长8位,则
①X取值范围:-127~+127②[+0]原=00000000③[-0]原=10000000原码
正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。【例】当机器字长为8位二进制数时:
X=+1011011[X]原码=01011011Y=-1011011[Y]原码=11011011[+1]原码=00000001[-1]原码=10000001[+127]原码=01111111[-127]原码=11111111
原码表示的整数范围是:-(2n-1-1)~+(2n-1-1),其中n为机器字长。则:8位二进制原码表示的整数范围是-127~+127;
16位二进制原码表示的整数范围是-32767~+32767。
采用原码表示法简单易懂,但它最大缺点是加法运算电路复杂,不容易实现。3.反码表示法
对于定点整数,反码表示的定义是:
X2n>X≥0[X]反=(2n+1-1)+X0≥X>-2n(1-9)
同样n取7,即字长8位,那么
①X取值范围:-127~+127②[+0]反=00000000③[-0]反=11111111反码
对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。【例】当机器字长为8位二进制数时:
X=+1011011[X]原码=01011011[X]反码=01011011Y=-1011011[Y]原码=11011011[Y]反码=10100100[+1]反码=00000001 [-1]反码=11111110[+127]反码=01111111 [-127]反码=10000000
负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相同。4.补码表示法
对于定点整数,补码表示的定义是:
X2n>X≥0[X]补=2n+1+X=2n+1-∣X∣0≥X≥-2n(1-10)
同样如果n取7,即字长8位,那么
①X取值范围:-128~+127②[+0]补=[-0]补=00000000③[-10000000]补=10000000
④[[X]补]补=X,对已知的一个补码通过再一次求其补,便可还原出真值补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例】(1)X=+1011011(2)Y=-1011011(1)根据定义有:[X]原码=01011011[X]补码=01011011(2)根据定义有:[Y]原码=11011011[Y]反码=10100100[Y]补码=10100101
补码表示的整数范围是-2n-1
~+(2n-1-1),其中n为机器字长。则:8位二进制补码表示的整数范围是-128~+12716位二进制补码表示的整数范围是-32768~+32767
当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。例若字长8位,X=126,Y=-126,求[X]原,
[X]反,[X]补和[Y]原,[Y]反,[Y]补。解:[X]原=[X]反=[X]补=01111110[Y]原=11111110[Y]反=10000001[Y]补=100000105.补码的加减法运算及溢出的判断
(1)补码加法运算
规则:[X]补+[Y]补
=[X+Y]补
条件:X、Y以及X+Y在定义域内
特点:符号位参与运算;以2n+1为模进行加法,最高位相加产生的进位自然丢掉。根据运算后结果的符号位,对结果求补,即[[X+Y]补]补=X+Y,便可还原出真值。在下面所有例子的运算过程中,假定字长均是8位。例X=+00001111,Y=+01000000,求X+Y。解:[X]补=00001111[Y]补=0100000000001111+0100000001001111=[X+Y]补=X+Y,结果正确。例X=-00001111,Y=01000000,求X+Y解:[X]补=11110001[Y]补=0100000011110001+01000000100110001=[X+Y]补=X+Y,结果正确。(2)溢出的判断若参与操作的两数在定义域内,但运算结果超出了字长范围内补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。例如字长8位,补码表示数的范围是:
-128≤x≤+127,若字长n位,补码所能表示数的范围是-2n-1≤x≤2n-1-1,当运算结果超出这个范围时,便产生溢出,两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。
例计算64+65D7D601000000+64+01000001+6510000001+129>+127,结果错误,产生了溢出
两个正数相加,结果为负数形式,这是由于+129>+127的原因,从上式可看出D7=1,D6=0,OF=D7⊕D6=1⊕0=1,溢出标志OF=1,表示有溢出。
例计算-128-1D7D6[-128]补
=10000000+[-1]补
=11111111101111111
两个负数相加,结果为正数形式,这是由于-128-1=-129<-128的原因,从上式可看出D7=0,D6=1,OF=D7⊕D6=0⊕1=1,表示有溢出。
例计算64-1D7D6[+64]补=01000000+[-1]补=11111111100111111
运算结果正确。D7=0,D6=0,则OF=D7⊕D6=0⊕0=0,无溢出。6.补码与真值之间的转换
正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得到该负数补码对应的真值的绝对值。【例】[X]补码=01011001B,[X]补码=11011001B,分别求其真值X。(1)[X]补码代表的数是正数,其真值:
X=+1011001B=+(1×26+1×24+1×23+1×20)=+(64+16+8+1)=+(89)D(2)[X]补码代表的数是负数,则真值:
X=-([1011001]求反+1)B=-(0100110+1)B
=-(0100111)B=-(1×25+1×22+1×21+1×20)=-(32+4+2+1)=-(39)D1.3.2、微机中常用的数字代码与字符代码1.数字代码(1)数字代码的表示
BCD码是一种常用的数字代码,它的编码方法是每个十进制数用4位二进制数表示,从而实现了用二进制数。表示十进制数。在计算机中,最常用的BCD码是8421码,称为标准BCD码,每个BCD码每位上对应的权值与二进制权值相同,十进制数0~9的BCD码则为0000、0001……1001。
二—十进制编码——BCD码
BCD(Binary-CodedDecimal)码又称为“二—十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。1.压缩BCD码每一位数采用4位二进制数来表示,即一个字节表示2位十进制数。例如:二进制数10001001B,采用压缩BCD码表示为十进制数89D。2.非压缩BCD码每一位数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示0~9,高4位为0。例如:十进制数89D,采用非压缩BCD码表示为二进制数是:
0000100000001001B(2)标准BCD码的加法
由于计算机中的基本运算电路只能作二进制加法运算,如果利用它实现BCD码相加,必须要找出将二进制加法运算电路适应标准BCD码相加的规则,然后遵循该规则设计出BCD码相加的运算电路例
01000101+0101010010011001结果正确例
01000101+0101010110011010结果不正确
+110
个位加6修正
10100000结果还不正确
+110
十位加6修正
100000000结果正确BCD码加法的规则:
两个BCD数对应的BCD码位用二进制加法相加,若产生的和小于10则保持不变,结果正确;如果产生的和≥10,则在和数上作加6修正两个BCD数对应的BCD码位用二进制加法相加后,如果向高位BCD码产生了进位,说明逢十六进一,丢掉了6,所以也要作加6修正。加6修正的原因是:运算电路只能逢十六进一,不能逢十进一(3)标准BCD码的减法
BCD码减法规则:两个BCD数对应的BCD码位用二进制相减,不发生借位则结果正确两个BCD数对应的BCD码位用二进制相减,若低位向高位发生了借位,表示借16,而不是借10,在低位上要作减6修正2.字符代码
微机中常用的是ASCⅡ码(美国信息交换标准代码),如表1-2所示。它包括10个十进制数码,26个英文字母和一些专用符号,总共128个字符的ASCⅡ码,因此,只需要一个字节中的低7位编码,最高位可用作奇偶校验位,当最高位恒取1,称为标记校验,当最高位恒取0,称作空格校验。ASCⅡ(AmericanStandardCodeforInformationInterchange)码是美国信息交换标准代码的简称,用于给西文字符编码;包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符;在ASCII码中,按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号
低位LSB高位MSB00001001201030114100510161107111012345000000010010001101000101NULSOHSTXETXEOTENQDLEDC1DC2DC3DC4NAKSP!″#$%012345@ABCDEPQRSTU、abcdepqrstu6789A01100111100010011010ACKBELBSHTLFSYNETBCANEMSUB&,()*6789
:FGHIJVWXYZfghijvwxyzBCDEF10111100110111101111VTFFCRSOSIESCFSGSRSUS+′-·/;<=>?KLMNO[\]↑←klmno{|}~DELNUL空HT横向列表(穿孔卡片指信令)FF走纸控制DC4设备控制4SOH标题开始LF换行CR回车NAK否定应答STX正文结束SYN空转同步SO移位输出FS文字分隔符ETX本文结束ETB信息组传送结束SI移位输入GS组分隔符EOT传输结果CAN删去符SP空格RE记录分隔符ENQ询问EM纸尽DLE数据链换码US单元分隔符ACK承认SUB减DC1设备控制1DEL作废VEL报警符ESC换码DC2设备控制2BS退一格VT垂直制表DC3设备控制3
128个ASCⅡ字符中有95个编码,它们分别对应计算机中在输入/输出终端设备上能键入和输出显示以及输出打印的95个字符,包括大小写英文字母,其余33个编码,其编码值为0∼31和127,则不对应任何显示与打印实际字符,它们被用作为控制码,控制计算机I/O设备的操作以及计算机软件的执行情况。
通常,计算机中的数据分为两类:(1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。(2)码:通常指代码或编码,在计算机中用来描述某种信息。
1.数制的基本概念
(1)数的表示
任何一种数制表示的数都可以写成按位权展开的多项式之和。
N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m
式中:n——整数的总位数。
m——小数的总位数。
d下标——表示该位的数码。
b——表示进位制的基数。
b上标——表示该位的位权。1.3.3
计算机中的数制及其转换(2)计算机中常用的进位计数制计数制基数数码进位关系二进制20、1逢二进一八进制80、1、2、3、4、5、6、7逢八进一十进制100、1、2、3、4、5、6、7、8、9逢十进一十六进制160、1、2、3、4、5、6、7、8、9A、B、C、D、E、F逢十六进一(3)计数制的书写规则①在数字后面加写相应的英文字母作为标识。如:二进制数的100可写成100B
十六进制数100可写成100H②在括号外面加数字下标。如:(1011)2
表示二进制数的1011
(2DF2)16
表示十六进制数的2DF22.数制之间的转换
1.十进制整数转换为二进制整数采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。
2.十进制小数转化为二进制小数连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。
3.十进制整数转换为八进制整数或十六进制整数采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。
4.十进制小数转换为八进制小数或十六进制小数连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。5.二、八、十六进制数转换为十进制数用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。
6.二进制数转换为八进制数从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。
7.八进制数转换为二进制数将每位八进制数用3位二进制数表示即可。
8.二进制数转换为十六进制数从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。
9.十六进制数转换为二进制数将每位十六进制数用4位二进制数表示即可。
【例】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:2︳105
2︳52
余数为12︳26
余数为02︳13
余数为02︳6
余数为12︳3
余数为02︳1
余数为10 余数为1
所以,(105)10=(1101001)2【例】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.8125×2=1.625取整数位10.625×2=1.25取整数位10.25×2=0.5取整数位00.5×2=1.0取整数位1
所以,(0.8125)10=(0.1101)2如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。2.1微处理器主要性能指标主频:即微处理器时钟频率。如Pentium42GHz同系列的微处理器,主频越高,速度越快。但主频相同的微处理器,速度不一定都相同,因结构有差异外频:微处理器外部总线工作频率。如Pentium42GHz的外频为400MHz地址线宽度:决定访存空间。如36位地址线访问236=64GB存储单元数据线宽度:决定微处理器与外部存储器、输入/输出部件之间一次交换的二进制数据位数。如8、16、32、64位。微处理器主要性能指标内置协处理器:加快数值运算超标量结构:一个时钟周期内执行一条以上的指令。低标量结构:一条指令至少需要一个以上的时钟周期工作电压:微处理器正常工作所需要的电压,早期为5V,后来有3.3V,2.8V,1.5V等。制造工艺:晶体管之间的最小线距,0.35m,0.25m,0.18m,0.13m等微处理器微处理器类型(Intel)4004:4位8085/8088:8位8086、80286:16位80386、80486、80586:32位Pentium、PentiumPRO、PentiumII、PentiumIII、Pentium4:32/64位2.28086/8088微处理器INTEL78年推出(79年推出8088)4万多个晶体管(8088为2.9万个晶体管)时钟频率4.77MHZ数据线16位(8088的数据线8位)地址线20位40脚DIP封装81年推出PersonalComputer(个人计算机、微机)组成:算术逻辑部件、控制器、寄存器阵列、总线及总线缓冲器。算术逻辑部件ALU:用硬件实现算术运算、移位、布尔运算等基本运算功能。控制器:逐一取出指令、分析指令、执行指令。
指令部件:程序计数、指令寄存、指令译码;时序部件:产生操作序列的定时信号;微操作控制部件:根据指令产生控制信号。2.2.1有关微处理器的一些概念
一、微处理器的基本结构总线及总线缓冲器按照总线所连接的对象,有4级总线:片内总线:连接CPU内的各个电路部分。片间总线:指主板上各芯片之间的总线,用于连接CPU与主板上的其他芯片。按总线中各信号线功能的不同,又分为地址总线、数据总线和控制总线,即所谓的三总线。(系统)内总线:指主板与I/O扩展板之间的总线,一般都遵循一定的标准,如目前多采用的ISA标准、EISA标准和PCI标准等。外总线:指微机与其他设备、系统之间的总线,一般也遵循一定的标准,习惯上又称为接口,如串行接口、并行接口、USB接口等。总线缓冲器:如地址锁存器、数据缓冲器、总线收/发器等。运算器寄存器控制器CPU存储芯片I/O芯片主板扩展接口板扩展接口板微机系统④①②③其他微机系统其他仪器系统
微机系统的四级总线示意图寄存器阵列——用于存放临时数据和地址。数目多少不定,因处理器而异。累加器:数据运算的场所。其长度即微机的字长。通用数据寄存器:存放运算数据或结果;存放数据的地址指针。堆栈指针:专门指示堆栈的栈顶,辅助完成堆栈操作。程序计数器(指令指针):指向将要执行的下一条指令,实现顺序执行。指令寄存器:即指令队列,暂存预取指令的代码,直至完成译码。标志寄存器:记录当前执行结果的各种状态。2.2.28086CPU功能结构图EU控制器ALU暂存器标志寄存器8位队列总线总线控制逻辑内部总线16位地址加法器20位地址总线16位数据总线执行部件EU总线接口部件BIU123456指令队列通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES80888086IP暂存器8086总线1.执行部件EU
执行部件中包含一个16位的算术逻辑单元(ALU),8个16位的通用寄存器,一个16位的状态标志寄存器,一个数据暂存寄存器和执行部件的控制电路。功能:从BIU的指令队列中取出指令代码,经指令译码器译码后执行指令所规定的全部功能。执行指令所得结果或执行指令所需的数据,都由EU向BIU发出命令,对存储器或I/O接口进行读/写操作。2.总线接口部件BIU
总线接口部件BIU内部设有四个16位段地址寄存器:代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES,一个16位指令指针寄存器IP,一个6字节指令队列缓冲器,20位地址加法器和总线控制电路。主要功能:根据执行部件EU的请求,负责完成CPU与存储器或I/O设备之间的数据传送。一、8086执行部件EU组成:算术逻辑部件、控制器、寄存器阵列、总线及总线缓冲器。算术逻辑单元ALU(ArithmeticandLogicUnit)进行所有的算术和逻辑运算计算寻址单元的十六位偏移地址EA(EffectAddress)EU控制器接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现EU各个部件完成规定动作的控制。标志寄存器F通用寄存器
标志寄存器标志(Flag)用于反映指令执行结果或控制指令执行形式。8086处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0
程序设计需要利用标志的状态标志寄存器Flags唯一能按位操作的寄存器只定义了其中9位,另外7位未定义(保留)6位状态标志:OF、SF、ZF、PF、CF、AF3位控制标志:DF、IF、TFOFDFIFTFSFZFAFPFCFD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0状态标志反映指令对数据作用之后,结果的状态(不是结果本身)。这些状态将控制后续指令的执行OF(OverflowFlag):溢出标志(指补码),F.11OF=1:在运算过程中,如操作数超过了机器表示的范围称为溢出。OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为不溢出。求解方法:最高位进位
次高位进位字节允许范围:-128—+127字允许范围:-32768—+32767状态标志CF(CarryFlag):进位/借位标志,F.0CF=1:最高位需要向前产生进位/借位。CF=0:最高位不会向前产生进位/借位。AF(AuxiliaryCarryFlag):辅助进位标志,F.4AF=1:数据的第3位(半个字节)需要向前产生进位/借位。AF=0:数据的第3位(半个字节)不会向前产生进位/借位。状态标志SF(SignFlag):符号标志,F.7SF=1:运算结果的最高位为1,如果为带符号数,则为负数。SF=0:运算结果的最高位为0,如果为带符号数,则为正数。带符号数的最高位为符号位;而无符号数的最高位为数值位。ZF(ZeroFlag):全零标志,F.6ZF=1:运算结果为全0。不包括进位的情况ZF=0:运算结果不为0。状态标志PF(ParityFlag):奇偶标志PF=1:结果的低8位中有偶数个1。PF=0:结果的低8位中有奇数个1。有些运算操作将影响全部状态标志,如加法、减法运算有些操作影响部分状态标志,如移位操作有些指令的操作不影响任何状态标志,如数据传送指令10001101001101100011001000011001+0110011010101001运算结果最高位为1 ∴SF=1;例:2个数相加后,分析各标志位的值第三位向第四位有进位 ∴AF=1;次高位向最高位有进位,最高位向前没有进位,∴OF=1
0=1最高位没有进位 ∴CF=0;低8位中1的个数为偶数个 ∴PF=1;运算结果本身≠0 ∴ZF=0;10001101001101100011001000011001-0010110010001100运算结果最高位为0 ∴SF=0;例:2个数相减后,分析各标志位的值第三位向第四位没有借位 ∴AF=0;次高位向最高位没有借位,最高位向前没有借位,∴OF=0
0=0最高位没有借位 ∴CF=0;低8位中1的个数为奇数个 ∴PF=0;运算结果本身≠0 ∴ZF=0;控制标志控制标志位的值不由数据运算的结果决定,而由指令直接赋值控制标志决定后续指令的执行情况DF(DirectionFlag):方向控制标志位用于串处理指令,控制从前往后、还是从后往前对字符串进行操作处理DF=1,每次串处理操作后使变址寄存器SI和DI的值递减,使串处理从高地址向低地址方向处理。DF=0,每次串处理操作后使变址寄存器SI和DI的值递增,使串处理从低地址向高地址方向处理。控制标志IF(InteruptFlag):中断允许/禁止标志位IF=1,允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。IF=0,关闭中断。CPU禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断和内部软中断没有影响。TF(TrapFlag):跟踪(陷阱)标志位TF=1,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。TF=0,CPU正常工作,不产生陷阱。控制标志与状态标志的区别控制标志的值:由系统程序或用户程序根据需要用指令设置。状态信息:由中央处理器执行运算指令,并根据运算结果而自动设置。X86CPU也提供了直接设置状态标志之值的指令标志名标志为1标志为0OF溢出(是/否)OVNVDF方向(减量/加量)DNUPIF中断(允许/关闭)EIDISF符号(负/正)NGPLZF零(是/否)ZRNZAF辅助进位(是/否)ACNAPF奇偶标志(偶/奇)PEPOCF进位标志(是/否)CYNC调试状态时,标志位之值的符号表示AXBXCXDX8086的通用寄存器目的变址指针(DestinationIndex)DI源变址指针(SourceIndex)SI基址指针(BasePointer)BP堆栈指针(StackPointer)SP数据寄存器(Data)DLDHDX计数寄存器(Count)CLCHCX基址寄存器(Base)BLBHBX累加器(Accumulator)ALAHAX数据寄存器可分为两个8位,主要用于数据操作地址指针主要用于地址操作16位888086的16位通用寄存器是:AX BX CX DXSI DI BP SP其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器8086的8位通用寄存器是:AH BH CH DHAL BL CL DL对其中某8位的操作,并不影响另外对应8位的数据数据寄存器数据寄存器用来存放计算的结果和操作数,也可以存放地址每个寄存器又有它们各自的专用目的AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX--基址寄存器,常用做存放存储器地址;CX--计数器,作为循环和串操作等指令中的隐含计数器;DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。指针寄存器指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器,指示栈顶的偏移地址SP不能再用于其他目的,具有专用目的BP为基址指针寄存器,表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址变址寄存器变址寄存器常用于存储器寻址时提供地址SI是源变址寄存器DI是目的变址寄存器串操作类指令中,SI和DI具有特别的功能通用寄存器一般,通用寄存器可以用于任何指令的任意操作,可以相互替换16位的数据寄存器都可分成2个8位寄存器使用,是同一个物理介质。如果已用作一个16位的数据寄存器,则不能再用作1个或2个8位数据寄存器;反之亦然地址寄存器不能分解为8位使用除了通用目的之外,有些操作规定只能使用某个寄存器,即寄存器的特殊用法
通用寄存器通用寄存器分为数据寄存器与指针和变址寄存器两组。数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一般用来存放16位数据,故称为数据寄存器。其中的每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8位数据,它们均可独立寻址、独立使用。指针和变址寄存器包括指针寄存器SP、BP和变址寄存器SI、DI,都是16位寄存器,,一般用来存放地址的偏移量。这8个16位通用寄存器都具有通用性,从而提高了指令系统的灵活性。但在有些指令中,这些通用寄存器还各自有特定的用法,见下表。
通用寄存器的特殊用法(默认用法)寄存器特殊用法AX,AL乘法/除法指令,作累加器;I/O操作时,作数据寄存器AH在LAHF指令中用作目的寄存器((AH)←标志)AL在BCD码及ASCII码运算指令中作为累加器;在XLAT指令中作为累加器(AL)←((AL)+(BX))BX在间接寻址中作为基址寄存器和变址寄存器CX在循环程序中,作循环次数计数器CL在移位和循环移位指令中,作为移位位数和循环移位次数的计数寄存器(指令执行后,(CL)不变)DXI/O指令间接寻址时,作为地址寄存器;在乘法指令中作为辅助累加器(当乘积或被除数为32位时,存放高16位数)BP在间接寻址中,作为基址寄存器SP在堆栈操作中,作为堆栈指针SI间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为源变址寄存器DI在间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为目的变址寄存器8086CPU功能结构图8位队列总线总线控制逻辑内部总线16位地址加法器20位地址总线16位数据总线总线接口部件BIU123456指令队列CSDSSSESEU控制器ALU暂存器标志寄存器执行部件EU通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISI80888086IP暂存器8086总线二、8086总线接口部件BIU(BusInterfaceUnit)BIU负责与M、I/O
端口传送数据、地址。访问存储器时,需要生成20位的物理地址;要不断从内存中取指令并送到指令队列;CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,并将数据传送给执行部件;或把执行部件的操作结果传送给指定的M或I/O口。指令队列缓冲器8088为4字节,8086为6字节。为FIFO(先进先出)结构。指令队列至少保持有一条指令,且只要有一条指令,EU就开始执行;指令队列只要有空,BIU自动执行取指操作,直到填满为止;若EU要进行M/IO存取数据,BIU在执行完现行取指操作周期后进行。当执行转移指令时,EU要求BIU从新的地址中重新取指。队列中原有指令被清除。新取得的第一条指令直接送EU执行,随后取得的指令填入队列。BIU的段寄存器4个16位段寄存器CS、DS、SS、ES用来识别当前可寻址的四个段,每个段的功能各不相同CS:CodeSegmentRegister代码段寄存器,指示当前执行程序所在存储器的区域。DS:DataSegmentRegister数据段寄存器,指示当前程序所用之数据的存储器区域。SS:StackSegmentRegister堆栈段寄存器,指示当前程序所用之堆栈位于的存储器区域。ES:ExtraSegmentRegi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告传媒居间推广提成协议
- 医疗器械融资存款居间合同
- 2024灵石县第一职业高级中学工作人员招聘考试及答案
- 2024济南汶源工商管理学校工作人员招聘考试及答案
- 2024甘德县红格尔多吉民族职业高中工作人员招聘考试及答案
- 施工安全防范合同范本
- 工业机器人技术与应用试题库+参考答案
- 城市绿化工程项目施工合同
- 花卉静物美术课件
- 耐药菌感染病人的护理
- 2025年龙江森工集团权属林业局有限公司招聘笔试参考题库含答案解析
- 2025生猪购买合同范文
- 医疗器械经营质量管理制度及工作程序-完整版
- (二模)温州市2025届高三第二次适应性考试英语试卷(含答案)+听力音频+听力原文
- DeepSeek+AI组合精准赋能教师教学能力进阶实战 课件 (图片版)
- 行政事业单位固定资产培训
- 6.1.2化学反应与电能 课件 2024-2025学年高一下学期化学人教版(2019)必修第二册
- 建筑施工企业安全生产流程
- 外来植物入侵工程施工方案
- 2025届高考地理专项练习:农业区位因素及其变化(含答案)
- 初中生科学素养与科学探究能力的培养策略研究考核试卷
评论
0/150
提交评论