资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
高等教育出版社 计算机组成原理及汇编语言 张思发吴让仲 课程的性质和任务通过学习本课程 使学生会使用汇编语言编程 深入了解计算机原理 较熟练地编写具有分支 循环 递归子程序和宏的汇编语言程序 中断服务程序 输入输出程序 养成良好的程序设计风格 能够控制常用的设备资源 使学生掌握计算机各大部件的组成原理 逻辑实现 设计方法及其互连构成整机的技术 培养学生具有初步的硬件系统分析 设计 开发和使用的能力 重点掌握整机概念和各功能部件的数据流和控制流 主要参考书1 白中英 计算机组成原理 第三版 科学出版社 2000 112 沈美明 温冬婵 IBM PC宏汇编语言程序设计 清华大学出版社 1991 6 考核方式平时作业15 实验15 期末考试70 第一章计算机系统概述 计算机的定义 一种不需要人的直接干预 能够自动完成各种算术和逻辑运算的工具 冯 诺依曼提出的存储程序的概念分以下四点 1 计算机应包括运算器 控制器 存储器和输入输出设备五大部件 2 各部件的功能 1 存储器不仅能存储数据 而且能存储程序 计算机能区分数据和指令 2 控制器能自动执行指令 3 运算器应能运算 等基本运算及附加运算 4 操作人员可以通过输入输出设备和主机互相通信 3 计算机的内常用二进制来表示指令和数据 每一条指令一般具有一个操作码和一个地址码 其中操作码表达运算性质 地址码指出操作数在存储器中的位置 由一串指令组成程序 4 将编好的程序和原始数据送入存储器中 然后启动计算机工作 计算机应能在不需要人员参预下 自动完成逐条取出指令和执行指令的任务 1 1计算机的发展状况 一 计算机的发展1 第一代计算机电子管计算机 存储器采用磁鼓和磁芯 发展年代大约为1946 1958年 2 第二代计算机晶体管计算机 存储器采用磁鼓和磁芯 其发展年代大约为1958 1964年 3 第三代计算机集成电路计算机 逻辑元件开始采用中小规模集成电路 其发展年代为1964 1971年 4 第四代计算机大规模集成电路计算机 这是1972年以后发展起来的 5 第五代计算机人工智能计算机 它能模拟人的智能 二 微处理器的发展 微型计算机的发展是以微处理器的发展来表征的 微处理器的集成度每隔18个月就会翻一番 芯片的性能也随之提高一倍 摩尔定律 第一代 8086 8088 1978年 1981年 采用了3 m工艺 集成了29 000个晶体管 工作频率为4 77MHz 它的寄存器和数据总线均为16位 地址总线为20位 从而使寻址空间达1MB 第二代 80286 1982年 1984年 第三代 80386 1985年 1988年 第一个实用的32位微处理器 采用了1 5 m工艺 集成了275 000个晶体管 工作频率达到16MHz 第四代 80486 1989年 1992年 第五代 Pentium 1993年 1997年 第六代 P6 1996 今 PentiumPro PentiumII PentiumIII PentiumIV第七代 未来 64位Mecerd P7 X86系列微型计算机的发展 1 2计算机的类别 特点及应用 一 计算机的分类1 按信息的形式和处理方式分电子计算机从总体上来说可分为数字计算机 模拟计算机以及数字模拟混合计算机 2 按计算机的用途分按计算机的用途可分为通用计算机和专用计算机 3 按计算机规模分按计算机规模又可分为巨型机 大型机 中型机 小型机 微型机和单片机六类 二 计算机的特点1 快速性电子计算机的快速性基于两方面因素 首先它采用了高速电子器件 另外 电子计算机采用了存储程序的设计思想 2 通用性计算机处理的信息不仅是数值数据 也可以是非数值数据 3 准确性计算机运行的准确性包括两方面含义 一是计算精度高 一是计算方法科学 4 逻辑性逻辑判断与逻辑运算是计算机的基本功能之一 三 计算机的应用计算机的应用领域涉及到人类的所有活动领域 1 科学计算 科学研究和工程计算领域 是计算机应用最早的领域 也是应用得较广泛的领域 2 自动控制 自动控制是涉及面极广的一门学科 应用于工业 农业 科学技术 国防以及我们日常生活等各个领域 3 测量和测试 在这个领域中 计算机主要起两个作用 第一 对测量和测试设备本身进行控制 第二 采集数据并进行数据处理 4 信息处理 信息是我们人类赖以生存和交际的媒介 1 商务处理 2 管理应用 5 教育和卫生 教育方面涉及到计算机辅助教学 卫生方面涉及到人类的健康长寿 6 家用电气 7 人工智能 1 3计算机系统的组成 计算机系统是由计算机硬件系统 软件系统以及通信网络系统组成的一个整体系统 一 计算机的硬件系统组成计算机的基本部件有中央处理器CPU 运算器和控制器 存储器和输入 输出设备 输入设备用来输人原始数据和处理这些数据的程序 输入的信息有数字符 字母和控制符等 输出设备用来输出计算机的处理结果 可以是数字 字母 表格 图形等 存储器用来存放程序和数据 是计算机各种信息的存储和交流中心 存储器可与CPU 输入输出设备交换信息 起存储 缓冲 传递信息的作用 中央处理器又叫CPU 在早期的计算机中分成运算器和控制器两部分 由于电路集成度的提高 现在已把它们集成在一个芯片中 在计算机中各部件间来往的信号可分成三种类型 即地址 数据和控制信号 通常这些信号是通过总线传送的 CPU发出的控制信号 经控制总线送到存储器和输入输出设备 控制这些部件完成指定的操作 与此同时 CPU 或其他设备 经地址总线向存储器或输入输出设备发送地址 使得计算机各个部件中的数据能根据需要互相传送 计算机硬件的基本组成 二 计算机的软件系统所谓软件是指为运行 维护 管理 应用计算机所编制的所有程序及文档的总和 软件通常分为系统软件和应用软件 1 系统程序用来简化程序设计 简化使用方法 提高计算机的使用效率 发挥和扩大计算机的功能及用途 它包括以下四类 服务程序 语言程序 操作系统 数据库管理系统 2 应用程序是用户利用计算机来解决某些问题而编制的程序 三 计算机硬件系统和软件系统的关系软件系统是在硬件系统的基础上 为有效地使用计算机而配置的 没有系统软件 现代计算机系统就无法正常地 有效地运行 没有应用软件 计算机就不能发挥效能 四 冯 诺依曼体系结构计算机系统根据冯 诺依曼体系结构构成的计算机 必须具有如下功能 1 把需要的程序和数据送至计算机中 2 必须具有长期记忆程序 数据 中间结果及最终运算结果的能力 3 能够完成各种算术 逻辑运算和数据传送等数据加工处理的能力 4 能够根据需要控制程序走向 并能根据指令控制机器的各部件协调操作 5 能够按照要求将处理结果输出给用户 1 4计算机系统结构 一 多级组成的计算机系统计算机系统的层次结构从低到高为 微程序设计级 一般机器级 操作系统级 汇编语言级 高级语言级 二 软件与硬件的逻辑等价性值得指出 计算机系统的功能由硬件或由软件实现 在逻辑功能上是等价的 也就是说 用硬件实现的功能 在原理上可以用软件实现 用软件实现的功能 在原理上也可以用硬件完成 计算机系统的层次结构图 一 进位计数制及其相互转换 十进制 二进制 八进制和十六进制采用的都是进位计数制 进位计数制中用少量数码按次序排列成数位 并按由低到高的进位方式进行计数 基数和权是进位十进制的两个基本要素 基数是进位计数制中所用数码的个数 基数为r的进位计数制中需要r个数码 每个数位计满r就向高位进一 即逢r进一 在进位计数制表示的数中 同一数字处在不同位置表示不同的值 它所表示的值是该数字乘以一个由它所处位置所决定的常数 这一常数就是该数位所具有的权 r进制数各位的权是以r为底的幂 1 580X86宏汇编语言的基础知识 进位计数制及其相互转换 1 r进制数转换为十进制数 按照公式展开求和 例如 将下列进制数转换为十进制数 1101 01 2 1101 01B 1 23 1 22 0 21 1 20 0 2 1 1 2 2 8 4 1 0 25 13 25 10D 16 10DH 1 162 13 160 269 1 整数部分的转换步骤 把r写成十进制数 将N除以r 记录商和余数 并用r进制表示余数 这余数便是用r进制表示的数的最低位数字 把上次的商进行 中所述除以r取余的运算 用r进制表示余数 重复这种运算直到商为0 这时的余数即为十进制数N用r进制表示时的最高位数字 2 十进制数转换为r进制数 将整数部分和小数部分分别进行转换 例如 将163转换为二进制数 过程如下图所示 2 小数部分的转换步骤 把r写成十进制数 将N乘以r 记录积的整数部分和小数部分 并用r进制表示整数部分 该整数即为转换后r进制小数的最高位 把上次积的小数部分进行 中所述乘以r取整的运算 用r进制表示积的整数部分 重复这种运算直到积的小数部分为0 或者达到所要求的位数 这时的整数部分即为十进制数N转换成r进制小数的最低位 例如 将十进制数0 8125转换为二进制数 2 0 8125 1 625d 1 12 0 625 1 25d 2 12 0 25 0 5d 3 02 0 5 1d 4 1 0 8125 10 0 1101 2将十进制小数转换为R进制小数 可用类似的乘R取整法 3 二进制与八进制 十六进制的相互转换 从二进制转换成十六进制时 从小数点位置开始 整数部分向左 小数部分向右 每四位二进制数为一组用一位十六进制的数字来表示 不足四位的用0补足 就是相应十六进制的表示 从二进制转换成八进制时 从小数点位置开始 整数部分向左 小数部分向右 每三位二进制数为一组用一位八进制的数字来表示 不足三位的用0补足 就是相应八进制的表示 例 10011110 10101B 010011110 101010B 236 52Q110101011 01111B 000110101011 01111000B 1AB 78H 二 Intel8086 8088微处理器简介Intel8086是Intel公司1977年推出的16位微处理器 按功能可分为两大部分 执行部件和总线接口部件 两部分是相对独立的 彼此通过内部总线连接起来 1 执行部件 EU EU由算术逻辑单元 ALU 指针和变址寄存器组 通用寄存和EU控制单元等组成 EU部分负责执令的执行 向总线接口的部件 BIU 提供数据和地址 对通用寄存器和标志寄存器进行管理 EU不与系统总线相连 因而不能直接访问存储器和I O接口 EU所执行的指令是从BIU部件的指令队列中获得的 当某条指令要求访问存储器和I O时 EU就向BIU发出请求 由BIU通过总线去完成数据的读和写 8086微处理器内部结构 2 总线接口部件 BIU 总线接口部件由指令指针存器 即程序列 地址产生及总线控制逻辑等部分组成 BIU执行EU所要求的全部总线操作 按照EU的要求 向存储器和I O器件传送数据 BIU具有预取指令的功能 在EU执行指令其间 BIU提前从存储器取出一些指令 按执行的顺利 装入指令队列中 该队列共有6个单元 能保存一个字节的指令 队列按 先进先出 的原则组织 EU执行完当前指令后 指令队列中的指令依次送入EU EU又开始执行下一条指令 3 8086寄存器组 8086有14个寄存器 它们都是16位的 这些寄存器按功能可为6类 1 通用寄存器 4个 2 地址指针寄存器 2个 3 变址寄存器 2个 4 段寄存器 4个 5 指令指针寄存器 1个 6 标志寄存器 1个 8086寄存器组 1 通用寄存器 1 数据寄存器 AX BX CX DX 数据寄存器用来保存操作数或运算结果等信息 AX寄存器称为累加器 使用频度最高 用于所有的输入 输出操作 某些字串操作以及算术运算 如乘法 除法 某些翻译指令也使用AX寄存器 BX寄存器称为基址寄存器 常用于存放存储器地址 用于扩展寻址 起变址作用 CX寄存器称为计数器 一般作为循环或串操作等指令中的隐含计数器 DX寄存器称为数据寄存器 常用于字乘法和除法中存放双字数据的高16位 或用来存放外设端口地址 2 变址寄存器A SI
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号