370 likes | 538 Views
微机原理与接口技术. 主 讲 人: 杨勇 E-mail:yangyong@cqupt.edu.cn BBS ID:yangyong TEL : 62461684 授课学时: 48. 重庆邮电学院计算机科学与技术学院. 微机原理与接口技术教材 仇玉章, 32 位微型计算机原理与接口技术 [M] ,清华大学出版社, 2002.7. 微机原理与接口技术参考资料 姚燕南 微型计算机原理 西安电子科技大学出版社 沈美明、温冬婵, 80x86 汇编语言程序设计 [M] ,清华大学出版社, 2002.3
E N D
微机原理与接口技术 主 讲 人:杨勇 E-mail:yangyong@cqupt.edu.cn BBS ID:yangyong TEL:62461684 授课学时:48 重庆邮电学院计算机科学与技术学院
微机原理与接口技术教材 仇玉章,32位微型计算机原理与接口技术[M],清华大学出版社,2002.7 微机原理与接口技术参考资料 姚燕南 微型计算机原理 西安电子科技大学出版社 沈美明、温冬婵,80x86汇编语言程序设计[M],清华大学出版社,2002.3 王永山、杨宏五、杨婵娟,微型计算机原理与应用(以IBM PC系列机为例)[M],西安电子科技大学出版社,1993.3
学习课程应具备的先导知识 1.程序设计 2.结构化思想 3.计算机系统结构(组成原理) 课程的主要内容 1.基础理论 2.编程工具 3.编程方法 4.实际应用 核心内容:80486的系统结构、指令系统、程序设计、接口技术
课程简介及要求 1.课程性质及教学目的 《微机原理与接口技术》是工科计算机及其相关专业的一门重要的专业技术基础课程。 本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用汇编语言进行程序设计;树立起计算机体系结构的基本概念;为后继的软、硬件课程做好铺垫。
课程简介及要求 2. 课程教学安排 • 理论授课学时:48学时 • 实验学时:12学时 • 考试形式:闭卷考试(统考)
课程简介及要求 3. 教材内容体系结构 • 基本知识与基本概念 • 计算机的基本结构与工作原理 • 微处理器与微型计算机的概念 • 微型计算机系统组成及其应用 • 计算机中的数据表示、数制与编码的应用
课程简介及要求 • 80486微处理器 • 微处理器内部结构 • 存储器和I/O组织 • 总线周期与操作时序 • 指令系统与汇编语言 • 指令的概念与寻址方式 • 80486指令系统介绍 • 汇编语言格式、基本表达、伪指令介绍 • 汇编语言源程序的建立、编辑、运行、调试
课程简介及要求 • 汇编语言程序设计及其应用 • 程序设计的方法和步骤 • 顺序程序、分支程序、循环程序、子程序的设计 • 中断调用程序设计 • 宏汇编与重复汇编 • 汇编语言与高级语言的连接
课程简介及要求 • 接口芯片 • 中断管理接口 8259 • 可编程定时计数器 8254的设计 • 串行接口 8251 • 并行接口 8255
课程简介及要求 • 4. 课堂要求 • 禁止聊天,禁止看与课堂教学无关的书籍,禁止接听/播打手机,禁止抄袭作业, • 建议上课之前休息好,避免上课打瞌睡, • 建议做课堂笔记 • 与课程有关的任何问题,欢迎大家以各种手段及时与教师联系
注意:计算机与微型计算机的差别 • 计算模式在20 世纪的80 年代经历了从主机计算(mainf rame computing)到桌面计算( desktop computing) 的革新,这使计算机从实验室的“象牙塔”进入了普通的办公室和家庭,极大地推动了计算机技术和产业的发展.计算机还只是一种不太好用的工具,无法真正融入人们的工作和生活,更谈不上成为如空气、水、电这样的生活必需品. 这是当前计算机产业和应用领域进一步发展的主要障碍. • Internet computing, Grid computing, P2P • Ubiquitous 或Pervasive computing ,强调把计算机嵌入到环境或日常工具中去,让计算机本身从人们的视线中消失,让人们注意的中心回归到要完成的任务本身.
补充内容 一、基本概念 1.机器指令 能为计算机所接受的一组二进制代码。 2.机器指令程序 由机器指令所编写的程序。 3.汇编指令 用助记符的方法来表示的机器指令。
二、汇编语言 用助记符的方法;汇编语言和机器指令是一一对应的。 三、高级语言 逻辑结构与人的思维基本一致。 四、汇编语言与高级语言的比较 1.高级语言的优点 2.高级语言的缺点 不能直接执行,要编译; 执行效率低(汇编语言执行效率高); 汇编程序精炼,在实时控制方面有优势。
五、汇编程序设计 1.与机器硬件密切相关; 2.对语句的选择重要; 3.编写复杂程序时,不要直接编程,先画流程图; 4.用实际的机器来调试。 六、汇编语言程序设计步骤 1.理解设计任务; 2.建立数学模型; 3.确定算法; 4.模块化程序设计。
七、汇编程序 1.汇编程序的作用 将汇编语言程序转换为计算机能够识别并直接执行的目标程序。 2.源程序和目标程序 源程序:用助记符编写的程序。 目标程序:将源程序翻译成的机器语言程序。 3.汇编 将汇编语言的源程序翻译成目标程序的过程成为汇编过程,简称汇编。
4.汇编过程 机器指令操作代码表; 伪指令操作表; 符号表。 5.汇编的两次扫描 第一次扫描:主要完成符号表的建立; 第二次扫描:将程序转换为机器指令代码或数据等。
第1章 数制和码制 本章教学目的及要求 l熟悉数制的基本概念和计算机中常用进位计数制 l掌握二、八、十、十六进制的表达和相互转换 l理解机器数和带符号数的原码、反码、补码表示 l掌握美国信息交换标准代码(ASCII码)和二—十进制编码——BCD码的表达及应用 l熟悉微型计算机的编码及其应用 l掌握浮点数的基本概念和计算
1.1 计算机中的数制 计算机中的数据分为两类: (1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。 (2)码:通常指代码或编码,在计算机中用来描述某种信息。 1.数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。 N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m 式中:n——整数的总位数 m——小数的总位数 d下标——表示该位的数码 b——表示进位制的基数 b上标——表示该位的位权
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
4、数制转换 (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位二进制数表示即可。
【例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
【例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”,则可以根据精度的要求截取一定的位数即可。
【例3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:【例3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下: • 16 ︳2347 • 16 ︳146 余数为11(十六进制数为B) • 16 ︳ 9 余数为2 • 0 余数为9 • 所以,(2347)10=(92B)16
5、美国信息交换标准代码(ASCII码) ASCII(American Standard Code for Information Interchange)码:是美国信息交换标准代码的简称,用于给西文字符编码; 包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符;在ASCII码中,按其作用可分为: • 34个控制字符; • 10个阿拉伯数字 • 52个英文大小写字母; • 32个专用符号
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
1.2 计算机中的码制 在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。 表示一个机器数,应考虑以下三个因素: 1.机器数的范围 字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0~255。 字长为16位,无符号整数的最大值是 (1111111111111111)B=(FFFF)H=(65535)D 此时机器数的范围是0~65535。
2.机器数的符号 在算术运算中,数据是有正有负的,将这类数据称为带符号数。 为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。 3.机器数中小数点的位置 在机器中,小数点的位置通常有两种约定: 一种规定小数点的位置固定不变,这时的机器数称为“定点数”。 另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。
有符号数的原码表示-原码 正数的符号位为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
有符号数的反码表示-反码 对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。 【例5】当机器字长为8位二进制数时: X=+1011011 [X]原码=01011011 [X]反码=01011011 Y=-1011011 [Y]原码=11011011 [Y]反码=10100100 [+1]反码=00000001 [-1]反码=11111110 [+127]反码=01111111 [-127]反码=10000000 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。 反码表示的整数范围与原码相同。
有符号数的补码表示-补码 正数的补码与其原码相同,负数的补码为其反码在最低位加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 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。
补码与真值之间的转换 正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加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
求补运算 按位取反,末位加1 [+X]补码 [-X]补码 求补运算 按位取反,末位加1 [-X]补码 [+X]补码 求补运算 通过求补运算,可以得到该数负真值的补码,因此减法运算可以用加法运算代替。 计算机内有符号数用补码表示。
定点数 由于定点位置不同,一般又分为两种情况。 对于整数,小数点约定在最低位的右边,称为定点整数。 对于纯小数,小数点约定在符号位之后,称为定点小数。 浮点数 如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。
1.3 浮点数基本概念 1、浮点数 二进制格式:±S×2±J 2、浮点机器数 【例7】设字长为16位,阶符为1位,阶码为4位,尾符为1位,尾数为10位。要求把X=- 101101.0101写成规格化的浮点补码数,阶码和尾数均用补码表示。 3、浮点数的数值范围 在定字长条件下,浮点数所能表示的真值范围比定点数大,分配给阶码的位数越多,表示的数的范围越大。但由于尾数的位数减少,数的精度减小。
本章小结 本章着重介绍了计算机中数据的表示方法,重点处理了二、八、十、十六进制数的相关概念及各类数制之间相互转换的方法、无符号数和带符号数的机器内部表示、字符编码和汉字编码等。通过本章的学习,要掌握计算机内部的信息处理方法和特点,熟悉各类数制之间的相互转换,理解无符号数和带符号数的表示方法,掌握BCD码和字符的ASCII码的编码及其应用。
作业:P10 1.1 、1.2 THANK YOU VERY MUCH 本章到此结束, 谢谢您的光临!