1 / 37

微机原理与接口技术

微机原理与接口技术. 主 讲 人: 杨勇 E-mail:yangyong@cqupt.edu.cn BBS ID:yangyong TEL : 62461684 授课学时: 48. 重庆邮电学院计算机科学与技术学院. 微机原理与接口技术教材 仇玉章, 32 位微型计算机原理与接口技术 [M] ,清华大学出版社, 2002.7. 微机原理与接口技术参考资料 姚燕南 微型计算机原理 西安电子科技大学出版社 沈美明、温冬婵, 80x86 汇编语言程序设计 [M] ,清华大学出版社, 2002.3

Télécharger la présentation

微机原理与接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机原理与接口技术 主 讲 人:杨勇 E-mail:yangyong@cqupt.edu.cn BBS ID:yangyong TEL:62461684 授课学时:48 重庆邮电学院计算机科学与技术学院

  2. 微机原理与接口技术教材 仇玉章,32位微型计算机原理与接口技术[M],清华大学出版社,2002.7 微机原理与接口技术参考资料 姚燕南 微型计算机原理 西安电子科技大学出版社 沈美明、温冬婵,80x86汇编语言程序设计[M],清华大学出版社,2002.3 王永山、杨宏五、杨婵娟,微型计算机原理与应用(以IBM PC系列机为例)[M],西安电子科技大学出版社,1993.3

  3. 学习课程应具备的先导知识 1.程序设计 2.结构化思想 3.计算机系统结构(组成原理) 课程的主要内容 1.基础理论 2.编程工具 3.编程方法 4.实际应用 核心内容:80486的系统结构、指令系统、程序设计、接口技术

  4. 课程简介及要求 1.课程性质及教学目的 《微机原理与接口技术》是工科计算机及其相关专业的一门重要的专业技术基础课程。 本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用汇编语言进行程序设计;树立起计算机体系结构的基本概念;为后继的软、硬件课程做好铺垫。

  5. 课程简介及要求 2. 课程教学安排 • 理论授课学时:48学时 • 实验学时:12学时 • 考试形式:闭卷考试(统考)

  6. 课程简介及要求 3. 教材内容体系结构 • 基本知识与基本概念 • 计算机的基本结构与工作原理 • 微处理器与微型计算机的概念 • 微型计算机系统组成及其应用 • 计算机中的数据表示、数制与编码的应用

  7. 课程简介及要求 • 80486微处理器 • 微处理器内部结构 • 存储器和I/O组织 • 总线周期与操作时序 • 指令系统与汇编语言 • 指令的概念与寻址方式 • 80486指令系统介绍 • 汇编语言格式、基本表达、伪指令介绍 • 汇编语言源程序的建立、编辑、运行、调试

  8. 课程简介及要求 • 汇编语言程序设计及其应用 • 程序设计的方法和步骤 • 顺序程序、分支程序、循环程序、子程序的设计 • 中断调用程序设计 • 宏汇编与重复汇编 • 汇编语言与高级语言的连接

  9. 课程简介及要求 • 接口芯片 • 中断管理接口 8259 • 可编程定时计数器 8254的设计 • 串行接口 8251 • 并行接口 8255

  10. 课程简介及要求 • 4. 课堂要求 • 禁止聊天,禁止看与课堂教学无关的书籍,禁止接听/播打手机,禁止抄袭作业, • 建议上课之前休息好,避免上课打瞌睡, • 建议做课堂笔记 • 与课程有关的任何问题,欢迎大家以各种手段及时与教师联系

  11. 注意:计算机与微型计算机的差别 • 计算模式在20 世纪的80 年代经历了从主机计算(mainf rame computing)到桌面计算( desktop computing) 的革新,这使计算机从实验室的“象牙塔”进入了普通的办公室和家庭,极大地推动了计算机技术和产业的发展.计算机还只是一种不太好用的工具,无法真正融入人们的工作和生活,更谈不上成为如空气、水、电这样的生活必需品. 这是当前计算机产业和应用领域进一步发展的主要障碍. • Internet computing, Grid computing, P2P • Ubiquitous 或Pervasive computing ,强调把计算机嵌入到环境或日常工具中去,让计算机本身从人们的视线中消失,让人们注意的中心回归到要完成的任务本身.

  12. 补充内容 一、基本概念 1.机器指令 能为计算机所接受的一组二进制代码。 2.机器指令程序 由机器指令所编写的程序。 3.汇编指令 用助记符的方法来表示的机器指令。

  13. 二、汇编语言 用助记符的方法;汇编语言和机器指令是一一对应的。 三、高级语言 逻辑结构与人的思维基本一致。 四、汇编语言与高级语言的比较 1.高级语言的优点 2.高级语言的缺点 不能直接执行,要编译; 执行效率低(汇编语言执行效率高); 汇编程序精炼,在实时控制方面有优势。

  14. 五、汇编程序设计 1.与机器硬件密切相关; 2.对语句的选择重要; 3.编写复杂程序时,不要直接编程,先画流程图; 4.用实际的机器来调试。 六、汇编语言程序设计步骤 1.理解设计任务; 2.建立数学模型; 3.确定算法; 4.模块化程序设计。

  15. 七、汇编程序 1.汇编程序的作用 将汇编语言程序转换为计算机能够识别并直接执行的目标程序。 2.源程序和目标程序 源程序:用助记符编写的程序。 目标程序:将源程序翻译成的机器语言程序。 3.汇编 将汇编语言的源程序翻译成目标程序的过程成为汇编过程,简称汇编。

  16. 4.汇编过程 机器指令操作代码表; 伪指令操作表; 符号表。 5.汇编的两次扫描 第一次扫描:主要完成符号表的建立; 第二次扫描:将程序转换为机器指令代码或数据等。

  17. 第1章 数制和码制 本章教学目的及要求 l熟悉数制的基本概念和计算机中常用进位计数制 l掌握二、八、十、十六进制的表达和相互转换 l理解机器数和带符号数的原码、反码、补码表示 l掌握美国信息交换标准代码(ASCII码)和二—十进制编码——BCD码的表达及应用 l熟悉微型计算机的编码及其应用 l掌握浮点数的基本概念和计算

  18. 1.1 计算机中的数制 计算机中的数据分为两类: (1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。 (2)码:通常指代码或编码,在计算机中用来描述某种信息。 1.数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。 N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m 式中:n——整数的总位数 m——小数的总位数 d下标——表示该位的数码 b——表示进位制的基数 b上标——表示该位的位权

  19. 2.计算机中常用的进位计数制 计数制 基数 数 码 进位关系 二进制 2 0、1 逢二进一 八进制 8 0、1、2、3、4、5、6、7 逢八进一 十进制 10 0、1、2、3、4、5、6、7、8、9 逢十进一 十六进制 16 0、1、2、3、4、5、6、7、8、9 A、B、C、D、E、F 逢十六进一 3.计数制的书写规则 (1)在数字后面加写相应的英文字母作为标识。 如:二进制数的100可写成100B,十进制数的100可写成100(D),十六进制数100可写成100H (2)在括号外面加数字下标。 如:(1011)2 表示二进制数的1011B (2DF2)16 表示十六进制数的2DF2H

  20. 4、数制转换 (1)十进制整数转换为二进制整数 采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。 (2)十进制小数转化为二进制小数 连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。 (3)十进制整数转换为八进制整数或十六进制整数 采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。 (4)十进制小数转换为八进制小数或十六进制小数 连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。

  21. (5)二、八、十六进制数转换为十进制数 用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。 (6)二进制数转换为八进制数 从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。 (7)八进制数转换为二进制数 将每位八进制数用3位二进制数表示即可。 (8)二进制数转换为十六进制数 从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。 (9)十六进制数转换为二进制数 将每位十六进制数用4位二进制数表示即可。

  22. 【例1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:【例1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下: • 2 ︳105 • 2 ︳52 余数为1 • 2 ︳26 余数为0 • 2 ︳13 余数为0 • 2 ︳6 余数为1 • 2 ︳3 余数为0 • 2 ︳1 余数为1 • 0 余数为1 • 所以,(105)10=(1101001)2

  23. 【例2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:【例2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下: 0.8125×2=1.625 取整数位1 0.625×2=1.25 取整数位1 0.25×2=0.5 取整数位0 0.5×2=1.0 取整数位1 所以,(0.8125)10=(0.1101)2 如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。

  24. 【例3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:【例3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下: • 16 ︳2347 • 16 ︳146 余数为11(十六进制数为B) • 16 ︳ 9 余数为2 • 0 余数为9 • 所以,(2347)10=(92B)16

  25. 5、美国信息交换标准代码(ASCII码) ASCII(American Standard Code for Information Interchange)码:是美国信息交换标准代码的简称,用于给西文字符编码; 包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符;在ASCII码中,按其作用可分为: • 34个控制字符; • 10个阿拉伯数字 • 52个英文大小写字母; • 32个专用符号

  26. 6、二—十进制编码——BCD码 BCD(Binary-Coded Decimal)码又称为“二—十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。 1.压缩BCD码 每一位十进制数采用4位二进制数来表示,即一个字节用来表示2位十进制数。例如:采用压缩BCD码表示时,二进制数1000,1001B,表示十进制数89D。 2.非压缩BCD码 每一位十进制数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示0~9,高4位通常为0。例如:十进制数89D,采用非压缩BCD码表示为二进制数是: 00001000 00001001B

  27. 1.2 计算机中的码制 在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。 表示一个机器数,应考虑以下三个因素: 1.机器数的范围 字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0~255。 字长为16位,无符号整数的最大值是 (1111111111111111)B=(FFFF)H=(65535)D 此时机器数的范围是0~65535。

  28. 2.机器数的符号 在算术运算中,数据是有正有负的,将这类数据称为带符号数。 为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。 3.机器数中小数点的位置 在机器中,小数点的位置通常有两种约定: 一种规定小数点的位置固定不变,这时的机器数称为“定点数”。 另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。

  29. 有符号数的原码表示-原码 正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。 【例4】当机器字长为8位二进制数时: X=+1011011 [X]原码=01011011 Y=+1011011 [Y]原码=11011011 [+1]原码=00000001 [-1]原码=10000001 [+127]原码=01111111 [-127]原码=11111111 原码表示的整数范围是: -(2n-1-1)~+(2n-1-1),其中n为机器字长。 则:8位二进制原码表示的整数范围是-127~+127 16位二进制原码表示的整数范围是-32767~+32767

  30. 有符号数的反码表示-反码 对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。 【例5】当机器字长为8位二进制数时: X=+1011011 [X]原码=01011011 [X]反码=01011011 Y=-1011011 [Y]原码=11011011 [Y]反码=10100100 [+1]反码=00000001 [-1]反码=11111110 [+127]反码=01111111 [-127]反码=10000000 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。 反码表示的整数范围与原码相同。

  31. 有符号数的补码表示-补码 正数的补码与其原码相同,负数的补码为其反码在最低位加1。 【例6】(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~+127 16位二进制补码表示的整数范围是-32768~+32767 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。

  32. 补码与真值之间的转换 正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得到该负数补码对应的真值的绝对值。 【例7】[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)D

  33. 求补运算 按位取反,末位加1 [+X]补码 [-X]补码 求补运算 按位取反,末位加1 [-X]补码 [+X]补码 求补运算 通过求补运算,可以得到该数负真值的补码,因此减法运算可以用加法运算代替。 计算机内有符号数用补码表示。

  34. 定点数 由于定点位置不同,一般又分为两种情况。 对于整数,小数点约定在最低位的右边,称为定点整数。 对于纯小数,小数点约定在符号位之后,称为定点小数。 浮点数 如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。

  35. 1.3 浮点数基本概念 1、浮点数 二进制格式:±S×2±J 2、浮点机器数 【例7】设字长为16位,阶符为1位,阶码为4位,尾符为1位,尾数为10位。要求把X=- 101101.0101写成规格化的浮点补码数,阶码和尾数均用补码表示。 3、浮点数的数值范围 在定字长条件下,浮点数所能表示的真值范围比定点数大,分配给阶码的位数越多,表示的数的范围越大。但由于尾数的位数减少,数的精度减小。

  36. 本章小结 本章着重介绍了计算机中数据的表示方法,重点处理了二、八、十、十六进制数的相关概念及各类数制之间相互转换的方法、无符号数和带符号数的机器内部表示、字符编码和汉字编码等。通过本章的学习,要掌握计算机内部的信息处理方法和特点,熟悉各类数制之间的相互转换,理解无符号数和带符号数的表示方法,掌握BCD码和字符的ASCII码的编码及其应用。

  37. 作业:P10 1.1 、1.2 THANK YOU VERY MUCH 本章到此结束, 谢谢您的光临!

More Related