1、第1章 概 述第第1 1章章 基础知识基础知识 1 概述 2 微处理器 3 存储器 4 输入输出接口电路第1章 概 述1 概述一、基本结构:一、基本结构:外围设备外围设备接口接口 CPU内存内存 主机主机 图图1-1计算机结构计算机结构第1章 概 述微型计算机系统微型计算机系统运运算算器器控控制制器器CPU存存储储器器输输入入接接口口电电路路输输入入设设备备输输出出设设备备输输出出接接口口电电路路硬件系统硬件系统软软件件系系统统+第1章 概 述微处理器包含:微处理器包含:算术逻辑部件算术逻辑部件ALU(ArithmeticLogicUnit)。工作寄存器组工作寄存器组:存放操作数及运算的中间结
2、:存放操作数及运算的中间结果等。果等。控制部件控制部件:包括时钟电路和控制电路。:包括时钟电路和控制电路。2微处理器微处理器第1章 概 述1.运算器运算器由算术逻辑单元由算术逻辑单元ALU、累加器、累加器A、暂存寄存、暂存寄存器器TR、标志寄存器、标志寄存器F、二、二十进制十进制BCD码调整电路等码调整电路等部分组成。部分组成。第1章 概 述算术逻辑部件算术逻辑部件ALU(ArithmeticLogicUnit):是微机执是微机执行算术运算和逻辑运算的主要部件。它有行算术运算和逻辑运算的主要部件。它有两个输入端两个输入端:一个输入端与累加器一个输入端与累加器A(Accumulator)相连,另
3、一个输相连,另一个输人端与暂存寄存器人端与暂存寄存器TR(TemporaryRegister)相连。)相连。ALU的输出端与内部总线相连。的输出端与内部总线相连。第1章 概 述通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通 道 2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC驱动器DPTR指针VCCGNDP1.0P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCON TMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0P3.7RSTEAA
4、LEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器图1-14 MCS-51片内总体结构框图第1章 概 述 2、标志寄存器:、标志寄存器:标志寄存器标志寄存器F(Flag)又称状态寄存器又称状态寄存器,用来存放,用来存放ALU运算结果的一些特征,如溢出运算结果的一些特征,如溢出(OV)、进位、进位(C)、辅助、辅助进位进位(AC)、奇偶、奇偶(P)、结果为零、结果为零(Z)等。等。PSW:CACF0RS1RS0OVP第1章 概 述3、二、二十进制调整电路十进制调整电路 计算机在进行二计算机在进行二十进制数运算时,要对运算十进制数运算时,要对运算结果进行调整,这由二
5、结果进行调整,这由二十进制调整电路十进制调整电路(BCD调整电路调整电路)实现。实现。第1章 概 述 BCD码BCD码码(BinaryCodedDecimal)二二进进制制数数以以其其物物理理易易实实现现和和运运算算简简单单的的优优点点在在计计算算机机中中得得到到了了广广泛泛应应用用,但但人人们们日日常常习习惯惯最最熟熟悉悉的的还是十进制。还是十进制。为为了了既既满满足足人人们们的的习习惯惯,又又能能让让计计算算机机接接受受,便便引引入入了了BCD码码。它它用用二二进进制制数数码码按按照照不不同同规规律律编编码码来来表表示示十十进进制制数数,这这样样的的十十进进制制数数的的二二进进制制编编码码
6、,既既具具有有二二进进制制的的形形式式,又又具具有有十十进进制制的的特特点点,便便于于传传递递处理处理。第1章 概 述BCD码:用二进制数表示的十进制数称为码:用二进制数表示的十进制数称为二进制编码的十进制数。二进制编码的十进制数。非压缩非压缩BCD码:码:8位码表示位码表示1位十进制数位十进制数(高(高4位填位填0)的编码。)的编码。压缩的压缩的BCD码:码:8位码表示位码表示2位十进制数位十进制数(高(高4位、低位、低4位各代表一位十进制数)。位各代表一位十进制数)。非法码:非法码:4位代码在位代码在1010B1111B范围时。范围时。(2个个BCD码的运算可能出现非法码,这时码的运算可能
7、出现非法码,这时要对所得结果进行调整。)要对所得结果进行调整。)第1章 概 述1位位十十进进制制数数有有09共共10个个不不同同数数码码,需需要要由由4位位二二进进制制数数来来表表示示。4位位二二进进制制数数有有16种种组组合合,取其取其10种组合分别代表种组合分别代表10个十进制数码。个十进制数码。最最常常用用的的方方法法是是8421BCD码码,其其中中8、4、2、1分分别别为为4位位二二进进制制数数的的位位权权值值。表表12给给出出了了十进制数和十进制数和8421BCD码的对应关系。码的对应关系。第1章 概 述表表128421BCD码码第1章 概 述从从表表12中中可可看看出出8421BC
8、D码码与与十十进进制制数数关系直观关系直观,二二十间相互转换容易。十间相互转换容易。例如例如:将将78.43转换成相应的转换成相应的BCD码码,而将而将(01101001.00010101)BCD转换成十进制数。转换成十进制数。78.43(01111000.01000011)BCD(01101001.00010101)BCD69.15第1章 概 述BCD码运算及十进制调整码运算及十进制调整若若想想让让计计算算机机直直接接用用十十进进制制的的规规律律进进行行运运算算,则将数据用则将数据用BCD码来存储和运算即可。码来存储和运算即可。例例如如:4+3即即:(0100)BCD+(0011)BCD(0
9、111)BCD715+12即即:(00010101)BCD+(00010010)BCD(00100111)BCD27第1章 概 述但是但是,8421BCD码可表示数的范围为码可表示数的范围为00001111(即十进制的即十进制的015)十进制数可表示数的范围为十进制数可表示数的范围为00001001(即即09)所以在运算时,必须注意以下两点。所以在运算时,必须注意以下两点。第1章 概 述当当两两个个BCD数数相相加加结结果果大大于于1001(即即大大于于十十进进制制数数9)时时,为为使使其其符符合合十十进进制制运运算算和和进进位位规规律律,需需对对BCD码的二进制运算结果码的二进制运算结果加加
10、0110(加加6)调整调整。例例 如如:4+8=(0100)BCD+(1000)BCD(1100)BCD1001调调 整整 后后 其其 结结 果果 为为:(1100)BCD+(0110)BCD(00010010)BCD12。第1章 概 述当当两两个个BCD数数相相加加结结果果在在本本位位上上并并不不大大于于1001,但但有有低低位位进进位位发发生生,使使得得两两个个BCD数数与与进进位位一一起起相相加加,其其结结果果大大于于1001,这这时时也也要要作加作加0110(加加6)调整。调整。例如例如:用用BCD数完成数完成54+48的运算。的运算。解解:54(01010100)BCD,48(010
11、01000)BCD第1章 概 述01010100+)0100100010011100(低低4位大于位大于9)+)0110(低低4位加位加6调整调整)10100010(低低4位有进位位有进位)+)0110(高高4位加位加6调整调整)000100000010则则(000100000010)BCD102第1章 概 述lASCII码:美国标准信息交换码码:美国标准信息交换码字符字符09的的ASCII码:码:30H39H大写英文字母大写英文字母AZ的的ASCII码:码:41H5AH小写英文字母小写英文字母az的的ASCII码:码:61H7AH第1章 概 述存储器:存储器:由许多由许多存储单元组成,每存储
12、单元组成,每个方格表示一个存个方格表示一个存储单元。储单元。0000 00000011 1100 1010 00111110 0101 0000 0001 0000 0100 1111 1110 1111 11113存储器存储器第1章 概 述存储单元、单元位数、地址存储单元、单元位数、地址 地址线地址线:810121416容量容量:256102440961638465536 101102103104105106107108109110旅店旅店第1章 概 述存储单元地址的二进制位数存储单元地址的二进制位数N与存储容量与存储容量Q的关系的关系第1章 概 述第1章 概 述1、分类:、分类:内存储器:
13、内存储器:内存工作速度内存工作速度快快,可以,可以直接直接与与CPU交换交换数据、参与运算。但内存的数据、参与运算。但内存的容量有限容量有限。外存储器:外存储器:外存的外存的容量很大容量很大,且数量可随意增加,且数量可随意增加,从这个意义上说,外存储器的容量无限。但外存从这个意义上说,外存储器的容量无限。但外存的工作的工作速度低速度低,不能直接参与计算机的运算不能直接参与计算机的运算,一,一般情况下外存只与内存成批交换信息。外存储器般情况下外存只与内存成批交换信息。外存储器仅起到扩大计算机存储容量的作用。仅起到扩大计算机存储容量的作用。第1章 概 述按结构与使用功能:按结构与使用功能:内存储器
14、内存储器又可分为又可分为RAM(RandomAccessMemory)和和ROM(ReadOnlyMemory)两类。两类。随机存取存储器随机存取存储器RAM也叫读写存储器也叫读写存储器,RAM适宜存适宜存放原始数据、中间结果及最后的运算结果,因此又被放原始数据、中间结果及最后的运算结果,因此又被称作数据存储器。读写存储器有称作数据存储器。读写存储器有静态静态RAM和动态和动态RAM两种。两种。只读存储器只读存储器ROM(又称为程序存储器)适宜存放程(又称为程序存储器)适宜存放程序、常数、表格等。序、常数、表格等。第1章 概 述只读存储器有以下四类:只读存储器有以下四类:1)掩模掩模ROM:用
15、户只能读出内容而不能改写。用户只能读出内容而不能改写。2)可编程只读存储器可编程只读存储器PROM(ProgrammableROM)用户可将程序写入用户可将程序写入PROM,但程序,但程序一经写入就不一经写入就不能改写。能改写。第1章 概 述 3)可擦除可编程只读存储器可擦除可编程只读存储器EPROM(ErasablePROM)用户可将程序写入用户可将程序写入EPROM芯片。如果要改写程序,芯片。如果要改写程序,先用先用紫外灯紫外灯照射芯片,擦去原先的程序,然后写入新程照射芯片,擦去原先的程序,然后写入新程序。须用特定的序。须用特定的EPROM编程器写入信息。编程器写入信息。4)电擦除可编程只
16、读存储器电擦除可编程只读存储器EEPROM(E1ectricallyErasablePROM):采用采用电擦除方式电擦除方式,能在应用系统中可在线改写。能在应用系统中可在线改写。第1章 概 述存储器存储器第1章 概 述2、结构、结构由由存储体、地址寄存器、地址译码器、存储存储体、地址寄存器、地址译码器、存储器输入输出控制电路器输入输出控制电路等部分组成,图等部分组成,图116是存储器芯片的结构框图。是存储器芯片的结构框图。第1章 概 述第1章 概 述第1章 概 述A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 1 1 0 0 0 0 0 1 FC1H
17、A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 1 1 1 1 1 1 1 07FH第1章 概 述3、堆栈:、堆栈:堆栈是堆放货物的仓库,从地面起自下而上堆堆栈是堆放货物的仓库,从地面起自下而上堆放的货物总是放的货物总是“先进后出先进后出”的。单片微机中的的。单片微机中的堆栈堆栈是读写存储器是读写存储器RAM中的一个特殊的区域中的一个特殊的区域,是一组按,是一组按照照“先进后出先进后出”的方式工作的、用于暂存信息的的方式工作的、用于暂存信息的存存储单元。储单元。第1章 概 述堆栈的作用 第1章 概 述实用程序中,常有实用程序中,常有主程序与子程序
18、主程序与子程序两大部分。两大部分。为了保证在子程序执行完后能正确返回到调用为了保证在子程序执行完后能正确返回到调用处继续执行主程序。需要保留调用处的处继续执行主程序。需要保留调用处的断点地断点地址及现场信息。址及现场信息。第1章 概 述断点地址:断点地址:是调用子程序指令的按顺序排列的下一是调用子程序指令的按顺序排列的下一条指令的地址,也就是执行调用子程序指令条指令的地址,也就是执行调用子程序指令时的程序计数器时的程序计数器PC的内容。的内容。只有保留了断点地址,才能保证在子只有保留了断点地址,才能保证在子程序执行完后返回到主程序的断点处,继续程序执行完后返回到主程序的断点处,继续向下执行主程
19、序。向下执行主程序。第1章 概 述现场:现场:是调用子程序前保存在累加器是调用子程序前保存在累加器A、工作寄存器及、工作寄存器及标志寄存器标志寄存器F中的信息,这些信息是主程序执行的中的信息,这些信息是主程序执行的中中间结果间结果。如果在执行子程序的过程中要使用这些寄存器,如果在执行子程序的过程中要使用这些寄存器,将会破坏原来所存的内容。所以,程序转入子程序后,将会破坏原来所存的内容。所以,程序转入子程序后,首先要保存这些寄存器的内容,即保护现场。首先要保存这些寄存器的内容,即保护现场。第1章 概 述断点地址与现场信息是送入断点地址与现场信息是送入堆栈堆栈保存的。保存的。在返回主程序前,要把保
20、存在堆栈中的现场信在返回主程序前,要把保存在堆栈中的现场信息送回到对应的寄存器,这称为息送回到对应的寄存器,这称为恢复现场恢复现场。第1章 概 述有时在执行一段子程序的过程中还要调用其它子程有时在执行一段子程序的过程中还要调用其它子程序,这称为子程序嵌套。见图序,这称为子程序嵌套。见图126。第1章 概 述此时,堆栈不仅需要存放多个断点地址和多批此时,堆栈不仅需要存放多个断点地址和多批现场信息,而且为了保证逐次正确返回,要求现场信息,而且为了保证逐次正确返回,要求先存入堆栈中的断点地址、现场信息后取出先存入堆栈中的断点地址、现场信息后取出来,即堆栈应按照来,即堆栈应按照“先进后出先进后出”的方
21、式工作。的方式工作。第1章 概 述堆栈操作堆栈操作堆栈有堆栈有两种两种操作方式。操作方式。入栈操作:入栈操作:将数据送入堆栈。将数据送入堆栈。如:如:PUSHA;把累加器;把累加器A内容推入堆栈。内容推入堆栈。出栈操作:出栈操作:把堆栈中内容取出来的操作。把堆栈中内容取出来的操作。如:如:POPA;把栈顶内容送回;把栈顶内容送回A。保护现场和恢复现场是由入栈指令和出栈指令实现的。保护现场和恢复现场是由入栈指令和出栈指令实现的。第1章 概 述注意:注意:断点地址推入堆栈是在执行调用子程序指断点地址推入堆栈是在执行调用子程序指令时由令时由硬件硬件自动自动实现的,断点地址自堆栈中实现的,断点地址自堆
22、栈中弹出是在执行返回主程序指令弹出是在执行返回主程序指令RET时由硬件时由硬件自动自动实现的。实现的。第1章 概 述堆栈指针堆栈指针堆栈指针堆栈指针SP(StackPointer)是一个专用地址寄存是一个专用地址寄存器,它指明器,它指明栈顶栈顶的位置,起着管理堆栈工作的作用。的位置,起着管理堆栈工作的作用。下面说明堆栈的工作过程和下面说明堆栈的工作过程和SP的作用:的作用:堆栈建立在堆栈建立在RAM中,其地址为中,其地址为8位二进制数,即位二进制数,即SP是一个是一个8位地址寄存器位地址寄存器。第1章 概 述使用堆栈前,应先确定堆栈在使用堆栈前,应先确定堆栈在RAM(128B)中)中的位置,即
23、先建立堆栈。可用一条传送指令来实现,的位置,即先建立堆栈。可用一条传送指令来实现,如:如:MOVSP,#60H;由于机器规定由于机器规定SP始终指向栈顶,即指在最后推始终指向栈顶,即指在最后推入堆栈的信息所在的单元,所以,入堆栈的信息所在的单元,所以,刚建立堆栈时,刚建立堆栈时,尽管尽管60H单元中实际上没有信息,但认为该单元已单元中实际上没有信息,但认为该单元已有信息存放,堆栈将从有信息存放,堆栈将从61H单元开始单元开始向上生长向上生长(地址地址依次增大依次增大)。第1章 概 述如执行指令如执行指令PUSHAPUSHB后,堆栈的情况如下图所示。后,堆栈的情况如下图所示。第1章 概 述弹出指
24、令弹出指令POPPOP则把栈顶的内容送回到寄存器或累则把栈顶的内容送回到寄存器或累加器,且每弹出一个数据,加器,且每弹出一个数据,SPSP的内容自动减的内容自动减1 1,(SP)(SP)(SP)(SP)1 1,故,故SPSP始终指向堆栈的顶。始终指向堆栈的顶。下面,以中断嵌套过程为例,说明堆栈是如何按照下面,以中断嵌套过程为例,说明堆栈是如何按照“先进后出先进后出”工作方式工作的。为简便,暂不涉及工作方式工作的。为简便,暂不涉及保护现场问题,且假定断点保护现场问题,且假定断点1 1、2 2、3 3的地址分别为的地址分别为1122H1122H、3344H3344H和和5566H5566H。第1章
25、 概 述第1章 概 述执行主程序时,假设此时执行主程序时,假设此时(SP)=60H。从主程序转入子程序从主程序转入子程序1的过程中,调用子程序指的过程中,调用子程序指令将令将PC的内容推入堆栈:的内容推入堆栈:首先首先执行执行(SP)(SP)+1的操作,使的操作,使(SP)=61H,接,接着把着把PC的低的低8位即断点地址的位即断点地址的低低8位位22H推入推入SP当前当前所指单元所指单元61H;第1章 概 述然后再执行然后再执行(SP)(SP)+1的操作,使的操作,使(SP)=62H,接着把,接着把PC的的高高8位位即断点地址的高即断点地址的高8位位11H推入推入62H单元。从子程序单元。从
26、子程序1转入子程序转入子程序2,以及从子程序,以及从子程序2转入转入子程序子程序3的过程中同样要保留断点的过程中同样要保留断点2及断点及断点3。3个断点地址全部推入堆栈后的堆栈状态见下图。个断点地址全部推入堆栈后的堆栈状态见下图。其中最先推入堆栈的是断点地址其中最先推入堆栈的是断点地址1(1122H);最后);最后推入堆栈的是断点地址推入堆栈的是断点地址3(5566H)。)。第1章 概 述第1章 概 述每段子程序的最后一条指令是返回指令每段子程序的最后一条指令是返回指令RET。RET指令执行栈顶内容弹出堆栈送入指令执行栈顶内容弹出堆栈送入PC的操作。的操作。执行了子程序执行了子程序3中的中的R
27、ET指令后程序将回到子程序指令后程序将回到子程序2的断的断点处。点处。过程如下:首先将过程如下:首先将SP当前所指的当前所指的66H单元的内容单元的内容55H送入送入PC的的高高8位位,同时,同时SP内容减内容减1,(SP)(SP)1,使,使(SP)=65H,接着又将,接着又将SP当前所指的当前所指的65H单元的内容单元的内容66H送入送入PC的的低低8位位,同时,同时SP减减1,使,使(SP)=64H。由于由于RET指令执行后,指令执行后,(PC)=5566H,故使程序回到,故使程序回到了断点了断点3,从而继续执行子程序,从而继续执行子程序2。第1章 概 述在执行子程序在执行子程序2的最后一
28、条指令的最后一条指令RET时,由于时,由于(SP)=64H,所以该指令将,所以该指令将64H、63H两单元的内容两单元的内容33H和和44H弹出堆栈送入弹出堆栈送入PC,使,使(PC)=3344H,程序回到了,程序回到了断点断点2。同时。同时SP两次减两次减1,使,使(SP)=62H。同样道理,子程序同样道理,子程序1最后一条指令最后一条指令RET将在子程序将在子程序1执行完毕后返回到主程序的断点处,继续执行主程序。执行完毕后返回到主程序的断点处,继续执行主程序。如上所述,由于堆栈指针如上所述,由于堆栈指针SP始终指在堆栈顶部的始终指在堆栈顶部的单元,从而堆栈按先进后出的原则处理数据。单元,从
29、而堆栈按先进后出的原则处理数据。在子程在子程序嵌套时保证了逐次正确地返回。序嵌套时保证了逐次正确地返回。返回本节第1章 概 述4 输入输出接口电路输入输出接口电路输入输出接口电路输入输出接口电路是沟通是沟通CPU与外围设备的与外围设备的不可缺少的重要部不可缺少的重要部件。件。因为外围设备种类繁多,其运行速度、数据形式、因为外围设备种类繁多,其运行速度、数据形式、电平等各不相同,常常与电平等各不相同,常常与CPU不一致,所以要用不一致,所以要用IO接口作桥梁,起信息转换与协调的作用。接口作桥梁,起信息转换与协调的作用。第1章 概 述1、输入输出接口电路的功能、输入输出接口电路的功能输入输出接口电
30、路的种类很多,但一般均具有以下输入输出接口电路的种类很多,但一般均具有以下的功能:的功能:(1)锁存数据:外围设备的工作速度与计算机不同,传锁存数据:外围设备的工作速度与计算机不同,传送数据的过程中常常需要等待,送数据的过程中常常需要等待,IO接口电路中要接口电路中要设置锁存器,用以暂存数据。设置锁存器,用以暂存数据。第1章 概 述(2)信息转换:信息转换:计算机通信时,为节省传输线,信息常以计算机通信时,为节省传输线,信息常以串行串行方式逐位传送;而在计算机内部,为加快运行速度,方式逐位传送;而在计算机内部,为加快运行速度,信息却以信息却以并行并行方式传送。为此,计算机发送数据时,方式传送。
31、为此,计算机发送数据时,IO接口电路要将并行数据转换成串行数据,而接接口电路要将并行数据转换成串行数据,而接收数据时,要将串行数据转换成并行数据。收数据时,要将串行数据转换成并行数据。第1章 概 述另外,有些外围设备另外,有些外围设备(如传感器如传感器)提供的信息是提供的信息是模拟量,有些执行部件模拟量,有些执行部件(如示波器如示波器)需要计算机需要计算机系统提供模拟量,但系统提供模拟量,但计算机只能处理数字量计算机只能处理数字量,所以,所以,模模数转换器和数数转换器和数模转换器模转换器也是一种也是一种转换信息的接口电路。转换信息的接口电路。第1章 概 述(3)电平转换:计算机输入输出的信息大
32、多采用电平转换:计算机输入输出的信息大多采用TTL电平,高电平电平,高电平+5V代表代表“1”,低电平,低电平0V代表代表“0”。如果外围设备的信息不是如果外围设备的信息不是TTL电平,那么在这些外电平,那么在这些外围设备与计算机连接时,围设备与计算机连接时,IO接口电路要完成电平接口电路要完成电平转换的工作。转换的工作。(4)缓冲:输入输出接口电路是挂在计算机总线上的,缓冲:输入输出接口电路是挂在计算机总线上的,应具备缓冲的功能。应具备缓冲的功能。第1章 概 述(5)地址译码:计算机通常有多个外围设备,每个外围地址译码:计算机通常有多个外围设备,每个外围设备都设备都被赋予了一个被赋予了一个地
33、址地址,IO接口电路中的地址译接口电路中的地址译码器能根据计算机送出的地址找到指定的外围设备。码器能根据计算机送出的地址找到指定的外围设备。(6)传送联络信号:许多外围设备与计算机间要传送联络信号:许多外围设备与计算机间要传送状传送状态信息和控制信息态信息和控制信息,这也需要由,这也需要由IO接口电路转接。接口电路转接。第1章 概 述1.总线总线 总总线线是是在在微微型型计计算算机机各各芯芯片片之之间间或或芯芯片片内内部部各各部部件件之之间间传传输输信信息息的的一一组组公公共通信线。共通信线。第1章 概 述三总线结构:三总线结构:数据总线数据总线DB(DataBus)在芯片之间传送在芯片之间传
34、送数据信息数据信息;地址总线地址总线AB(AddressBus)传送传送地址信息地址信息;控制总线控制总线CB(ControlBus)传送传送控制命令控制命令。有的计算机用一组总线分时传送地址和数据信息,有的计算机用一组总线分时传送地址和数据信息,称为地址数据分时复用总线。在微处理器内部往称为地址数据分时复用总线。在微处理器内部往往往只使用一组总线,称为只使用一组总线,称为单总线结构单总线结构。第1章 概 述第1章 概 述甲 乙 丙 丁戊 己 庚 辛公共通道总线总线空闲忙空闲第1章 概 述2.缓冲器:缓冲器:采用总线结构后,芯片之间不需单独走线,这就采用总线结构后,芯片之间不需单独走线,这就大
35、大减少了连接线的数量。大大减少了连接线的数量。但是,挂在总线上的芯片不能但是,挂在总线上的芯片不能同时发送同时发送信息,否信息,否则多个信息同时出现在总线上将则多个信息同时出现在总线上将发生冲突发生冲突而造成出错。而造成出错。这就是说,如果有几块芯片需要输出信息,就必须分这就是说,如果有几块芯片需要输出信息,就必须分时传送。为了实现这个要求,时传送。为了实现这个要求,挂在总线上的各芯片必挂在总线上的各芯片必须通过缓冲器与总线相连。须通过缓冲器与总线相连。第1章 概 述三态门是一种常用的缓冲器三态门是一种常用的缓冲器下图是单向三态门电路,只有当控制端下图是单向三态门电路,只有当控制端C为高电为高
36、电平平“1”时三态门才导通时三态门才导通,信息从,信息从A传送到传送到B。否。否则三态门截止,则三态门截止,A、B之间呈现高阻隔离状态。之间呈现高阻隔离状态。ABC第1章 概 述双向三态门电路第1章 概 述控控制制端端C1=0、C2=0时时三三态态门门截截止止,A、B之间呈现高阻状态。之间呈现高阻状态。C1=1、C2=0时时门门l导导通通、门门2截截止止,信信息息从从A传送到传送到B。C1=0、C2=1时时门门1截截止止、门门2导导通通,信信息息从从B传送到传送到A。第1章 概 述单向总线的缓冲器单向总线的缓冲器由由单向三态门单向三态门构成,构成,双双向总线的缓冲器向总线的缓冲器由双向三态门构
37、成。由双向三态门构成。8位总线的缓冲器由位总线的缓冲器由8个三态门组成,每个个三态门组成,每个三态门控制芯片的一根传输线。三态门控制芯片的一根传输线。第1章 概 述3.软件软件软件是指使用和管理计算机的各种程序,而程序软件是指使用和管理计算机的各种程序,而程序是由一条条指令是由一条条指令(Instruction)组成的。组成的。(1)指令:指令:控制计算机进行各种操作的命令。控制计算机进行各种操作的命令。指令分操作码和操作数两大部分指令分操作码和操作数两大部分。操作码表示该指。操作码表示该指令执行何种操作,操作数表示参加运算的数据。令执行何种操作,操作数表示参加运算的数据。第1章 概 述例如:
38、将数例如:将数6363传送到累加器传送到累加器A A的指令书写形式为的指令书写形式为MOV AMOV A,#63#63;是用符号表示的该指令功能。;是用符号表示的该指令功能。又如:将累加器又如:将累加器A A的内容与数的内容与数5656相加的指令,书相加的指令,书写形式为写形式为ADD AADD A,#56#56;该指令将运算结果送回;该指令将运算结果送回A A保存。保存。第1章 概 述(2)程序:)程序:为了计算一个数学式,或者要控制一个生产过为了计算一个数学式,或者要控制一个生产过程,需要事先制定计算机的计算步骤或操作步骤。程,需要事先制定计算机的计算步骤或操作步骤。计算步骤或操作步骤是由
39、一条条计算步骤或操作步骤是由一条条指令指令来实现的。这来实现的。这种一系列指令的有序集合称为种一系列指令的有序集合称为程序程序。编制程序的过。编制程序的过程称为程称为程序设计程序设计。第1章 概 述例如:计算例如:计算63+56+36+14=?编制的程序如下:编制的程序如下:MOVA,#63;数数63送入累加器送入累加器A。ADDA,#56;A的内容的内容63与数与数56相加,其和相加,其和119送回送回A。ADDA,#36;A的内容的内容119与数与数36相加,其和相加,其和155送回送回A。ADDA,#14;A的内容的内容155与数与数14相加,结果相加,结果169保存在保存在A中。中。第
40、1章 概 述CPU的工作过程的工作过程例:例:3 34 47 7 地址地址机器码机器码助记符助记符注释注释10007403MOVA,#03H;被加数被加数03送累加器送累加器A10022404ADDA,#04H;第1章 概 述4.机器语言、汇编语言和高级语言机器语言、汇编语言和高级语言机器语言机器语言:二进制代码形式的程序。二进制代码形式的程序。二进制代码形式的指令称为机器指令或机器码。二进制代码形式的指令称为机器指令或机器码。汇编指令与机器指令具有一一对应的关系汇编指令与机器指令具有一一对应的关系.第1章 概 述汇编指令:汇编指令:用助记符表示操作码、用字符用助记符表示操作码、用字符(字母、
41、数字、字母、数字、符号符号)表示操作数的指令。用汇编指令编制的程序表示操作数的指令。用汇编指令编制的程序称为称为汇编语言程序汇编语言程序。优点:优点:程序占用的存储器单元少,执行速度程序占用的存储器单元少,执行速度快,能够准确掌握执行时问,适用于实快,能够准确掌握执行时问,适用于实时控制中的精细控制。时控制中的精细控制。缺点:缺点:汇编语言是面向机器的语言,不能通用汇编语言是面向机器的语言,不能通用于其他机器。于其他机器。第1章 概 述高级语言:高级语言:是面向过程的语言,常用的高级语言有是面向过程的语言,常用的高级语言有BASIC、PASCAL、C等。用高级语言编写程序时主要着眼等。用高级语
42、言编写程序时主要着眼于算法,而不必了解计算机的硬件结构和指令系统。于算法,而不必了解计算机的硬件结构和指令系统。高级语言是独立于机器的,一般地说,同一个程序高级语言是独立于机器的,一般地说,同一个程序可在任何种类的机器中使用。可在任何种类的机器中使用。第1章 概 述汇编指令与机器指令具有一一对应的关系汇编指令与机器指令具有一一对应的关系第1章 概 述汇编语言程序与高级语言程序统称为汇编语言程序与高级语言程序统称为源程序源程序,而,而机器语言程序称为机器语言程序称为目标程序目标程序。一般,先用汇编语言或高级语言编写程序,然后一般,先用汇编语言或高级语言编写程序,然后再转换成目标程序(此过程称为汇
43、编)。所用的再转换成目标程序(此过程称为汇编)。所用的软件称为软件称为汇编程序汇编程序。高级语言转换成机器语言时所用的软件称为高级语言转换成机器语言时所用的软件称为编译编译程序或解释程序程序或解释程序。第1章 概 述若把若把表表l2所示的目标所示的目标程序存入容量为程序存入容量为256个个单元的存储器,且从地单元的存储器,且从地址为址为00000000的单元的单元开始存放,见图开始存放,见图18。第1章 概 述指指令令机机器器码码第第一一个个字字节节所所在在单单元元的的地地址址(00000000、00000010、00000100、00000110)称称为为指指令地址令地址。第第一一条条指指令
44、令的的地地址址(00000000)称称为为该该程程序序的的首地址首地址,亦称为程序的,亦称为程序的入口地址入口地址。返回本节第1章 概 述补充知识补充知识计算机中数的表示与编码计算机中数的表示与编码1计算机中数的表示计算机中数的表示l在计算机中,为了运算的方便,数的最高位用来表在计算机中,为了运算的方便,数的最高位用来表示正、负数。最高位为示正、负数。最高位为“0”表示正数,最高位为表示正数,最高位为“1”表示负数。表示负数。l真值真值:带带“+、”号的数号的数。l机器数机器数:数码化了的带符号数。数码化了的带符号数。第1章 概 述【例例】正数正数59H59H真真值值和机器数表示法。和机器数表
45、示法。解:真解:真值值的表示法:的表示法:+101 1001B+101 1001B或或+59H+59H 机器数表示法:机器数表示法:0101 1001B0101 1001B或或 59H59H【例例】-59H-59H真真值值和机器数表示法。和机器数表示法。解:真解:真值值的表示法:的表示法:-101 1001B-101 1001B或或-59H-59H 机器数表示法:机器数表示法:1101 1001B1101 1001B或或 D9HD9H第1章 概 述l一个符号数的机器数的表示方法有原一个符号数的机器数的表示方法有原码码、反、反码码、补码补码等三种等三种表示法。表示法。l原原码码:用最高位表示符号
46、位,后面各位表示:用最高位表示符号位,后面各位表示该该数的数的绝对值绝对值。(注意:符号位:(注意:符号位:0 0代表,代表,1 1代表代表-)-)【例例】(56 56)原码原码0011 1000B0011 1000B38H38H (56 56)原码原码1011 1000B1011 1000BB8HB8H从例题中可以看出:一个负数的原码只要在其对应的正数原码从例题中可以看出:一个负数的原码只要在其对应的正数原码基础上加基础上加80H80H就可以方便地求出其原码。就可以方便地求出其原码。(5656)原码原码(5656)原码原码80H80H38H38H80H80HB8HB8H第1章 概 述l反反码
47、码:正数的反:正数的反码码与原与原码码相同;相同;负负数的反数的反码码是在其原是在其原码码的基的基础础上,保留符号位不上,保留符号位不变变,数,数值值位各位取反。位各位取反。【例例】(56 56)反码反码0011 1000B0011 1000B38H38H (56 56)反码反码1100 0111B1100 0111BC7HC7H从例题中可以看出:一个负数的反码只要在其对应的正数反码从例题中可以看出:一个负数的反码只要在其对应的正数反码(即原码)基础上各位取反就可以方便地求出其反码。而取反(即原码)基础上各位取反就可以方便地求出其反码。而取反的方法也很简单,只要用的方法也很简单,只要用FFHF
48、FH去减该数即可。去减该数即可。(5656)反码反码FFH-FFH-(5656)原码原码FFH-38HFFH-38HC7HC7HWhy?第1章 概 述l补码补码:正数的:正数的补码补码与原与原码码、反、反码码相同;相同;负负数的数的补码补码是在其反是在其反码码的基的基础础上加上加1 1即可。即可。【例例】(56 56)补码补码0011 1000B0011 1000B38H38H (56 56)补码补码(5656)反码反码1 1C7HC7H1 1C8HC8H从求反码的方法中可以推导:从求反码的方法中可以推导:(56 56)补码补码(5656)反码反码1 1 FFH-FFH-(5656)原码原码1
49、 1 100H-100H-(5656)原码原码100H-38H=C8H100H-38H=C8H第1章 概 述l负数原码、反码、补码求法归纳:负数原码、反码、补码求法归纳:(负数)(负数)原码原码(对应正数)(对应正数)原码原码80H80H(负数)(负数)反码反码FFHFFH(对应正数)(对应正数)原码原码(负数)(负数)补码补码100H100H(对应正数)(对应正数)原码原码第1章 概 述注意:在原码和反码,注意:在原码和反码,0有两种表示法,即有两种表示法,即0和和0的表示的表示法不同;而在补码中法不同;而在补码中0的表示法只有一种。的表示法只有一种。第1章 概 述本章小结本章小结l微型计算机的基本结构和常用术语微型计算机的基本结构和常用术语l微处理器微处理器l存储器存储器l输入输出接口电路输入输出接口电路l符号数的表示形式:原码、反码、补码符号数的表示形式:原码、反码、补码