第1.5章计算机基础知识.ppt_第1页
第1.5章计算机基础知识.ppt_第2页
第1.5章计算机基础知识.ppt_第3页
第1.5章计算机基础知识.ppt_第4页
第1.5章计算机基础知识.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

2 1微处理机的数据表达 所有微机都是以二进制形式算术运算和逻辑操作的 五行八卦中的32卦 2 1进位计数制 十进制 二进制 八进制和十六进制采用的都是进位计数制 进位计数制中用少量数码按次序排列成数位 并按由低到高的进位方式进行计数 基数和权是进位计数制的两个基本要素 基数是进位计数制中所用数码的个数 基数为r的进位计数制中需要r个数码 每个数位计满r就向高位进一 即逢r进一 在进位计数制表示的数中 同一数字处在不同位置表示不同的值 它所表示的值是该数字乘以一个由它所处位置所决定的常数 这一常数就是该数位所具有的权 r进制数各位的权是以r为底的幂 一 十进制数 具有十个不同的数字符号 即0 9 逢十进一 基数为10 权为10的N次方 N为正表示为整数部分 N为负表示为小数部分 特点 一个十进数可以用它的按权展开式表示 758 75 10 7 102 5 101 8 100 7 10 1 5 10 2 二 二进制数 一个二进制数可以用它的按权展开式表示 10110 101 2 1 24 0 23 1 22 1 21 0 20 1 2 1 0 2 2 1 2 3 22 625 10 具有两个不同的数字符号 即0和1 逢二进一 基数为2 权为2的N次方 特点 在微机中采用二进制的原因 二进制只有0 1两个数字 因此用晶体管的导通和截止 脉冲的高电平和低电平 很容易实现这两种状态 此外二进制运算简单 便于电子线路的实现 B 0V三极管导通B VCC三极管截止 比如 微机中RS232口线电平 是 12V称为 1 12V称为 0 或理解成 经RS232输出的数字 1 会产生 12V电压 经RS232输出的数字 0 会产生 12V电压 二进制中的 0 和 1 是对两种不同状态的区别 是对两种状态的记录 没有中间状态 至于哪种状态称为 0 哪种状态称为 1 可以按某种约定而命名 1AF 4 16 1 162 10 161 15 160 4 16 1 430 25 10 一个十六进制数可以用它的按权展开式表示 具有十六个不同的数字符号 即0 9和A F 逢十六进一 基数为16 权为16的N次方 特点 三 十六进制数 任何一个r进制数N可以表示为 若r 10 则十进制数 其各位的权是以10为底的幂 若r 2 则是二进制数 其各位的权是以2为底的幂 若r 8 则是八进制数 其各位的权是以8为底的幂 八进制中共有八个数码 0 1 2 3 4 5 6 7 若r 16 则是十六进制数 其各位的权是以16为底的幂 十六进制中共有16个数码 0 1 2 3 4 5 6 7 8 9 A B C D E F 常见的标识方法有两种 1 用括号后加数字下标 如 11 2 11 10 11 162 用英文字母加在被标记数的后面 B O D 通常省略 H分别表示该数为二进制 八进制 十进制和十六进制 如11D11B11H 前者机器难以识别 一般用于书写 后者有利于机器识别 常用 由于有不同数制数的存在 书写时必须给出标识 若不标出标记将会形成混淆而无法分清 如 书写11若不指明 就要引起混淆 主要是汇编时形成混淆 若为十进制 想表示的是十进制数11若为二进制 想表示的是十进制数3若为十六进制 想表示的是十进制数17 写程序时 同样也必须注意指令的书写和输入 否则很容易产生错误 如 指令MOVA 11汇编成机器码后 会是740B而指令书写成MOVA 11H汇编成机器码后 将是7411所谓机器码是指提供给相应微机识别的二进制代码 三种数制对照表 可见四位二进制数可用一位十六进制数代表 一位十六进制数 可扩展为四位二进制数 如 001111113F10100101A51010100011110101100111100151EB3C12340001001000110100A4B21010010010110010 采用十六进制的合理解释 仅仅用来减轻阅读二进制的负担和书写二进制时的麻烦 在微机中并没有按十六进制研制电子线路 一 r进制数转换为十进制数 按照公式展开求和 例 分别把二进制数1011 01和十六进制数F0 C用十进制表示 2 2各类计数制的相互转换 二 十进制数转换为r进制数 整数部分和小数部分分别进行转换 整数部分的转换步骤 把r写成十进制数 将N除以r 记录商和余数 并用r进制表示余数 这余数便是用r进制表示的数的最低位数字 把上次的商进行 中所述除以r取余的运算 用r进制表示余数 重复这种运算直到商为0 这时的余数即为十进制数N用r进制表示时的最高位数字 小数部分的转换步骤 把r写成十进制数 将N乘以r 记录积的整数部分和小数部分 并用r进制表示整数部分 该整数即为转换后r进制小数的最高位 把上次积的小数部分进行 中所述乘以r取整的运算 用r进制表示积的整数部分 重复这种运算直到积的小数部分为0 或者达到所要求的位数 这时的整数部分即为十进制数N转换成r进制小数的最低位 注意 整数部分转换 每次只求整数商 将余数作为转换结果的一位 重复对整数商除基数 一直除到商为0为止 小数部分转换 每次把乘积的整数取走作为转换结果的一位 对剩下的小数继续进行乘法运算 对某些数可以乘到积的小数为0 如上述两例 这种转换结果是精确的 对某些数 如0 3 永远不能乘到积的小数为0 这时要根据精度要求 取适当的结果位数即可 这种转换结果是不精确的 例 十进制数22 625转换为二进制数 22 2 11 2 余0 低位 5 2 余1 2 2 余1 1 2 余0 0 余1 高位 0 625 21 25 取整数1 高位 20 5 取整数0 21 0 取整数0 低位 0 625 10 0 101 2 所以 22 10 10110 2 整数部分 小数部分 结果 22 625 10 10110 101 2 例 十进制数430 25转换为十六进制数 430 16 26 16 余14 E 低位 1 16 余10 A 余1 高位 整数部分 0 小数部分 0 25 164 0 取整数4 结果 430 25 10 1AE 4 16 三 二进制与八进制 十六进制的相互转换 1 二进制转换成十六进制从小数点位置开始 整数部分向左 小数部分向右 每四位二进制数为一组用一位十六进制的数字来表示 不足四位的用0补足 就是相应十六进制的表示 2 二进制转换成八进制从小数点位置开始 整数部分向左 小数部分向右 每三位二进制数为一组用一位八进制的数字来表示 不足三位的用0补足 就是相应八进制的表示 例 把二进制1011011010111 11101用十六进制表示 把八进制数62 31用二进制表示 例 十六进制数1AE4 0001101011100100 即 1AE 4 16 110101110 01 2 例 二进制数110101110 01 000110101110 0100 十六进制数1AE 4 即 110101110 01 2 1AE 4 16 四 二进制数的算术运算 例 10100 1101 100001 例 100001 10100 110110100100001 1101 110101000011101 例 1101 1011 10001111 例 11100 101 101 111101101 商 1011111001101101110110000000101 110111 余数10001111 五 二进制数的逻辑运算 例 NOT10100101 例 10100101XOR10001011 01011010 0010111010100101NOT10100101XOR100010110101101000101110 例 10100101AND10001011 例 10100101OR10001011 10000001 101011111010010110100101AND10001011OR100010111000000110101111 2 3数值数据的表示 在字长为8位的微机中 若处理的是无符号数 一个数可以用8位二进制数表示 其数值范围为00H FFH 0 255D 换言之 8位二进制数可代表256种状态 但如何表示一个有符号数 或者说如何表示负数 习惯上认为有三种方法 即原码反码补码 在对有符号数的表示方法上 必然有一位用于表示符号 这一位称之为符号位 通常规定为最高位 当最高位为 1 时 表示该数值为负当最高位为 0 时 表示该数值为正 一 符号数的表示 把二进制数的最高一位定义为符号位 符号位为0表示正数 符号位为1表示负数 这种在计算机中使用的 连同符号位一起数值化了的数 称为机器数 机器数所表示的真实的数值 称为真值 对于符号数 机器数常用的表示方法有原码 反码和补码三种 数X的原码记作 X 原 反码记作 X 反 补码记作 X 补 对于有符号数中的正数 原码反码补码的表示值是相同的 原码反码补码 2000000100000001000000010 对于有符号数中的负数 原码反码补码的表示值是不相同的 原码反码补码 2100000101111110111111110反码是取反 补码是取反加1 当进行有符号数运算时 要通过判断最高位的值来确定该字节值是正数 还是负数 1 原码 最高位表示符号 正数的符号位用0表示 负数的符号位用1表示 数值位用二进制绝对值表示 这种方法称为原码表示法 原码的定义为 若X 0则 X 原 X若X 0则 X 原 2n 1 X其中n为原码的位数 124 原 01111100 124 原 11111100 当一个带符号数用反码表示时 最高位为符号位 0 有两种表示方法 0 反 00000000 0 反 11111111 8位二进制反码真值范围为 127 127 16位反码真值范围为 32767 32767 反码表示对计算机的结构有特殊要求 现在很少采用 特点 若X 0 则 X 反 X 若X 0 则 X 反 2n X 1 其中n为反码的位数 正数的反码与原码相同 负数的原码符号位保持不变 其余位取反就是机器数的另一种表示方法 反码表示法 2 反码 4 反 11111011 31 反 11100000 在钟表上 指针正拨12小时或倒拨12小时 其时间值是相等的 即在钟表上X 12 X 12 mod12 一个计数系统 某数加或减其模 结果不变 模的概念 补码的引入 对于n位二进制数 其计数范围为0 2n 1 在该计数器上加2n或减2n结果是不变的 我们称2n为n位计数系统的模 对钟表来说 它的模为12 在钟表上 如果现在时间是6点整 而钟表却指着8点整 快了2小时 校准的方法是正拨10小时或倒拨2小时 结果都正确 即 8 10 6 mod12 顺拨 8 2 6 mod12 倒拨 3 补码 3 补 3 原 3 反 00000011 3 补 3 反 1 11111100 1 11111101 0 补 0 原 0 反 00000000 0 补 0 反 1 11111111 1 10000000 补码的定义与求法 对n位二进制数 模为2n 若X 0 则 X 补 2in X MOD2n X 即正数的补码为原正数不变 若X 0 则 X 补 2in X MOD2n 2n 1 X 1 X 反 1 即负数的补码等于负数的反码加1 也就是等于负数原码除符号位外求反加1 例 补码加减法的运算规则 X Y 补 X 补 Y 补其中X Y为正负数均可 符号位参与运算 模 module 就是一个计数系统的最大容量 其大小等于以进位计数制基数为底 以位数为指数的幂 凡是用器件进行的运算都是有模运算 运算结果超过模的部分被运算器自动丢弃 因此 当器件为n位时 有 X 2n X mod2n 不难验证 X 补 2n X mod2n 因此 X Y 补 2n X Y mod2n 2n X 2n Y X 补 Y 补 一个用补码表示的二进制数 最高位为符号位 当符号位为 0 即正数时 其余位即为此数的二进制值 但当符号位为 1 即负数时 其余位不是此数的二进制值 其值为后面各位按位取反 在最低位加1 8位二进制补码真值范围为 128 127 16位补码真值范围为 32768 32767 0 补 0 补 00000000 即为0 且只有一种表示方法 4 当采用补码表示时 可以把减法运算转换为加法运算 即 X Y 补 X 补 Y 补 即某数减去一个数就等于某数加上减数的补数 8位带符号的补码特点 采用8位二进制表示时 整数补码的表示范围 最大为01111111 其真值为 127 10最小为10000000 其真值为 一128 10在补码表示法中 0只有一种表示形式 0 补 00000000 0 补 11111111 1 00000000 由于受设备字长的限制 最后的进位丢失 所以有 0 补 0 补 00000000 对于8位有符号数A 原码法能表示的范围为 127 127DB 反码法能表示的范围为 127 127DC 补码法能表示的范围为 128 127D 对于 0 的表示A 原码有两种不同的表示 称之为 0 0分别为00000000B10000000BB 反码有两种不同的表示 称之为 0 0分别为00000000B11111111BC 补码的 0只有一种表示00000000B 表1 3数的表示方法 所谓溢出是指运算结果超出了规定长度数据的表数范围 在此特指带符号数的补码运算溢出 4 补码运算的溢出及其判断方法 对字长为n位的补码表示的带符号数 其最高位表示符号 其余n 1位表示数值 其表数范围为 2n 1 2n 1 1 如果一个运算的结果超出了这个范围 就称为补码溢出 简称溢出 这时运算结果是错误的 对于8位字长的二进制补码数 其表数范围为 128 127 如果运算结果超出了此范围 就会产生溢出 例 已知 60 补 00111100 60 补 11000100 100 补 01100100 100 补 10011100 60 补 00111100 60 补 11000100 60 补 00111100 100 补 01100100 100 补 10011100 100 补 100111001010000010110000011011000 自然丢失 符号符号符号负数 错误正数 错误正确 前两个运算结果之所以不正确 是因为其相加结果分别为 160和 160 均超出了表数范围 使结果的数值部分占据了符号位 产生了溢出错误 但一个正数与一个负数相加 一定不会产生溢出错误 判断溢出的方法 1 根据参加加法运算的两数的符号及运算结果的符号判断是否溢出 2 计算机中 根据加法运算中在最高位与次高位的两个进位来判断 设8位二进制数的各位记为D7D6D5 D0 运算中两个D6位的进位记为C6 两个D7位的进位记为C7 用OV C7XORC6可判断溢出情况 OV 0 表示结果无溢出 OV 1 表示结果有溢出 注意 进位和溢出是两个不同性质的概念 不能混淆 进位是指运算结果的最高位向更高位的进位 如上所述的8位运算中的C7 进位通常记做Cy Cy 0表示无进位 Cy 1表示有进位 溢出是用最高位进位 即Cy 与次高位进位的逻辑异或结果来判断的 可见 有进位不一定就有溢出 无进位也不一定就无溢出 同理 有溢出不一定就有进位 无溢出也不一定就无进位 如 60 100 无符号数的最高位不是符号位而是数值的一部分 二 无符号数的表示 1 定点表示法 小数点位置 三 数的定点和浮点表示 2 定点小数法 约定小数点在符号位之后 数值部分最高位之前 因此数据是纯小数 故又称定点小数 其格式为 小数点位置 1 定点整数法 约定小数点的位置固定在数值部分的最低位之后 也就是把数表示为纯整数 其格式如下 阶符阶码数符尾数 浮点数包括两部分 阶码P和尾数S 它们都有各自的符号位 阶码的符号位又称阶符 用Pf表示 阶码有P1 P2 Pm位 尾数的符号位又称数符 用Sf表示 尾数有S1 S2 Sn位 在浮点表示法中 小数点的位置不固定或者说可浮动的 一般来说 任何一个二进制数的浮点表示格式为 尾数S是带符号补码表示的纯小数 其所取位数决定了浮点数的有效精度 阶码P是补码表示的带符号数 其所取位数决定了浮点数的表达范围 2 浮点表示法 浮点数的优点 可以在同样字长的情况下 比定点数表达更大范围的数 浮点数的缺点 运算规则复杂 通常要阶码和尾数分开运算 若阶码的底为2 阶码P 尾数S都用二进制数表示 则可以构成二进制浮点数 任何一个二进制数 它的浮点数可表示为 N 2P S 例 二进制数N 2 11 0 1011 其浮点数的表示格式为 阶符阶码数符尾数 当尾数满足0 5 S 1时 称为规格化数 规格化数中尾数的最高有效位 即小数点后面的一位 必须是1 而不是0 对浮点表示法 需要调整阶码的数值实现规格化 例 N 2 11 0 0101 这是非规格化浮点数 改写成 N 2 10 0 1010 这是规格化浮点数 当字长确定后 阶码所占位数越长 则尾数越短 数表示的范围越宽 精度越低 例如 101 101B 1000BX0 101101B 2 11BX0 101101B例如 0 078125D 0 000101B 2 11BX 0 101B 在浮点数中 负数一般用补码表示 于是可写成PF 1P 01SF 1S 011假如将 0 000101B写成2 10BX 0 0101B则有PF 1P 10SF 1S 1011可见不同的写法将会引起混淆 参照 12 34D 10 2X0 123412345 678 10 5X0 12345678 对于16位字长的浮点数 一般PFSF均为1位 而阶码P和尾数S的位数分别为5位和9位 因此 16位字长的浮点数表示的范围将会是 231 231 而16位定点数的范围仅为65536 几点说明 在以控制见长的单片机中 一般按定点数运算见多 浮点数主要用在数字信号处理 图像处理等场合 在定点数运算中 带符号运算并不一定要反码补码的表达 就微机而言 它并不认识反码和补码 用户可以通过相减的运算实现有关运算 微机也不认识小数 所谓小数运算可以由用户自行规定解决 一 ASCII码 字母和字符也必须按照特定的规则 用二进制编码才能在机器中表示 编码可以有各种方式 目前微机中最普遍采用的是ASC 码 AmericanStandardCodeforInformationInterchange 美国标准信息交换码 早期用于电讯行业 采用7位二进制代码对字母和字符进行编码 可表示27 128个字符 其中包括数码 0 9 以及英文字母等可打印的字符 数字0 9的编码是0110000 0111001 它们的高3位均是011 后4位正好与其对应的二进制代码相符 英文字母A Z的ASCII码从1000001 41H 开始顺序递增 字母a z的ASCII码从1100001 61H 开始顺序递增 这样的排列对信息检索十分有利 2 4数码 二 汉字编码 汉字的输入编码是为了使用西文标准键盘把汉字输入到计算机中 其编码方法主要有数字编码 拼音码和字形编码三类 除了键盘输入以外 利用语音或图象识别技术自动将汉字输入到计算机内的方法也已经实现 汉字内码是用于汉字信息的存储 交换 检索等操作的机内代码 它采用两个字节的二进制形式表示一个汉字 为了与英文字符能相互区别 汉字机内代码中两个字节的最高位均规定为l 汉字字模编码是用来描述汉字字形的代码 它是汉字的输出形式 汉字库有点阵字库 TrueType字库 矢量字库等类型 在计算机中 汉字编码采用国标码 GB18030 2000 它采用单 双 四字节混合编码 每个字节的最高位为1 并以此来区分汉字和ASC 码 汉字编码包括输入编码 内码和字模编码 分别用于输入 内部处理和输出 BCD码是十进制数 有10个不同的数字符号 且是逢十进位的 但它的每一位是用4位二进制编码来表示的 因此称为二进制编码的十进制数 BCD码比较直观 三 二进制编码的十进制数 8421BCD码 虽然BCD码是用二进制编码方式表示的 但它与二进制之间不能直接转换 必须先将BCD码转换为十进制数 然后再转换为二进制数 反之亦然 例 十进制数65的BCD码为01100101 BCD码01001001 0111表示的十进制数为49 7 表1 2BCD编码表 六 操作码指令中表达计算机操作内容的数码 通常一条指令中必须而且只能有一个操作码 七 地址码指令中表达计算机操作数据所在地址的数码 可以是一个或多个 也可能隐藏在操作码中 五 校验码为了确保整个计算机系统的工作可靠性 经常在关键步骤的数据上添加校验码 指令中表达计算机操作内容的数码 通常一条指令中必须而且只能有一个操作码 四 七段显示码一种将要显示的内容转换成能够在七段数码管上显示的数码 TheEnd 习题一 1 将二进制数11011 011转换成十进制数 八进制数和十六进制数2 将十进制数240 75转换成二进制数 八进制数和十六进制数3 设计算机字长为8位 求机器数E3 H 分别为原码 反码 补码 无符号数 压缩BCD码时对应的真值4 已知X 87 Y 56 用补码完成下列运算 并讨论结果是否溢出 X Y X Y 练习题 1把下列十进制数转换成二进制数和十六进制数a 135b 47 6875c 2002 102把下列二进制数转换成十进制数和十六进制数a 11010110Bb 0 1011Bc 1011 1011B3把下列十六进制数转换成二进制数和十进制数a AAHb ABC DHc 128 08H4写出下列各十进制数在8位微机中的原码反码和补码形式a 54b 115c 76 定点表示法与浮点表示法的比较 由于浮点数的小数点的位置是隐含于阶码之中 阶码不同的两个尾数不能直接加减 需先把两个数的阶码调整到一致 这称为 对阶 然后两个尾数才能相加减 数值表示范围 假定某机器字长32位 数符占1位 尾数占31位 则 定点小数表示范围 2 31 S 1 2 31 定点整数表示范围 1 S 231 1 浮点数的运算比定点数的运算复杂 浮点数的表示 Pentium微处理器支持的浮点格式 Pentium将阶码以一种偏置形式存放于格式之中 即将真阶码加上一个常数偏置值才是格式阶码 以保证偏置后的格式阶码恒为正数 单精度的阶码偏置值为 127 双精度的阶码偏置值为 1023 扩展精度的阶码偏置值为 16383 一个浮点数数的真阶码要通过它的格式阶码减去偏置值而得到 算术逻辑部件算术逻辑单元既可以进行二进制数的四则运算 也可进行布尔代数的逻辑运算 一 算术运算加减法运算直接采用二进制的加减法电路实现 乘除法需通过软件来实现 即将乘法转换成加法 除法转换成减法 再转换成加法来实现 微型计算机典型电路称为基本电路部件 主要包括 算术逻辑部件 触发器 寄存器 存储器 三态输出控制器 总线结构 二 逻辑运算通过在ALU中增设门电路可完成基本的逻辑运算 微处理机的硬件基础 触发器触发器是计算机记忆装置的基本单元 可以组成寄存器 而寄存器可以组成存储器 寄存器和存储器统称为计算机的记忆装置 RS触发器D触发器JK触发器 一 基本RS触发器1 基本电路和符号2 状态分析维持状态 R 1 S 1 存储记忆状态 置1状态 R 0 S 1 置0状态 R 1 S 0 不确定状态 R 0 S 0 RS触发器 二 时标RS触发器为了使触发器在整个机器中能和其它部件协调工作 RS触发器一般都有外加的时钟脉冲 时标脉冲 微型计算机中时钟脉冲一般是由时钟脉冲发生器产生 其时钟频率为4 77MHz 所产生的脉冲信号为方波 无论置位还是复位都必须在时钟脉冲为高电平时才能进行 RS触发器的缺点 1 置0和置1需要两个信号R和S 2 当R S 0 状态不定 D触发器1 基本电路和符号2 状态分析通过改变D的电位来实现置位和复位 置1状态 D 0 置0状态 D 1 3 带时标D触发器 通过加时钟脉冲 使输入信号仅在时钟信号处于高电位时有效 4 时钟边缘触发D触发器 由于时钟信号为方波 在处于高电位期间 D的变化会影响触发器的状态 使计算中的动作不整齐 采用RC微分电路对时钟信号进行微分处理 使方波变为尖峰信号 有些电路中需要预先給触发器置位或清除 可通过预置和清除来完成 即增设预置端和清除端 注意 表示低电平触发 只需将时钟信号接非门实现 表示时钟脉冲经微分电路微分后形成尖峰信号 JK触发器1 基本电路在RS触发器的前端增加两个与门 并从输出到输入做交叉反馈 2 状态分析J K 0 维持状态 J 0 K 1 复位状态 J 1 K 0 置位状态 J 1 K 1 翻转状态 计数器利用这一特性实现计数 3 带预置 清除的正边缘JK触发器 寄存器寄存器由多个触发器组成 一个触发器就是一个移位寄存器 多个触发器就是一个多位寄存器 缓冲寄存器移位寄存器计数器累加器 一 缓冲寄存器 用以暂存某个数据 以便在适当的节拍和给定的计算步骤将数据输入到其中或将数据输出到其它记忆元件中 当时钟脉冲的正向尖峰到来时 Q Q3Q2Q1Q0 X3X2X1X0 X 即将数据装入寄存器中 如果要将数据输出到其它部件 则可通过Y3Y2Y1Y0引出 为每一位寄存器增加一个控制门 当控制门 LOAD 为低电平时 各触发器的数据不变 新的数据进不来 起到寄存作用 当控制门为高电平时 可实现寄存器内容的更新 二 移位寄存器 移位寄存器 将所寄存数据按位向左向右移动 三 计数器 计数器 由若干个触发器组成 当计数脉冲到来时 按二进制规律使所存储的数据加1 行波计数器同步计数器环形计数器程序计数器 行波计数器特点 1 计数器的各位均由触发器构成 2 每个触发器的端均悬空 即处于翻转状态 3 时钟的负尖峰到达时开始翻转计数 4 清除端在高电平变为低电平时实现对计数器置零 同步计数器将时钟脉冲同时加到每个触发器的时钟输入 前一位的输出通过与门接到后一位的输入端 使每计一个数据的时间只占用一个触发器的建立时间 即各位计数器同步进行 环形计数器计数时只有一位为高电位 其余均为低电位 程序计数器一个不从0开始计数的行波计数器或同步计数器 应具备将初始数据装入其中的功能 装入门 同时 还需具备控制门 4累加器由多个触发器所组成的多位寄存器 不进行加法计算 用以暂时存放ALU中计算的中间结果 另外 还具有将其中的数据左移或右移的功能 也是移位寄存器 累加器在计算机中具有特殊的作用 很多操作都要用到 三态输出电路计算机中的记忆元件由触发器组成 而触发器只有两种状态 即0态和1态 因此每条信号线上只能传送一个触发器的信息 若一条信号线上连接多个触发器 而每个触发器可根据需要与信号线连通或断开 当连通时可传送0或1 断开时对信号线上的信息不产生影响 需要特殊电路加以控制 即三态输出电路 又称三态门 一 三态输出电路的结构1 电路组成和工作原理NMOS管可看作开关 当输入高电位时接通 输入低电位时断开 当E 1时 若A 0 则B 0 若A 1 则B 1 当E 0时 A B均不通 呈高组态 2 三态逻辑电路符号 二 双三态输出电路当某元件有双向输出时 可由两个三态门来控制 一个控制输出 一个控制输入 A为输出端 C为输入端 当Eout 1 Ein 0时 传输方向为A B 即A B 当Eout 0 Ein 1时 传输方向为B C 即B C 三态门 装入门可加到任何一个寄存器电路上 构成三态寄存器 L门 L 1 专管对寄存器的装入数据的控制 E门 E 1 专管对寄存器输出数据的控制 有了L门和E门后 就可以将各个部件都挂到总线线路上去 通过控制输入和输出 使计算机的信息传递线路简单化 控制器的设计合理化 总线结构一 基本概念总线 微型计算机中多个部件间或微型计算机间传送信息的公共导线 它由一组传输信息 0 1 的导线组成 根据所传送信息的内容与作用不同 可将总线分为三类 数据总线 DB 可双向传输数据信息 其宽度与MPU提供的数据线的引脚有关 地址总线 AB 单向传递地址信息 其宽度决定了计算机系统的最大寻址能力 空间 2N字节 N位地址总线的宽度 控制总线 CB 用于单向传送各种控制信号和状态信号 由于各总线传送信号的类型都是单一的 该结构又称为面向系统的单总线结构 二 总线结构连接图ABCD四个寄存器均有四个数据位 因此相互之间的数据传输需要4条数据线 在数据传输控制中 各寄存器的L门和E门的电位由控制器发出控制信号来进行控制 将个寄存器的L门和E门按一定顺序排列在一起 可组成控制字CON 格式如下 CON LAEALBEBLCECLDED 为了实现数据的传递 必须规定在某一时钟节拍 只有一个寄存器的L门为高电位 一个寄存器的E门为高电位 其余控制门均必须为低电位 当控制器发出对应的控制字信息后 数据信息才会按预期传送 例题 LA 1 EC 1 其余均为0 则数据由C传送到A LB 1 EA 1 其余均为0 数据如何传送 三 总线结构符号图 专门传递数据信息 将总线用一根粗线表示 并注明总线中线的根数 将控制字的各位分别传送到各寄存器 存储器一 组成及作用存储器由寄存器组成 可看作一个寄存器堆 每个存储单元实际上相当于一个缓冲寄存器 它既可用来存储数据 又可用来存放计算机的运算程序 二 分类只读存储器 ROM 只能读出 不能写入 随机存储器 RAM 既能读出 又能写入 三 存储单元存储器主要使用位 字节 字 8位字 16位字 32位字 等存储单元 一个存储器可包含若干个存储单元以存储很多个数据和很多个计算步骤 程序 为了便于存入取出 每个存储单元必须有固定地址 即一个存储器含有很多个地址 为了减少存储器向外的引出线的数量 内部自带地址译码器 将二进制的地址码译成与存储单元相通的地址线号 n条地址线可译成2n个地址号 16 8存储器实例16 8存储器是一个有16个存储单元 每单元有个记忆位的集成电路芯片 它有4根地址线A0 A1 A2 A3和8根数据线D0 D1 D7 地址线越多可访问的存储单元个数越多 只读存储器ROM用以存放固定数据的存储器 一旦放进去 就不可改变 只可读出所存储的数据 分类 掩膜型只读存储器 MROM 可编程只读存储器 PROM 可擦除可编程只读存储器 EPROM 电擦除可编程只读存储器 EEPROM 串行EEPROM并行EEPROM闪速存储器 8 4ROM的内部结构左边为地址译码电路 右边为矩阵电路及半导体二极管组成的存储单元 三条地址线及由非门产生的另三条线通过个三输入端与门可译成个地址号 用以控制个存储单元导线的电位 横线相当于存储单元 竖线相当于位 二极管连到的竖线 该位置为1 无二极管相连的竖线为0 输出电信号取自限流电阻上的电位 为了控制输出 每条数据线都加了三态输出门 3个非门 8个三输入与门 4个限流电阻 4个三态输出电路 若干个半导体二极管 存储单元地址号与存储器中的内容 ROM的符号ROM的附件存储器地址寄存器MAR将所要寻找的存储单元的地址暂存下来 以备下一条指令用 实际上是一个可控缓冲寄存器 具有L门控制地址输入 和存储器的联系是双向的 即地址一进入MAR就立即被送到ROM的地址译码器中去 MAR中的地址在模型计算机中由专门的地址计数器PC提供 在微型计算机中由地址加法器提供 例题 程序计数器PC 存储器地址寄存器MAR和ROM通过总线连接 开机后 先令CLR 1 则PC 0000 依次发出如下控制字 1 CPEPLMER 0110 2 CPEPLMER 0001 3 CPEPLMER 1000 问各部件之间的信息是如何流通的 解 1 EP 1 PC准备发出数据到总线上 LM 1 MAR准备接受总线上传来的数据 时钟信号正尖峰到来时 MAR PC 0000 数据装入MAR 同时MAR立即将0000送入ROM的地址译码器 对0000进行译码 选中ROM中的R0单元 2 ER 1 令ROM输出R0中的8位数据到总线上 无需时钟脉冲加以控制 为异步动作 3 CP 1 PC计数器在时钟正尖峰到来时 自动加1 PC 0001 EEPROM NMC98C64A芯片一 结构1 容量8k 8B2 A0 A12 片内地址线 用以选择片内8k个单元 D0 D7 数据线 可直接与计算机系统的DB总线连接 片选信号 低电平有效 输出允许信号 低电平有效 输入允许信号 低电平有效 状态输出端执行编程写入时 此引脚为低电平 写完后为高电平 二 NMC98C64A的编程写入字节写入一次只写入一个字节的数据 等到的状态由低变高时才能开始下一字节的写入 可采用延时程序 中断或查询方式检测引脚来实现 自动页写入32个字节为页 首先向NMC98C64A写入页的第一个数据 在接下来的300 s内连续写入本页的其他数据 直到变高 该方法可提高速度 写满8k 8B只需2 6s 二 NMC98C64A的擦除字节擦除 向某字节写入 FFH 整片擦除 在数据线上加 FFH 使片选信号和写允许信号为0 并在输出允许信号引脚上加 1

温馨提示

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

评论

0/150

提交评论