1 / 91

微机原理

微机原理. 主讲教师 方义秋 辅导教师 易芝. 教材. 《 32 位微型计算机原理与接口技术 》 仇 玉 章 主编 清华大学出版社. 参考文献:. 《 微型计算机硬件技术及应用基础 》 邹逢兴 主编 国防科技大学出版社 《32 微型计算机原理接口技术及其应用 》 史新福 等编 西北工业大学出版社 http://oa.gdut.edu.cn/wjyljyy/jiaoan/jiaoan_new.asp 广东工业大学 ★

keegan
Download Presentation

微机原理

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. 微机原理 主讲教师方义秋 辅导教师 易芝

  2. 教材 《32位微型计算机原理与接口技术》 仇 玉 章 主编 清华大学出版社

  3. 参考文献: • 《微型计算机硬件技术及应用基础》 邹逢兴 主编 国防科技大学出版社 • 《32微型计算机原理接口技术及其应用》 史新福 等编 西北工业大学出版社 • http://oa.gdut.edu.cn/wjyljyy/jiaoan/jiaoan_new.asp 广东工业大学★ • http://www.nciae.edu.cn/excellent_course/fjsjzywjxlkc_wjylyjkjs_course_resume.asp 华北航天工业大学★ • http://jwc.njust.edu.cn/jpkc/weijiyl/web/i3wjsyjx1.htm 南京理工大学★ • http://jwc.seu.edu.cn/jpkc/declare/08wjjk/louyuwu/index.asp 东南大学

  4. 《微型机原理与接口技术》课程简介及要求 1. 课程性质及教学目的 《微型计算机原理与接口技术》是学习以Intel 80486为背景的32位微型计算机基本知识和应用技能的重要课程。本课程帮助学生掌握微型计算机的硬件组成及使用;学会运用指令系统和汇编语言进行程序设计;熟悉各种类型的接口及其应用,树立起微型计算机体系结构的基本概念,为后继计算机课程的学习及应用打好基础。

  5. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 2. 课程教学安排 • 理论教学学时:58学时 • 实验学时:6学时 • 考试形式:以笔试为主占70%,实践占20%,作业占10% 3. 教材主体内容结构 • 基本知识与基本概念 • 计算机中的数据表示:数制与编码 • 计算机的系统组成:硬件、软件 • 存储器的基础知识

  6. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 • 80486微处理器 • 微处理器内部结构 • 80486的工作模式:实地址模式、保护虚地址模式和虚拟86方式 • 80486的外部引脚 • 指令系统与汇编语言 • 指令的概念与寻址方式 • 80486指令系统介绍 • 汇编语言格式、基本表达、伪指令介绍 • 汇编语言源程序的建立、编辑、运行、调试

  7. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 • 汇编语言程序设计及其应用 • 程序设计的方法和步骤 • 顺序程序、分支程序、循环程序、子程序的设计 • DOS和BIOS中断调用 • DOS功能调用 • BIOS中断调用

  8. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 • 输入输出系统 • 输入输出接口概述 • 信息交换方式:无条件方式、查询方式、中断方式及DMA方式 • 可编程定时/计数器8254 • 中断系统 • 中断的概念 • 中断向量及其作用 • 软中断与硬件中断的区别 • 微机系统的中断处理过程 • 可编程中断控制器8259A及其应用

  9. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 • 串行通信 • 1.串行同步通信与异步通信的基本概念 • 2.串行通信接口标准RS-232C • 3.8250接口的内部结构,端口地址分配,分频率系数的计算与初始化步骤。 • 4.8251A的内部结构,同步收/发与异步收/发,初始化方法 • 并行I/0接口芯片 • 1.8255A的内部结构:两组控制电路,三个端口,方式0、方式1与方式2的特点与使用场合。 • 2.8255A方式选择控制字和C口置位/复位控制字的含义及使用。8255A的应用和初始化。

  10. 《微型计算机原理与接口技术》课程简介及要求《微型计算机原理与接口技术》课程简介及要求 • DMA控制器 • 1.DMA的工作过程 • 2.8237A的内部结构和基本功能 • 3.8237A各个内部寄存器的作用 • 存储系统 • 1.虚拟存储器的概念 • 2.80486的段式存储器、页式存储器、段页式存储器 • 3.Cache的工作原理

  11. 第一章数制和码制 • 1.1计算机中的数制 • 1.2计算机中的码制 • 1.3浮点数基本概念

  12. 1.1计算机中的数制 计算机中的数据都是采用二进制形式存储和处理的,二进制数只有两个数字0和1,这与我们日常生活中所使用的十进制数是不同的。  1、1、1计算机中常用的计数制 人们最常用的数是十进制数,计算机中采用的是二进制数,同时有的时候为了简化二进制数据的书写,也采用八进制和十六进制表示方法。下面将分别介绍这几种常用的进制。 1、十进制数 十进制数是大家熟悉的,用0,1,2,…,8,9十个不同的符号来表示数值,它采用的是“逢十进一,借一当十”的原则。

  13. 2、二进制表示法 基数为10的记数制叫十进制;基数为2的记数制叫做二进制。 二进制数的计算规则是“逢二进一,借一当二”。 二进制表示数值方法如下: NB = ± Ki * 2i 其中:Ki = 0 或 1 n i=-m 例:二进制数1011.1表示如下: (1011.1)B= 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20+1 * 2-1

  14. 运算规则: 加法运算: 0+0 = 0 0+1 = 1 1+0 = 1 1+1 =10 (逢二进一) 减法运算: 0-0 = 0 10-1 =1 (借位) 1-0 = 1 1-1 =0 乘法运算: 0 * 0 =0 0 * 1 =0 1 * 0 =0 1 * 1 =1 除法运算 0 / 1 =0 1 / 1 =1

  15. 3、八进制表示法 八进制数是基数为八的计数制。八进制数主要采用0,1,2,…,7这八个阿拉伯数字。 八进制数的运算规则为“逢八进一,借一当八”。 八进制表示数值方法如下: NO = ± Ki * 8i 其中:Ki = 0 、1、2、3、4、5、6、7 n i=-m 例:(467.6)O=4 * 82+ 6 * 81+ 7 * 80 + 6 * 8-1

  16. 4、十六进制表示法 基数为16,用0 - 9 、A - F 十五个字符来数值,逢十六进一。 各位的权值为 16i 。 二进制表示数值方法如下: NH= ± Ki * 16i 其中:Ki = 0 - 9 、A - F n i=-m 例:(56D.3)H = 5 * 162+ 6 * 161 + 13 * 160 + 3 * 16-1

  17. 计数制 基数 数码 进位关系 表示方法 二进制 2 0、1 逢二进一 1010B或(1010)2 八进制 8 0、1、2、3、4、5、6、7 逢八进一 247O或(247)8 十进制 10 0、1、2、3、4、5、6、7、8、9 逢十进一 598D或(598)10 十六进制 16 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一 7C2F H或(7C2F)16 下表给出了计算机中不同计数制的基数、数码、进位关系和表示方法。

  18. 1、1、2 数制间的转换 1、二进制数和十进制数之间的转换 (1)、二进制数转换为十进制数 方法:按二进制数的位权进行展开相加即可。 例:11101.101 =1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3 =16+8+4+0+1+0.5+0.25+0.125 =29.875

  19. (2)、十进制数转换为二进制数 方法: A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。 B、整数转换采用除2取余法:用2不断地去除要转换的数,直到商为0。再将每一步所得的余数,按逆序排列,便可得转换结果。 C、小数转换采用乘2取整法:每次用2与小数部分相乘,取乘积的整数部分,再取其小数部分乘2直到小部分为0。将所取整数顺序放在小数点后即为转换结果。

  20. 例:将(136)D转换为二进制数。 2 136 余数(结果) 低位 2 68 ---------- 0 2 34 ---------- 0 2 17 ---------- 0 2 8 ---------- 1 2 4 ---------- 0 2 2 ---------- 0 2 1 ---------- 0 0 ---------- 1 高位 转换结果:(136)D=(10001000)B

  21. 例:将(0.625)D转换为二进制数。 0.625 * 2 1.25 * 20.5 * 21.0 取整: 高位 低位 转换结果:(0.625)D = (0.101)B

  22. 2、二进制数和八进制数、十六进制数间的转换2、二进制数和八进制数、十六进制数间的转换 (1)、二进制数到八进制数、十六进制数的转换 A、二进制数到八进制数转换采用“三位化一位”的方法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补0;向右不足三位的,从右边补0。 B、二进制数到十六进制数的转换采用“四位化一位”的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补0;向右不足四位的,从右边补0。 例:将(1000110.01)B转换为八进制数和十六进制数。 1000 110 . 01 001000 110 . 010 ( 1 0 6 . 2 )O

  23. 二进制数到十六进制数的转换: (1000110.01)B = 100 0110 . 01 0100 0110 . 0100 (4 6 . 4)H (2)、八进制、十六进制数到二进制数的转换 方法:采用“一位化三位(四位)”的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。 例:将(352.6)o转换为二进制数。 3 5 2 . 6 011 101 010 110 =(11 101 010 . 11)B

  24. 1.1.3 计算机中常用的编码 计算机除了用于数值计算之外,还要进行大量的文字信息处理,也就是要对表达各种文字信息的符号进行加工。计算机中目前最通用的两种字符编码分别是美国信息交换标准代码(ASCII码)和二—十进制编码(BCD码)。 1. 美国信息交换标准代码(ASCII码) ASCII(American Standard Code for Information Interchange)码是美国信息交换标准代码的简称,用于给西文字符编码,包括英文字母的大小写、数字、专用字符、控制字符等。 这种编码由7位二进制数组合而成,可以表示128种字符,目前在国际上广泛流行。 (见书 P.3 表1.2)

  25. 2. 二—十进制编码——BCD码 BCD(Binary-Coded Decimal)码又称为“二—十进制编码”,专门解决用二进制数表示十进数的问题。 “二—十进制编码”最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。 由于4位二进制数有0000~1111共16种状态,而十进制数0~9只取0000~1001的10种状态,其余6种不用。

  26. 通常,BCD码有两种形式,即压缩BCD码和非压缩BCD码。通常,BCD码有两种形式,即压缩BCD码和非压缩BCD码。 (1)压缩BCD码:压缩BCD码的每一位数采用4位二进制数来表示,即一个字节表示两位十进制数。例如:十进制数59D,采用压缩BCD码表示为二进制数是01011001B。 (2)非压缩BCD码:非压缩BCD码的每一位数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示0~9,高4位为0。例如:十进制数87D,采用非压缩BCD码表示为二进制数是00001000 00000111B。

  27. 3. 汉字编码 具有汉字信息处理能力的计算机系统,除了配备必要的汉字设备和接口外,还应该装配有支持汉字信息输入、输出和处理的操作系统。 (1)汉字输入码:用于外部输入汉字,也称为外码。有顺序码——将汉字按一定顺序排好,然后逐个赋予1个号码作为该汉字的编码,例如区位码;音码——根据汉字的读音进行编码,例如拼音码;形码——根据汉字的字形进行编码,例如五笔字型;音形码——根据汉字的读音和字形进行编码,例如双拼码。 (2)汉字机内码:是汉字处理系统内部存储、处理汉字而使用的编码,简称内码。内码与国家标准GB2312-80汉字字符集有简明的一一对应关系。

  28. (3)汉字交换码:是汉字信息处理系统之间或通信系统之间传输信息时,对每个汉字所规定的统一编码。我国已指定了汉字交换码的国家标准“信息交换用汉字编码字符集——基本集”,代号GB2321-80,又称“国标码”。国标码字符集共收录汉字和图形符号7445个。其中:一级常用汉字3755个;二级非常用汉字和偏旁部首3008个;图形符号682个。国标码是所有汉字编码都应该遵循的标准,自公布这一标准后,汉字机内码的编码、汉字字库的设计、汉字输入码的转换、输出设备的汉字地址码等,都以此标准为基础。(3)汉字交换码:是汉字信息处理系统之间或通信系统之间传输信息时,对每个汉字所规定的统一编码。我国已指定了汉字交换码的国家标准“信息交换用汉字编码字符集——基本集”,代号GB2321-80,又称“国标码”。国标码字符集共收录汉字和图形符号7445个。其中:一级常用汉字3755个;二级非常用汉字和偏旁部首3008个;图形符号682个。国标码是所有汉字编码都应该遵循的标准,自公布这一标准后,汉字机内码的编码、汉字字库的设计、汉字输入码的转换、输出设备的汉字地址码等,都以此标准为基础。 返回

  29. 1.2 计算机中的码制 1. 基本概念 在计算机内部表示二进制数的方法通常称为数值编码,把一个数及其符号在机器中的表示加以数值化,这样的数称为机器数。机器数所代表的数称为该机器数的真值。

  30. (1)机器数的符号:在算术运算中,数据是有正有负的,称之为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用“0”表示正数,用“1”表示负数。例如:字长为8位二进制时,D7为符号位,其余D6~D0为数值位;字长为16位二进制数时,D15为符号位,其余D14~D0为数值位。(1)机器数的符号:在算术运算中,数据是有正有负的,称之为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用“0”表示正数,用“1”表示负数。例如:字长为8位二进制时,D7为符号位,其余D6~D0为数值位;字长为16位二进制数时,D15为符号位,其余D14~D0为数值位。 ·如: 01100000B,10110000B称机器数,对应 有符号的数:+1100000B ,-0110000B 称真值数,值为+96,-48 无符号的数:01100000B,10110000B 其十进制数为96,176

  31. (2)机器数的范围:由计算机的CPU字长来决定。(2)机器数的范围:由计算机的CPU字长来决定。 当使用8位寄存器时,字长为8位,所以一个无符号整数的最大值是: (11111111)B=(255)D,此时机器数的范围是0~255。 当使用16位寄存器时,字长为16位,所以一个无符号整数的最大值是: (1111111111111111)B=(FFFF)H=(65535)D,此时机器数的范围是0~65535

  32. (3)机器数中小数点的位置: 在机器中,小数点的位置通常有两种约定,一种规定小数点的位置固定不变,这时的机器数称为“定点数”;另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。

  33. 2. 机器数的原码、反码、补码 (1)原码:规定正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。 例如:当机器字长为8位二进制数时: X=+1011011 [X]原码=01011011 Y=-1011011 [Y]原码=11011011 X=+0000000 [X]原码=00000000 Y=-0000000 [Y]原码=10000000 原码表示的整数范围是-(2n-1-1)~+(2n-1-1),其中n为机器字长。 通常:8位二进制原码表示的整数范围是-127~+127, 16位二进制原码表示的整数范围是-32767~+32767。

  34. (2)反码:对于一个带符号的数来说, [正数]反=[正数]原,既正数的反码与其原码相同; [负数]反=其原码除符号位以外的各位按位取反。 例如:当机器字长为8位二进制数时: X=+1011011 [X]原码=01011011 [X]反码=01011011 Y=-1011011 [Y]原码=11011011 [Y]反码=10100100 X=+0000000 [X]原码=00000000 [X]反码=00000000 Y=-0000000 [Y]原码=10000000 [Y]反码=11111111 反码表示的整数范围是-(2n-1-1)~+(2n-1-1),其中n为机器字长。 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。

  35. (3)补码:正数的补码与其原码相同,负数的补码为其反码在最低位加1。(3)补码:正数的补码与其原码相同,负数的补码为其反码在最低位加1。 例如: X=+1011011X=+0000000 [X]原码=01011011 [X]原码=00000000 [X]补码=01011011 [X]补码=00000000 Y=-1011011Y=-0000000 [Y]原码=11011011 [Y]原码=10000000 [Y]反码=10100100 [Y]反码=11111111 [Y]补码=10100101 [Y]补码=00000000 补码表示的整数范围是-2n-1~+(2n-1-1),其中n为机器字长。 则:8位二进制补码表示的整数范围是-128~+127, 16位二进制补码表示的整数范围是-32768~+32767。 负零的补码和正零的补码相同。

  36. 3.整数补码的运算 (1)模——某一计量器的最大单位。 如:时钟12点; 8位寄存器,可表达00000000~11111111共256个数,,故模为28 N位寄存器,模为2n (2)有模的运算 凡是用器件进行的运算都是有摸运算。当运算结果大于摸时,超出的部分被运算器自动“丢弃”(保存在进位标志寄存器中)。

  37. 如:时钟拨准,现是3点,而时针指向5点,拨准的方法有二:如:时钟拨准,现是3点,而时针指向5点,拨准的方法有二: 5-2=3(逆时针拨2小时) 5+10=3,12丢失 (顺时针拨10小时) (mod 12) 有 X+12=X 若X=-5, 则 -5+12=—5, 即 7=-5 称7是(-5)对模12的补码。 在摸12的意义下,负数可以转化为正数,而正负数相加也可转化为正数间的相加。如: 4+(-5)=4+(12-5)=4+7

  38. (3)求补运算——按位取反,末位加1 例如: X=+75=+1001011X=-75= - 1001011 [+X]补码=01001011 [-X]补码=10110101 按位取反: 10110100 01001010 末位加1: 10110101 01001011 对[+X]补码按位取反末位加1,就得到[-X]补码 对[-X]补码按位取反末位加1,就得到[+X]补码

  39. 补码与真值之间的转换:给定机器数的真值可以通过补码的定义来完成真值到补码的转换,若已知某数的补码求其真值,计算方法如下:补码与真值之间的转换:给定机器数的真值可以通过补码的定义来完成真值到补码的转换,若已知某数的补码求其真值,计算方法如下: • 正数补码的真值等于补码的本身; • 负数补码转换为其真值时,利用“求补运算”,即可得到该负数补码对应的真值。

  40. (4)整数补码的运算 补码的加法规则:    [X+Y]补码=[X]补+[Y]补码 补码的减法规则:   [X-Y]补码=[X]补+[-Y]补码 其中X,Y为正负数皆可,符号位参加运算。 当满足-2n-1 ≤(X,Y,X±Y)< 2n-1条件时,可得正确结果。(n为字长,以2n为模) 例1.2.1 (P. 6) 例1.2.2(P.6)

  41. 4.无符号数 8位寄存器的内容 11111111B, 若是无符号数。其值等于255; 若是补码数,其真值等于-1; 若是反码数,其真值等于-0; 一个数的物理意义,由程序员却决定。

  42. 5.进位和溢出 • (1)进位——运算之后,最高位向更高位的进位。被运算器“丢弃”,保存在“进位标志触发器”中(C标志=1)。 • 有符号数,不能统计在运算结果中。 • 无符号数,进位值是结果的一部分,不能丢弃。 • (2)溢出——运算结果超出了寄存器所能表示的范围,此时,“溢出触发器”置1(O标志=1)

  43. (3)溢出判断——双高位判别法 设:Cs——表征符号位进位,有进位Cs=1,否则,Cs=0; Cp——表征数值部分的进位(进入到符号位), 有进位Cp=1,否则Cp=0; l当Cs=0,Cp=1时,溢出为“正溢出”, (两个正数相加)。例yl1-5 l当Cs=1,Cp=0时,溢出为“负溢出”, (两个负数相加)。例YL1-6 l当Cs=0,Cp=0时,无溢出, 例YL1-7 l当Cs=1,Cp=1时,无溢出, 例YL1-8 l一个正数和一个负数相加,和肯定不溢出。 例 YL1-9 微机中用“异或”线路来判断有无溢出,即Cs⊕Cp=1,溢出标志O为1。 对无符号数,只要有进位,即溢出。 返回

  44. l当Cs=0,Cp=1时,溢出为“正溢出”,(两个正数相加)l当Cs=0,Cp=1时,溢出为“正溢出”,(两个正数相加) 例yl1-5 返回

  45. l当Cs=1,Cp=0时,溢出为“负溢出”, (两个负数相加) 例YL1-6 返回

  46. l当Cs=0,Cp=0时,无溢出, 例YL1-7 返回

  47. l当Cs=1,Cp=1时,无溢出, 例YL1-8 返回

  48. l一个正数和一个负数相加,和肯定不溢出。 例 YL1-9 返回

  49. 1.3浮点数基本概念 1.浮点数 浮点数的统一格式: S——尾数;尾符; J——阶码,表示小数点的实际位置;阶符; 纯小数: S=0.1011010101 规格化的浮点真值数满足的条件: • 尾数为纯小数,且小数点后是1不是0。 • 阶码为整数

More Related