《计算机原理及接口技术第1章.ppt》由会员分享,可在线阅读,更多相关《计算机原理及接口技术第1章.ppt(124页珍藏版)》请在三一办公上搜索。
1、1,计算机原理及接口技术,大家好!,2,课程目标,掌握:微型计算机的基本工作原理汇编语言程序设计方法微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力,3,教材及实验指导书,教材:微机原理与接口技术(第2版).冯博琴,吴宁主编.清华大学出版社联系方式公用邮箱:密码:姓名:胡欣,4,第1章 微型计算机基础概论,主要内容:微型计算机系统计算机中的数制及编码无符号二进制数的算术运算和逻辑运算有符号数的表示及补码运算,5,1.1、微型计算机系统,6,主要内容,微型计算机的发展微型计算机的工作过程微机系统的构成,7,1.1.1.微型计算机的发展,时代背景:第二次世界大战期间
2、军事用途:弹道计算诞生时间:1946年2月14日诞生地点:美国宾夕法尼亚大学第一台计算机:ENIAC 电子数字积分计算机,8,1.1.1.微型计算机的发展,埃尼阿克(ENIAC):承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫克利、戈尔斯坦、博克斯组成,总工程师埃克特当时年仅24岁。ENIAC描述:占地面积达170平方米,30个操作台,约为10间普通房间的大小,重达30吨,5000次加法/秒,500次乘法/秒,耗电量150千瓦,造价48万美元,9,1.1.1.微型计算机的发展,10,1.1.1.微型计算机的发展,虽然ENIAC体积庞大,耗电惊人,运算速度不过几千次(现在的超级计算机的
3、速度最快每秒运算达万亿次!),但它比当时已有的计算装置要快1000倍,而且还有按事先编好的程序自动执行算术运算、逻辑运算和存储数据的功能。但是ENIAC宣告了一个新时代的开始。,11,1.1.1.微型计算机的发展,虽然ENIAC体积庞大,耗电惊人,运算速度不过几千次(现在的超级计算机的速度最快每秒运算达万亿次!),但它比当时已有的计算装置要快1000倍,而且还有按事先编好的程序自动执行算术运算、逻辑运算和存储数据的功能。但是ENIAC宣告了一个新时代的开始。,12,1.1.1.微型计算机的发展,电子计算机发展的四代:第一代:电子管计算机(1946-1956)第二代:晶体管计算机(1957-19
4、64)第三代:中小规模集成电路计算机(1965-1970)第四代:超大规模集成电路计算机(1971至今),13,1.1.1.微型计算机的发展,电子计算机的发展方向:第五代:“非冯.诺依曼”计算机时代第六代:神经网络计算机时代 光计算机时代 生物计算机时代,14,1.1.1.微型计算机的发展,微型计算机诞生于20世纪70年代微型计算机特点:体积小、重量轻、功耗低、可靠性高、价格便宜、使用方便、软件丰富微型计算机的核心是微处理器(CPU)每出现一个新的微处理器,就会产生新一代的微型计算机,15,1.1.1.微型计算机的发展,第一代(19711973):4位和低档8位微处理器时代代表产品:Intel
5、 4004和MCS-4微型机 Intel 8008和MCS-8微型机字长:4位或8位基本指令时间:约为10-20S指令系统比较简单,运算功能较差,速度较慢,价格低廉集成度:2000管/片,16,1.1.1.微型计算机的发展,第二代(1973 1978):中高档8位微处理器时代代表产品:Intel 8080,Motorola公司的 M6800,Zilog公司的Z80,Intel公 司的8085,Technology的6502等 字长:8位基本指令时间:约为1-2S指令系统比较完善,具有典型的计算机系统结构以及中断、DMA等功能,寻址能力增强集成度:5000 10000管/片,17,1.1.1.微
6、型计算机的发展,第三代(19781981):16位微处理器时代代表产品:Intel公司的8086/8088、Motorola公司的M68000和Zilog 公司的Z8000字长:16位基本指令时间:约为0.15S丰富的指令系统,多级中断系统,多重寻址方式,段式存储结构集成度:20000 60000管/片,18,1.1.1.微型计算机的发展,第四代(19851992):32位微处理器时期代表产品:1985年Intel公司推出能进行多任 务处理的32位微处理器80386;1989年Intel公司推出80486;字长:32位内存容量已达1MB以上,硬盘技术不断提高,各种品牌机涌向市场,如COMPAQ
7、、DELL等,可执行多任务、多用户操作基本指令时间:0.2s集成度:几十万上百万管/片,19,1.1.1.微型计算机的发展,第五代(19931996):32位高档微处理器代表产品:Intel Pentium字长:32位特点:CPU 内部采用超标量流水线设计,Pentium 芯片内采用双Cache 结构(指令Cache 和数据 Cache),外部数据线64位字长,32位以上地址总线,20,1.1.1.微型计算机的发展,今天的微处理器(1996至今):64位高档微处理器代表产品:Pentium 4、Itanium字长:64位特点:内部集成16KB的一级(L1)高速缓冲存储器和256KB的二级(L2
8、)高速缓冲存储器;使用三个执行部件,可同时执行三条指令应用:办公自动化、网络服务器,21,1.1.1.微型计算机的发展,intel 4004,intel 的发展史就是从这块cpu起步的,22,1.1.1.微型计算机的发展,8008 8085,23,1.1.1.微型计算机的发展,8086 8088,24,1.1.1.微型计算机的发展,80286,25,1.1.1.微型计算机的发展,80386,intel第一代32位cpu,486,这是intel最后一代以数字编号的cpu,26,1.1.1.微型计算机的发展,Pentium Pentium Pro,27,1.1.1.微型计算机的发展,Pentium
9、 4 Itanium 2,28,1.1.2.微型计算机的工作过程,冯 诺依曼计算机的工作原理 存储程序工作原理,29,冯 诺依曼计算机的特点:,将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存;程序中的指令和数据必须采用二进制编码,且能够被执行该程序的计算机所识别;指令按其在存储器中存放的顺序执行,存储器的字长固定并按顺序线性编制;由控制器控制整个程序和数据的存取以及程序的执行;以运算器为核心,所有的执行都经过运算器。,30,冯 诺依曼计算机体系结构,运算器,控制器,输入设备,输出设备,存储器,31,2、微型计算机的工作原理,微型计算机的工作过程就是执行程序的过程,而程序由指
10、令序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地从存储器中取出指令并完成指令所指定的操作。由于执行每一条指令,都包括取指令和执行指令两个基本阶段,所以,微型计算机的工作过程也就是不断地取指令和执行指令的过程,直到遇到停机指令时才结束机器的运行。,指令格式(地址码),32,程序执行过程示意图,程序,开始,结束,指令1,指令2,指令n,.,操作码 操作数,存储器中的指令序列,取出指令,指令译码,读出操作数,(地址码),执行操作,取指,执行指令,33,2、微型计算机的工作原理,程序执行过程(1)首先将第一条指令由内存中取出;(2)将取出的指令送指令译码器译码,以确定要进行的操作;(
11、3)读取相应的操作数(即执行的对象);(4)执行指令;(5)存放执行结果;(6)一条指令执行完后,转入了下一条指令的取指令阶段。,34,2、微型计算机的工作原理,计算1+2=?汇编语言 对应的对应的操作程序 机器指令MOV AL,1 10110000 将立即数1传送到 00000001 累加寄存器AL ADD AL,2 00000100 计算两个数的和,结果 00000010 存放到AL中HLT 11110100 停机,35,2、微型计算机的工作原理,1、取指令阶段的执行过程:(设程序从00H开始存放)(1)将程序计数器PC的内容送地址寄存器AR。(2)程序计数器PC的内容自动加1变为01H,
12、为取下一条指令作好准备。(3)地址寄存器AR将00H通过地址总线送至存储器地址译码器译码,选中00H单元。,36,2、微型计算机的工作原理,(4)CPU发出“读”命令。(5)选中00单元的内容B0H读至数据总线DB上。(6)经数据总线DB,读B0H送至数据寄存器DR。(7)数据寄存器DR将其内容送至指令寄存器IR中,经过译码CPU“识别”出这个操作码为“MOV A,01H”指令,于是控制器发出执行这条指令的各种控制命令。,37,38,2、微型计算机的工作原理,2、执行指令阶段的执行过程:(1)将程序计数器PC的内容送地址寄存器AR。(2)程序计数器PC的内容自动加1变为02H,为取下一条指令作
13、好准备。(3)地址寄存器AR将01H通过地址总线送至存储器地址译码器译码,选中01H单元。,39,2、微型计算机的工作原理,(4)CPU发出“读”命令。(5)选中01H单元内容01H读至数据总线DB上。(6)经数据总线DB,读01H送至数据寄存器DR。(7)由控制器计算机已知道读出的是立即数,并要求将它送入累加器A中,所以数据寄存器DR通过内部总线将01H送入累加器A中。,01H,PC,AR,ALU,A,B,DR,IR,ID,操作控制器,01H,1,01H,2,00 B0H,01 01H,02 04H,03 02H,04 F4H,3,4,读命令,01H,5,6,7,控制信号,(执行第一条指令操
14、作示意图),DR,41,微机系统的构成,计算机系统组成 一个完整的计算机由硬件系统和软件系统两大部分组成.硬件系统:构成计算机物理结构的电气、电子和机械设备.软件系统:控制计算机运行的程序.,42,系统组成,主机 硬件系统 外设 微机系统 系统软件 软件系统 应用软件,I/O接口存储器总线CPU,寄存器组控制器运算器,43,微型机系统,运算器,控制器,CPU,存储器,I/O接口,总线,主机,输入设备,输出设备,微型机,软件,微机系统,44,总线,总线:就是连接多个部件的一组公共信息传输线,它能分时地发送与接收信息,包括地址总线、数据总线、控制总线总线是一种内部结构,它是cpu、内存、输入、输出
15、设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。,45,总线,地址总线AB:用于传递存储单元或I/O端口地址信息的一组信号线,由CPU发出,对存储单元和I/O端口进行寻址,单向并行数据总线DB:用于传送数据信息,双向并行控制总线CB:用于传送各种控制命令,如定时脉冲、中断请求等,双向传送,46,总线,微型计算机的系统结构框图:,47,1.硬件系统-微处理器,微处理器简称CPU,是计算机的核心。主要包括:运算器 控制器 寄存器组,48,运算器,运算器是计算机进行算术逻辑运算的部件运算器的核心部件是算术逻辑单元加法器为基础,
16、移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加减乘除四则运算和各种逻辑运算,49,控制器,控制器用于计算机硬件系统中,指挥、协调各部件的有序工作,是整个计算机的中枢基本功能:取指令、分析指令、执行指令、输入/输出控制、中断处理控制器由指令寄存器、指令译码器和操作控制电路组成,50,寄存器组,寄存器组是CPU内部的若干个存储单元分为专用寄存器和通用寄存器,专用寄存器的作用是固定的,如堆栈指针、标志寄存器等,通用寄存器可有多种用途寄存器的数目因微处理器而定寄存器组作用:暂存数据,避免频繁访问内存,缩短指令长度和执行时间,给编程带来方便,51,52,有关内存储器的几个概念,内存单
17、元的地址和内容内存容量内存的操作内存的分类,53,存储器,是微型计算机的存储和记忆部件,用以存放数据和当前执行的程序。(1)内存单元的地址和内容:内存由许多单元组成,每个单元可存放一组二进制码。在微型机中,每个内存单元规定存放8位二进制数,即一个字节(8bit)内存容量:一台微机中内存单元的总数内存单元的内容与地址都是二进制数,54,内存单元的地址和内容,每个单元都对应一个地址,以实现对单元内容的寻址。,10110110,38F04H,内存地址,单元内容,55,存储器,内存单元的地址和内容内存由许多单元组成,每个单元存放8位二进制数内存单元从0开始编址,00001H00002HF0000HFF
18、FFFH,地址 内容,56,内存容量,内存所含存储单元的个数,以字节为单位内存容量的大小依CPU的寻址范围而定(即CPU地址信号线的位数),57,存储器,(2)内存的操作:CPU对内存的操作有读、写两种。读操作是CPU将内存单元的内容取到CPU内部,而写操作时CPU将其内部信息传送到内存单元保存起来写操作的结果改变了被写单元的内容,而读操作则不改变被读单元的内容,58,存储器,CPU读出地址为 CPU将内容写入地址 04H内存单元中的内容 为08H的内存单元中,59,内存储器的分类,随机存取存储器(RAM)只读存储器(ROM),按工作方式可分为,60,存储器,(3)内存的分类:随机存取存储器(
19、random access memory,RAM),可被CPU随机地读和写,又称读写存储器,用于存放用户装入的程序、数据及部分系统信息。当机器断电后,所存信息消失只读存储器(read only memory,ROM),只能被CPU随机读取,而不能由CPU任意写入。主要用于存放监控程序和基本输入输出程序,还可存放各种常用数据和表格等。机器断电后,信息并不丢失。,61,3)输入输出接口和输入输出设备I/O设备的工作速度较低,处理的信息从数据格式到逻辑时序一般都不可能与计算机直接兼容,必须通过I/O接口。4)总线(bus)由一组导线和相关控制电路组成,是各种公共信号线的集合,用于微机系统各部件之间的
20、信息传递。,62,输入/输出接口,接口是CPU与外部设备间的桥梁,CPU,I/O接口,外设,63,接口的功能,数据缓冲寄存;信号电平或类型的转换;实现主机与外设间的运行匹配。,64,总线,(1)数据总线(data bus,DB)用来传输数据信息,是双向总线(2)地址总线(address bus,AB)用来传送CPU发出的地址信息,是单向总线(3)控制总线(control bus,CB)用来传送控制信号、时序信号和状态信息,65,软件系统,软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。,系统软件,应用软件,操作系统编译系统网络系统工具软件,软件,66,软件
21、系统,2、软件系统软件包括系统软件和应用软件系统软件主要包括操作系统(OS)和系统实用程序应用软件是用户为解决各种实际问题而编制的程序计算机中的程序设计语言分机器语言、汇编语言、高级语言三个级别。,67,1.2、计算机中的数制及编码,68,主要内容,各种计数制的特点及表示方法;各种计数制之间的相互转换。,69,1.常用计数法,十进制 二进制 十六进制,70,十进制,特点:以十为底,逢十进一;有0-9十个数字符号。用D表示。权值表达式:,71,二进制,特点:以2为底,逢2进位;只有0和1两个符号。用B表示。权值表达式:,72,十六进制,特点:有0-9及A-F共16个数字符号,逢16进位。用H表示
22、。权值表达式:,73,例:,234.98D或(234.98)D1101.11B或(1101.11)BABCD.BFH或(ABCD.BF)H,74,2.各种进制数间的转换,非十进制数到十进制数的转换十进制到非十进制数的转换二进制与十六进制数之间的转换,75,非十进制数到十进制数的转换,按相应的权值表达式展开例:1011.11B=123+022+121+120+12-1+12-2=8+2+1+0.5+0.25=11.755B.8H=5161+11160+816-1=80+11+0.5=91.5,76,十进制到非十进制数的转换,到二进制的转换:对整数:除2取余;对小数:乘2取整。到十六进制的转换:对
23、整数:除16取余;对小数:乘16取整。,77,十进制到非十进制数的转换,【例】将十进制数37375转换为二进制数。解:将整数和小数部分分别转换如下:,故:37.375D=100101.011B,78,二进制与十六进制间的转换,用4位二进制数表示1位十六进制数例:25.5=11001.1B=19.8H 11001010.0110101B=CA.6AH,79,3.计算机中的二进制数表示,表数范围表数精度如果小数点的位置事先已有约定,不再改变,此类数称为“定点数”。相比之下,如果小数点的位置可变,则称为“浮点数”。,80,3.计算机中的二进制数表示,定点数。常用的定点数有两种表示形式:如果小数点位置
24、约定在最低数值位的后面,则该数只能是定点整数;如果小数点位置约定在最高数值位的前面,则该数只能是定点小数。,81,3.计算机中的二进制数表示,例如,假定用两个字节存放一个定点数,则以定点方式表示的十进制整数195为:以定点方式表示的十进制纯小数-0.6876,82,3.计算机中的二进制数表示,(2)浮点数。浮点数表示法来源于数学中的指数表示形式,如193可以表示为一般地,数的指数形式可记作:M:浮点数的尾数,或称为有效数字,通常是纯小数;R:阶码的基数,表示阶码采用的数制。E:阶码,既是指数值,为带符号的整数。,83,4.二进制编码,计算机能够直接识别和处理的只有二进制数,同时能识别和处理文字
25、、字符和各种符号:数字0,1,9字母26个大小写的英文字母:A,B,Z,a,b,z专用符号+、-、*、/、控制字符CR(回车),LF(换行),84,4.二进制编码,二进制编码的十进制数8421码:用四位二进制编码表示一位十进制数BCD码与十进制数、二进制数的转换:对十进制数的每一位按对应关系转换成四位二进制编码计算机中BCD码的存储方式 压缩的BCD码和非压缩的BCD码,85,BCD码,压缩BCD码用4位二进制码表示一位十进制数非压缩BCD码用8位二进制码表示一位十进制数,86,BCD码与二进制数之间的转换,先转换为十进制数,再转换二进制数;反之同样。例:(0001 0001.0010 010
26、1)BCD=11.25=(1011.01)B,87,ASCII码,字符的编码各种字符和符号也必须按特定的规则用二进制编码才能在机器中表示目前在微型计算机中普遍采用的字符编码系统是ASCII字符编码表数据校验码:奇偶效验码,88,ASCII码的校验,奇校验 加上校验位后编码中“1”的个数为奇数。例:A的ASCII码是41H(1000001B),以奇校验传送则为C1H(11000001B)偶校验 加上校验位后编码中“1”的个数为偶数。上例若以偶校验传送,则为41H。,89,三、无符号数的运算,算术运算逻辑运算,无符号数有符号数,二进制数的运算,90,主要内容,无符号二进制数的算术运算无符号数的表达
27、范围运算中的溢出问题无符号数的逻辑运算基本逻辑门和译码器,91,1.无符号数的算术运算,加法运算(1+1=0(有进位)减法运算(0-1=1(有借位)乘法运算(注意乘数为2时的规律)除法运算(注意除数为2时的规律),92,乘除运算例,000010110100=00101100B 000010110100=00000010B 即:商=00000010B 余数=11B,93,2.无符号数的表示范围:,0 X 2n-1若运算结果超出这个范围,则产生溢出。对无符号数:运算时,当最高位向更高位 有进位(或借位)时则产生 溢出。,94,例:,最高位向前有进位,产生溢出,结果为256,超出8位二进制数所能表示
28、的范围255。,95,3.逻辑运算,与:有0则为0,全1则为1或:有1则为1,全0则为0非:按位取反异或:相同则为0,不同则为1特点:按位运算,无进借位,96,4.逻辑门,掌握:与、或、非门逻辑符号和逻辑关系(真值表);与非门、或非门的应用。,97,“与”、“或”运算,任何数和“0”相“与”,结果为0。任何数和“1”相“或”,结果为1。,98,“非”、“异或”运算,“非”运算即按位求反两个二进制数相“异或”:相同则为0,相异则为1,99,5.译码器,74LS138译码器:,G1,G2A,G2B,C,B,A,Y0,Y7,100,掌握,74LS138译码器:各引脚功能;输入端与输出端关系(真值表)
29、,101,三、有符号数的运算,102,计算机中符号数的表示,符号位+真值 机器数,“0”表示正“1”表示负,103,例,+52=+0110100=0 0110100 符号位 真值,-52=-0110100=1 0110100 符号位 真值,104,1.符号数的表示,原码 反码 补码,105,原码,最高位为符号位,用“0”表示正,用“1”表示负;其余为真值部分。优点:真值和其原码表示之间的对应关系简单,容易理解;缺点:计算机中用原码进行加减运算比较困难,0的表示不唯一。,106,数0的原码,8位数0的原码:+0=0 0000000-0=1 0000000 即:数0的原码不唯一。,107,反码,对
30、一个机器数X:若X0,则 X反=X原若X0,则 X反=对应原码的符号位不变,数值部分按位求反,108,例,X=-52=-0110100 X原=1 0110100 X反=1 1001011,109,0的反码:,+0反=00000000-0反=11111111即:数0的反码也不是唯一的。,110,补码,真值X的补码记为X补由同余的概念可知,对一个数X,有K为模数,n为任意整数。若设n为1,K=2n:,111,补码,定义:若X0,则X补=X反=X原若X0,则X补=X反+1,112,例,X=52=0110100 X原=10110100 X反=11001011 X补=X反+1=11001100,113,
31、0的补码:,+0补=+0原=00000000-0补=-0反+1=11111111+1=1 00000000 对8位字长,进位被舍掉,114,特殊数10000000,对无符号数:(10000000)B=128在原码中定义为:-0在反码中定义为:-127在补码中定义为:-128,115,2.符号二进制数与十进制的转换,对用补码表示的二进制数:1)求出真值 2)进行转换 正数补码的转换 负数补码的转换,116,例:,将一个用补码表示的二进制数转换为十进制数X补=0 0101110B 正数 所以:真值=0101110B X=+46X补=1 1010010B 负数所以:真值不等于-1010010B而是:
32、X=X补补=11010010补=-0101110=-46,117,结论,负数补码的转换(1)负数的补码再求补 X=X补补(2)负数的补码按位取反加1|X|=X补+1,118,3.符号数的算术运算,通过引进补码,可将减法运算转换为加法运算。即:X+Y补=X补+Y补 X-Y补=X+(-Y)补=X补+-Y补,119,例,X=-0110100,Y=+1110100,求X+Y=?X原=10110100 X补=X反+1=11001100Y补=Y原=01110100所以:X+Y补=X补+Y补=11001100+01110100=01000000 X+Y=+1000000,注:运算时符号位须对齐,120,符号数的表示范围,对8位二进制数:原码:-127+127反码:-127+127补码:-128+127,121,符号数运算中的溢出问题,两个带符号二进制数相加或相减时,若最高位次高位1,则结果产生溢出。,122,例:,若:X=01111000,Y=01101001 则:X+Y=即:次高位向最高位有进位,而最高位向前无进 位,产生溢出。(事实上,两正数相加得出负数,结果出错),123,结束语:,第1章难点:补码的概念及其运算,124,作业:,P35:1.3,1.5,1.7,1.13,谢谢大家!,