第一章 微机中的数据类型_第1页
第一章 微机中的数据类型_第2页
第一章 微机中的数据类型_第3页
第一章 微机中的数据类型_第4页
第一章 微机中的数据类型_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,微型计算机原理,学时:64理论指导实践课程,.,课程性质及教学目的,微机原理与接口技术是工科计算机及其相关专业的一门重要的专业技术基础课程。本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用汇编语言进行程序设计;树立起计算机体系结构的基本概念;为后继的软、硬件课程做好铺垫。,.,教材及参考书目,1.80 x86汇编语言程序设计沈美明、温冬婵编著,清华大学出版社,2001年9月2.IBMPc汇编语言与程序设计第4版:英文埃布尔著一影印版,清华大学出版社,199823.IBMPC汇编语言程序设计实验教程,沈美明温冬蝉张赤红,清华大学出版社,.,教学要求,不迟到,不早退,不旷课课前预习课堂作笔记,认真完成相应的课堂作业课后认真完成相关作业作好实验,.,教学效果,1.掌握数制、码制等基础理论知识,能较熟练的进行码制转换,了解数字的各种计算机存储方式2.了解计算机组成及其基本原理3.掌握80 x86的不同寻址方式,并能区别各种不同寻址方式的异同。4.熟练掌握80 x86的指令系统,能够用80 x86指令系统编写基本的程序块。5.掌握80 x86汇编的编程方式,掌握循环、分支、子程序等基本程序结构。6.在了解基础上进一步掌握宏汇编程序设计技术。7.掌握微机接口技术和几个主要芯片的基本结构、初始化和应用编程。,.,考核方式,平时成绩:30(到课10,作业20)考试成绩:70,.,11绪论,1946年2月15日世界第一台电子计算机问世1946年世界上第一台电子计算机由美国宾夕法尼亚大学研制成功。尽管它重达30吨,占地170平方米,耗电140千瓦,用了18800多个电子管,每秒钟仅能做5000次加法.这台计算机有五个基本部件:输入器、输出器、运算器、存储器和控制器,奠定了当代电子数字计算机体系结构的基础。,.,.,.,运作了九年之久。吃电很凶,据传ENIAC每次一开机,整个费城西区的电灯都为之黯然失色。另外,真空管的损耗率相当高,几乎每15分钟就可能烧掉一支真空管,操作人员须花15分钟以上的时间才能找出坏掉的管子,使用上极不方便。曾有人调侃道:“只要那部机器可以连续运转五天,而没有一只真空管烧掉,发明人就要额手称庆了”。,.,第二代计算机晶体管电子计算机主要器件逐步由电子管改为晶体管,因而缩小了体积,降低了功耗,提高了速度和可靠性,而且价格也不断下降。后来又采用了磁心存储器,使速度得到进一步提高。,.,工作特点是程序控制、数据存储、数字编码电子计算机工作的基础,.,几个概念,控制器、CPU计算机主机计算机硬件系统计算机软件系统计算机系统字长:CPU并行处理二进制的数据位数。8位机、16位机、32位机和64位机。,.,12计算机的发展概况,微型化便携式、低功耗巨型化尖端科技领域的信息处理,需要超大容量、高速度智能化模拟人类大脑思维和交流方式,多种处理能力系列化、标准化便于各种计算机硬、软件兼容和升级网络化网络计算机和信息高速公路多机系统大型设备、生产流水线集中管理(独立控制、故障分散、资源共享),.,摩尔定律:单个芯片中的晶体管数目每年能够翻一番。摩尔定律的影响:1)在芯片集成度快速增长的期间,单个芯片的成本几乎没有变化,这意味着计算机逻辑电路和存储器电路的成本显著下降。2)因为在集成度更高的芯片中逻辑和存储器单元的位置更靠近,电路长度更短,所以提高了工作速度。3)计算机变得更小,更容易放置在各种环境中。4)减少了电能消耗及对冷却的要求。5)集成电路内部的连接比芯片间的连接更可靠,由干芯片中的电路增加,芯片间的连接变得更少。,.,系列机具有以下特性:1)相同的或相似的指令集:多数情况下,系列中的所有成员都其有完全相同的指令集。这样,能够在一台机器上执行的指令同样也能在另一台机器上执行。某些情况下,系列中低端产品的指令集是高端产品的一个子集。这意味着程序可以向上而不能向下移植。2)相似或相同的操作系统:产品家族中的所有成员都有相同的基本操作系统。有些情况下,高端成员会增添一些新特性。3)更高的速度:成员机器从低端到高端,指令执行速度从低到高。4)更多的I/O端口数:成员机器从低端到高端,I/O端口数越来越多。5)更大的内存容量:成员机器从低端到高端,内存容量越来越大。6)成本增加:成员机器从低端到高端,成本越来越高。,.,第四代计算机超大规模集成电路计算机设计方法和设计工具的重视第五代计算机普适计算机信息空间和信息空间的入口的矛盾严重限制了人们获取信息和处理信息的能力个人数字助理(PersonalDigitalAssistant,PDA)是这一代计算机的典型代表,.,1.2计算机的分类,1、大型机2、巨型机3、小型机4、微型机5、工程工作站6、嵌入式计算机(目前应用非常广泛),.,1.3.2计算机体系结构和计算机组成计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术和I/O处理机等,大都属于抽象的属性。,.,计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。指令系统体现机器的属性,这些属于计算机结构的范畴。只要两台机器的指令系统相同时,就可以认为它们具有相同的体系结构。,.,1.4计算机的基本组成,1.4.1冯诺伊曼计算机的特点1)计算机由运算器、控制器、存储器、输入装置和输出装置五大部件组成;2)指令与数据以同等地位存放于存储器内,并可按地址访问;3)指令和数据均用二进制码表示;4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序;6)机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。,.,12计算机的发展概况,一、计算机的发展概况第一代:电子管计算机时代(19471957)第二代:晶体管计算机时代(19581964)第三代:集成电路计算机时代(19641972)第四代:超大规模集成电路(VLSI)计算机时代(1972年)。第五代:智能计算机(1981年)。,.,二、微处理器及微型计算机的发展概况,第一代微处理器是以Intel公司1971年推出的4004,4040为代表的四位微处理机。第二代微处理机(1973年1977年),典型代表有:Intel公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。第三代微处理机第三代微机是以16位机为代表,基本上是在第二代微机的基础上发展起来的。其中Intel公司的8088。8086是在8085的基础发展起来的;M68000是Motorola公司在M6800的基础发展起来的;第四代微处理机以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU为代表,第五代微处理机的发展更加迅猛,1993年3月被命名为PENTIUM的微处理机面世,98年PENTIUM2又被推向市场。,.,INTELCPU发展历史,Intel第一块CPU4004,4位主理器,主频108kHz,运算速度0.06MIPs(MillionInstructionsPerSecond,每秒百万条指令),集成晶体管2,300个,10微米制造工艺,最大寻址内存640bytes,生产曰期1971年11月.,.,.,8085,8位主理器,主频5M,运算速度0.37MIPs,集成晶体管6,500个,3微米制造工艺,最大寻址内存64KB,生产曰期1976年,.,.,8086,16位主理器,主频4.77/8/10MHZ,运算速度0.75MIPs,集成晶体管29,000个,3微米制造工艺,最大寻址内存1MB,生产曰期1978年6月.,.,.,80486DX,DX2,DX4,32位主理器,主频25/33/50/66/75/100MHZ,总线频率33/50/66MHZ,运算速度2060MIPs,集成晶体管1.2M个,1微米制造工艺,168针PGA,最大寻址内存4GB,缓存8/16/32/64KB,生产曰期1989年4月,.,.,Celeron一代,主频266/300MHZ(266/300MHzw/oL2cache,Covington芯心(Klamathbased),300A/333/366/400/433/466/500/533MHzw/128kBL2cache,Mendocino核心(Deschutes-based),总线频率66MHz,0.25微米制造工艺,生产曰期1998年4月),.,.,Pentium4(478针),至今分为三种核心:Willamette核心(主频1.5G起,FSB400MHZ,0.18微米制造工艺),Northwood核心(主频1.6G3.0G,FSB533MHZ,0.13微米制造工艺,二级缓存512K),Prescott核心(主频2.8G起,FSB800MHZ,0.09微米制造工艺,1M二级缓存,13条全新指令集SSE3),生产曰期2001年7月.,.,.,更大的缓存、更高的频率、超级流水线、分支预测、乱序执行超线程技术,.,微型计算机组成结构,.,单片机简介,单片机即单片机微型计算机,是将计算机主机(CPU、内存和I/O接口)集成在一小块硅片上的微型机。,单片机开发系统有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。,单片机为工业测控而设计,又称微控制器。具有三高优势(集成度高、可靠性高、性价比高)。主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。,.,三、计算机编程语言的发展概况机器语言机器语言就是0,1码语言,是计算机唯一能理解并直接执行的语言。汇编语言用一些助记符号代替用0,1码描述的某种机器的指令系统,汇编语言就是在此基础上完善起来的。高级语言BASIC,PASCAL,C语言等等。用高级语言编写的程序称源程序,它们必须通过编译或解释,连接等步骤才能被计算机处理。面向对象语言C+,Java等编程语言是面向对象的语言。,.,通用计算机分类,通用计算机分为6类,其区别在于体积、复杂度、功耗、性能指标、数据存储容量、指令系统规模和价格超级计算机(Supercomputer)大型机(Mainframe)服务器(Server)工作站(Workstation)微型机(Microcomputer)单片机(Single-ChipComputer),.,微机中的数据类型,.,一、数据类型带符号整数无符号整数BCD数字符串位浮点数,.,二、数据在内存中的存储方式字节为单位高位字节占高地址低位字节占低地址,.,三、数的进位制约定BHD各种进制之间的转换!,.,(一)十进制ND有十个数码:09,逢十进一。例1234.5=1103+2102+3101+4100+510-1加权展开式以10称为基数,各位系数为09,10i为权。一般表达式:ND=dn-110n-1+dn-210n-2+d0100+d-110-1+,一、数的表示,.,(二)二进制NB两个数码:0、1,逢二进一。例1101.101=123+122+021+120+12-1+12-3加权展开式以2为基数,各位系数为0、1,2i为权。一般表达式:NB=bn-12n-1+bn-22n-2+b020+b-12-1+,.,(三)十六进制NH十六个数码09、AF,逢十六进一。例:DFC.8=13162+15161+12160+816-1展开式以十六为基数,各位系数为09,AF,16i为权。一般表达式:NH=hn-116n-1+hn-216n-2+h0160+h-116-1+,.,.,三种数制的对应关系,.,BCD码与十进制数的转换,.,组合BCD码与分离BCD码,组合BCD码(压缩BCD码):一个字节放2位十进制数分离BCD码(非压缩BCD码):一个字节放1位十进制数,存放在低四位,高四位与数值无关。,.,其它进制转换为十进制,方法:按进位计数制(位置计数法)展开计算后得到十进制例1:将二进制数1101.101转换为十进制数解:(1101.101)2=123+122+021+120+12-1+02-2+12-3=8+4+0+1+0.5+0+0.125=13.625,.,其它进制转换为十进制,例2:将十六进制数2AE.4转换为十进制数解:2AE.4H=2162+10161+14160+416-1=512+160+14+0.25=626.25,.,二进制与十六进制的相互转换,方法:四位二进制对应一位十六进制(整数部分从右到左,小数部分从左到右)例1:将1011101001.110101B转换为十六进制数解:整数部分:0010111010012E9小数部分:11010100D4故1011101001.110101B=2E9.D4H,.,二进制与十六进制的相互转换,例2:将5A.3BH转换为二进制数解:5A.3B1011010.00111011故5A.3BH=1011010.00111011B,.,十进制数转换为二进制数或十六进制数,方法:整数部分除基数取余,小数部分乘基数取整。例1:将十进制整数(105)10转换为二进制整数。解:2105252余数为1226余数为0213余数为026余数为123余数为021余数为10余数为1所以,(105)10(1101001)2,.,十进制数转换为二进制数或十六进制数,例2、将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.812521.625取整数位10.62521.25取整数位10.2520.5取整数位00.521.0取整数位1所以,(0.8125)10(0.1101)2注意:如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。,思考:1、将十进制转换为十六进制?2、既有整数,又有小数部分的情况?,.,练习,将(11.375)10,和(278.635)10转换为二进制数将十进制数301.6875,4978.35转换为十六进制数将BCD码10010110和10101100.0110110转换为二进制,.,练习,329.75D=()B=()BCD87.25D=()BCD=()H11001110.011011B=()H=()D,.,四、整数1、无符号数2、带符号数原码反码补码移码正数和负数的区别,.,二进制数的运算规则:,加法规则:0+0=00+1=11+0=11+1=0(进位1),乘法规则:00=001=010=011=1,十六进制的运算:法一:首先转换为十进制数,计算后得到结果;然后,将结果转换为十六进制。法二:按照逢十六进一的规则。,二进制数和十六进制数的运算,.,计算机中的数的表示,无符号数有符号数,.,无符号数,无符号数指字节.字.双字整数操作数中,对应的8位、16位、32位二进制全部用来表示数值本身,没有用来表示符号的位。无符号数都是正整数。n位无符号数表示范围:0例:01100000B,10110000B其十进制数为96,176。,.,带符号数,机器数真值机器数的表示法关于-0的问题整数补码的运算进位和溢出,.,机器数,机器数:一个带符号数在机器中的表示形式。最高位定义为符号位,“0”表示正数,“1”表示负数。如:01100000B,10110000B称机器数,.,真值,真值:机器数的数值例:X原=01011100机器数+01011100真值,.,机器数的表示法,原码:一个二进制数,最高位表示数的符号(0正,1负),其余各位表示数值本身。反码:一个二进制数,若以2n-1为模,它的补码称为反码(1补码)。补码:一个二进制数,若以2n为模,它的补码称为补码(2补码)。,.,机器数的表示法,.,机器数的表示法,例1、若X1=+1010011BX2=1010011B试求X1,X2的原码,反码,补码。解:X1原=01010011BX1反=01010011BX1补=01010011BX2原=11010011BX2反=10101100BX2补=10101101B,.,机器数的表示法,例2.内存中有一字节,内容是10000101,按不同格式可理解为:无符号数:133或85H原码表示法:-5反码表示法:-122补码表示法:-123一个数的物理意义,由程序员决定。,.,练习,例3.内存中有一字节,内容是11000110,按不同格式可理解为:无符号数:原码表示法:反码表示法:补码表示法:,.,例3.内存中有一字节,内容是A2H,按不同格式可理解为:无符号数:原码表示法:反码表示法:补码表示法:,.,练习,已知11001000是一个数的补码,求该数的原码和真值数是多少?已知01100110是一个数的补码,求该数的真值数是什么?,.,关于-0的问题,-0补=10000000B-0补=00000000B-128补=10000000B,.,关于-0的问题,例:-6411000000+-64+11000000-128110000000=-128补符号位进位丢掉-12810000000+12701111111-111111111=-1补码,.,关于-0的问题,若误认为-0补=10000000B运算会出错-010000000+100000001+110000001=-127补+1可将-0补=-0反+1=11111111+1=00000000,.,.,将十进制真值X(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码。【解】其中,0在X原,X反中有两种表示形式。,.,整数补码的运算规则,X+Y补=X补+Y补X-Y补=X补+-Y补求补运算方法对补按位取反末位加,就得到补。对补按位取反末位加,就得到补。,.,整数补码的运算,例1、(66)+(51)66补=0100001051补=0011001101000010+0011001101110101117,.,整数补码的运算,例2、(66)+(-51)66补=01000010-51补=1100110101000010+110011010000111115,.,整数补码的运算,例3、(66)+(99)66补=0100001099补=0110001101000010+011000111010010191,.,整数补码的运算,例4、(-66)+(-99)-66补=10111110-99补=1001110110111110+100111010101101091,.,进位和溢出,()进位最高位向更高位的进位。被运算器“丢弃”,保存在“进位标志触发器”中(C标志)。有符号数,不能统计在运算结果中。无符号数,进位值是结果的一部分。()溢出结果超出了寄存器所能表示的范围,溢出触发器置1(O标志),.,有符号数溢出判断双高位判别法,CsCp=1,溢出标志Os表征符号位进位(最高位进位标志),有进位Cs=1,否则,Cs=0;Cp表征数值部分的进位(次高位进位标志),有进位Cp=1,否则Cp=0;当Cs=0,Cp=1时,溢出为“正溢出”,Cs=1,Cp=0时,溢出为“负溢出”,当Cs=0。Cp=0时,无溢出,当Cs=1,Cp=1时,无溢出,.,例1、(1)(+100)+(+32)解:(1)+100补=01100100+32补=0010000001100100+0010000010000100CP=1CS=0正溢出,结果出错,.,(2)(100)+(32)100补=1001110032补=1110000010011100+11100000101111100CP=0CS=1负溢出,结果出错对无符号数,只要有进位,即溢出。,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论