汇编原理 基础知识.ppt
《汇编原理 基础知识.ppt》由会员分享,可在线阅读,更多相关《汇编原理 基础知识.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、云南大学软件学院本科教学课程云南大学软件学院本科教学课程教学单位:云南大学软件学院教学单位:云南大学软件学院教师:王逍教师:王逍80X8680X86计算机组成与汇编语言计算机组成与汇编语言一些基本问题课程内容课程内容 组成原理的问题与汇编程序的问题 学习方法学习方法 编程、编程、编程 学习目的学习目的 理解、融合、贯通 编程环境编程环境 IDE与debug辅导与答疑辅导与答疑?考核考核 平时0.1+期中0.2+1期末0.7 第一章第一章 基础知识基础知识 计算机由硬件系统和软件系统的协同工作完成相应的功能,计算机是硬件和软件的综合体。计算计算机系机系统组统组成成计算机软件计算机系统主存运算器控
2、制器内部寄存器组CPU主机辅存I/O设备外设计算机硬件1.1 基本概念 定义 电子式数字计算机,即通常所说的计算机,是一种把程序以及数据用二进制的形式进行存储,并根据程序的功能自动连续的对数据进行算术运算和逻辑运算的工具。定义 计算机系统,由计算机硬件(Hardware)系统与软件(Software)系统两部分组成。定义 硬件系统,即计算机的硬件设备,指计算机系统中各种电子的、机械的、磁性的、光的器件或装置;硬件系统是计算机系统中看得见、摸得着的物理实体,是计算机的“躯体”。定义 软件系统,指控制、管理计算机硬件以及解决各类应用问题的所有程序的总和;软件系统看不见、摸不着,是计算机的“灵魂”。
3、1.1.1 冯冯诺依曼计算机诺依曼计算机 根据计算机的特点,计算机要实现的基本功能是:数据处理数据处理:可以进行数值处理和非数值处理。数据传送数据传送:计算机与外界交换数据。数据存储数据存储:存储程序和数据。1945年,美籍匈牙利数学家John Von Neumann提出冯诺依曼计算机,其特点为:采用二进制代码表示数据与指令。采用储存程序工作方式。运算器、储存器、控制器、I/O设备构成计算机硬件系统。冯诺依曼计算机工作原理核心是存储程序的工作方式存储程序的工作方式。1.2.1 计算机的硬件系统 根据冯诺依曼提出的计算机工作原理,计算机硬件的基本组成主要有输入设备、存储器、运算器、控制器、输出设
4、备5大部件,在计算机程序的控制下,完成信息的输入、存储、处理、控制以及输出等功能。组成框图如图1-1所示。运算器和控制器合称中央处理器,简称cpucpu;运算器、控制器、内存储器以及输入、输出接口电路合称主机主机;各种输入、输出设备和外存储器合称计算机外围设备,简称外设外设。输输入入设设备备控制器控制器输输出出设设备备 CPUCPU运算器运算器ALU ALU 存储器存储器指指令令数数据据结结果果请请求求命命令令状状态态请请求求命命令令命命令令数数据据结结果果地地址址指指令令图1-1计算机硬件的基本组成 计算机的硬件系统各个组成部分的功能:1.1.控制器控制器:是计算机中控制执行指令的部件,其主
5、要功能包括:正确执行每条指令:首先是取来一条指令,接着分析这条指令,再按指令格式和功能执行这条指令 保证指令按规定序列自动连续地执行。对各种异常情况和请求及时响应和处理。说到底,控制器要向计算机各功能部件提供每一时刻协同运行所需要的控制信号。计算机的硬件系统各个组成部分的功能:2.2.运算器运算器:是计算机中进行数据加工的部件,其主要功能包括:执行数值数据的算术加减乘除等运算,或执行逻辑数据的与或非等逻辑运算,由一个被称为 ALU 的线路完成。暂时存放参加运算的数据和中间结果,由多个通用寄存器来承担。运算器通常也是数据传输的通路。计算机的硬件系统各个组成部分的功能:3.3.存储器存储器:由高速
6、缓冲存储器(cache),主存储器(内存),外存储器(硬盘、光盘)所组成的多级(层)存储器系统,是计算机中用于存储程序和数据的系统。这三级存储器各自的功能分工、所用的存储介质的工作原理和特性各不相同。4.4.输入设备输入设备:输入设备是向计算机中送入程序和数据的有一定独立功能的设备,用于人机交互联系,如计算机键盘和鼠标等。5.5.输出设备输出设备:输出设备是计算机中用于送出计算机内部信息的设备,例如打印机、显示器等。总线总线 使用总线连接计算机各个组成部件,构成各组成部件之间信息传输通道。定义 总线,是一组能为计算机内部多个部件分时共享的公共信息传送线路。说明共享,一组总线可以挂接多个部件。说
7、明分时,同一时刻,同一组总线只能有一个发送源;不同的时刻,同一组总线可以有不同的发送源。说明分时共享,挂接在同一组总线的部件在不同的时刻使用同一组总线发送与接受信息。1.总线分类 按传输方向单向总线、双向总线。按总线条数单总线、多总线。按传输信息地址总线(address bus,简称ab)、数据总线(data bus,简称db)、控制总线(control bus,简称cb)。2.常用总线结构-单总线结构单总线结构特点 同一时刻只允许有一个部件拥有对总线的控制权 总线上的主设备:拥有对总线控制权的部件 同一时刻只允许有一个总线的主设备如图1-2所示。图1-2 单总线结构 CPU主存接口1接口nI
8、/O设备I/O设备总线主设备常用总线结构-双总线结构双总线结构双总线指存储总线、I/O总线方式1 以cpu为核心的连接方式,如图1-3所示。CPU主存接口1接口nI/O设备I/O设备I/OI/O总线总线存储总线存储总线图1-3 cpu为核心的双总线结构 方式2 以存储器为核心的连接方式,如图1-4所示。主存cpu接口1接口nI/O设备I/O设备I/OI/O总线总线存储总线存储总线图1-4 存储器为核心的双总线结构 常用总线结构-多总线结构多总线结构如图1-6所示。cpucache高速总线存储管理部件ram次高速总线总线控制器总线控制器低速外部总线高速外部总线图形卡dmac网 卡键 盘软 盘串行
9、接口音频口图1-6 多层总线结构 1.2.2 计算机的软件系统 计算机的软件系统可以分为系统软件和应用软件,简单分类如下图1-7所示。软件软件系统系统科学计算类程序工程设计类程序数据处理类程序信息管理类程序自动控制类程序情报检索类程序操作系统语言处理程序数据库管理系统各种服务性支撑软件各种标准程序库系统软件系统软件应用软件应用软件图1-7 计算机软件系统 1.3计算机的层次结构 计算机系统以硬件硬件为基础,通过配置各种软件软件,形成一个有机组合的系统。对其通常采取一种层次结构观点去进行分析或设计,也就是从不同的角度将计算机系统分成若干级(层次)。硬件逻辑部件硬件逻辑部件微程序控制器微程序控制器
10、用户程序用户程序硬核硬核机器语言(指令系统)机器语言(指令系统)操作系统操作系统语言处理程序(解释、编译)语言处理程序(解释、编译)作为软件资源的应用程序作为软件资源的应用程序数学模型、算法数学模型、算法系统分析级系统分析级用户程序级用户程序级操作系统级操作系统级机器语言级机器语言级微程序级微程序级计计算算机机系系统统逐逐级级生生成成过过程程应应用用计计算算机机系系统统求求解解问问题题过过程程1 1:从组成计算机硬件软件划分的层次结构,如图1-8所示。计算机分为系统分析级、用户程序级、操作系统级、机器语言级和微程序级5个层次。图1-8 计算机硬件软件组成层次结构 2 2:从计算机语言级划分的层
11、次结构,如图1-9所示。计算机分为机器语言物理机、汇编语言虚拟机、高级语言虚拟机、专用语言虚拟机4个层次。定义语言级,将计算机的功能描述为能执行某些程序设计语言编写的程序。定义 虚拟机,通过配置软件扩展机器功能后所形成的一台计算机,即采用软件形式表示出来的计算机。专用语言虚拟机高级语言虚拟机汇编语言虚拟机实际机器(机器语言物理机)程序图1-9 计算机语言级层次结构 数字逻辑级级0硬件电路微程序机器级级1微程序机器语言级级2机器语言操作系统机器级级3操作系统汇编语言级级4汇编程序面向问题的语言级级5编译程序面向用户支持高一级语言的编译或解释程序3 3:从实际应用划分的层次结构,如图1-10,计算
12、机分为数字逻辑级、微程序机器级、机器语言级、操作系统机器级、汇编语言级、面向问题的语言级6个层次。图1-10 计算机实际应用层次结构 1.41.4 计算机的性能指标计算机的性能指标定义 位(bit),指计算机能表示的最基本最小的单位。在计算机中采用二进制表示数据和指令,故:位就是一个二进制位,有两种状态,“0”和“1”。定义 字节(byte,简写为b),相邻的任意8位二进制数称为一个字节。1 Byte=8 bit 计算机中一个字节可以表示为:1100 0011 或者 0101 0111字节单位(k,m,g,t)的换算关系 1K=1024B=1024*8bit;1M=1024K;1G=1024M
13、;1T=1024M定义 字(word,简写为w),是CPU内部进行数据处理的基本单位。定义 字长,每一个字(word)所包含的二进制位数。常与CPU内部的寄存器、运算装置、总线宽度一致。字长是衡量cpu工作性能的一个重要参数,不同类型的cpu有不同的字长。如:Intel 4004cpu是4位Intel 8080cpu是8位(一个字节)Intel 8088/8086/80286cpu是16位(两个字节)Intel 80386/80486、Pentiumcpu是32位(双字)一般把一个字定为16位,则1word=2byte,10110011(高8位)10011001(低8位)高字节 低字节同理一个
14、双字(dword)定为32位,则1dword=2word=4byte 高字 低字定义 位编号,为便于描述,对字节,字和双字中的各位二进制数进行编号。从低位开始,从右到左依次为0、1、2、。若丐位二进制数表示数值,可以使用位编号d0、d1、d2、表示;若该位二进制数表示地址,可以使用位编号a0、a1、a2、表示。编号7654321010100010d7d6d5d4d3d2d1D0a7a6a5a4a3a2a1a0字节数值data地址addressD0D7D15D8158101010101010101070A0A7A15A8字的编号为15-0双字的编号依此类推,为31-0定义 主频,也叫做时钟频率,
15、用来表示微处理器cpu的运行速度,主频越高表明微处理器运行越快,主频的单位是MHz或GHz。早期微处理器的主频与外部总线的频率相同,从80486DX2开始,主频=外部总线频率倍频系数,外部总线频率通常简称为外频,它的单位也是MHz。外频越高说明微处理器与系统内存数据交换的速度越快,因而微型计算机的运行速度也越快。倍频系数是微处理器的主频与外频之间相对比例系数。通过提高外频或倍频系数,可以使微处理器工作在比标称主频更高的时钟频率上,这就是所谓的超频超频。1.51.5 计算机中的信息表示计算机中的信息表示 数据信息数据信息指令信息指令信息数值型数据数值型数据非数值型数据非数值型数据产生控制信号的基
16、本依据产生控制信号的基本依据带符号数的表示带符号数的表示1、真值与机器数真值与机器数机器数:机器数:在计算机中使用的连同数符一起数码化的数。在计算机中使用的连同数符一起数码化的数。真值:真值:正负号加绝对值表示的数值。正负号加绝对值表示的数值。常用的机器数表示形式有常用的机器数表示形式有原码、补码和反码原码、补码和反码。例如:设机器字长为例如:设机器字长为8位,有如下真值的原、补、反码位,有如下真值的原、补、反码 真值x x 原 x 补 x 反 1101000011010000110100001101 0000000000000000000000000 -0100000000000000011
17、111111 -1101100011011111001111110010 1.5.1 1.5.1 数值型数据的表示数值型数据的表示 定点数和浮点数是计算机中保存带小数的数值数据的两种编码方式。定义 定点数,在计算机中表示带小数的数值数据时,约定小数点的位置固定在某处不变。根据小数点的位置不同,定点数分为定点整数和定点小数两种。定义 定点整数,小数点位置固定在最低位之后(即最低位的右边),即数值数据为纯整数。根据数值数据是否带符号,定点整数分为带符号的定点整数和不带符号的定点整数。定义 定点小数(纯小数),小数点位置固定在最高数值位之前,符号位之后,即数值数据为带符号的纯小数。定点数与浮点数定点
18、数与浮点数定义 浮点数,在计算机中表示带小数的数值数据时,小数点的位置根据需要可以改变。不管是采用定点数还是浮点数表示带小数的数值数据,小数点都不需要出现在计算机内部的编码中,小数点的位置由编码方式确定。定点数与浮点数定点数与浮点数无符号整数无符号整数定点整数定点整数定点小数定点小数0000000011111111 025511111111 01111111原原原原-127127补补10000000 01111111补补-1281271.1111111 0.1111111原原原原-(1-2-7)(1-2-7)1.0000000 0.1111111补补补补 -1(1-2-7)1、定点数定点数设机
19、器字长设机器字长8 8位,则一些定点数的表示范围如下:位,则一些定点数的表示范围如下:E E浮点数真值:浮点数真值:N=N=+R M R M 浮点数机器格式:浮点数机器格式:阶码阶码MsMs Es EEs E1 1 E Ek M M1 M Mn尾数尾数阶符阶符数符数符R R:阶码底,隐含约定,与尾数基数相同。:阶码底,隐含约定,与尾数基数相同。E E:阶码,为定点整数,补码或移码表示。:阶码,为定点整数,补码或移码表示。其其位数位数决定决定数值范围数值范围;阶符阶符表示表示数的大小数的大小。M M:尾数,为定点小数,原码或补码表示。:尾数,为定点小数,原码或补码表示。其其位数位数决定决定数的精
20、度数的精度;数符数符表示表示数的正负数的正负。尾数规格化:尾数规格化:1/2 M 1/2 M 1 1最高有效位绝对值为最高有效位绝对值为1 12、浮点数浮点数(1 1)典型浮点数格式)典型浮点数格式MsMs:尾数的符号位,也是整个浮点数的符号位。:尾数的符号位,也是整个浮点数的符号位。尾数规格化尾数规格化在浮点数编码格式中,为了充分利用尾数的有效位数,同时使一个浮点数具有确定的表示形式,通常采用浮点数规格化形式,即将尾数的绝对值限定在某个范围之内。如果阶码的底为2(即尾数采用二进制表示),则规格化浮点数的尾数应满座条件:1/2=|M|11/2=|M|1(保证小数点后第一位为1),即尾数一般作为
21、定点纯小数,其绝对值应该小于1。一般说来,若采用补码表示尾数,对于正数,规格化尾数最高数位m m1 1=1;对于负数,规格化尾数最高数位m m1 1=0。1001110101100101010例 某计算机内部浮点数编码格式位长12,其中阶码采用4位补码表示;尾符1位,尾数7位采用补码表示。写出二进制数(-101.011)规格化浮点数代码:(-101.011)B=(-0.101011)2-101.011)B=(-0.101011)2+3+3 阶码=+3=0 011尾符=“-”=1,尾数=101011尾数=(1010110)补码=(0101001+1)=0101010(2)表示范围表示范围表示范围
22、:表示范围:-231 231(1-2-9)例:某规格化浮点数用补码表示,其中阶码例:某规格化浮点数用补码表示,其中阶码6位,含位,含1位阶位阶符;尾符符;尾符1位,尾数位,尾数9位。位。阶符阶符1 1位,阶码位,阶码k位,补码表示,以位,补码表示,以2 2为底;为底;数符数符1 1位,尾数位,尾数n位,补码表示,规格化。位,补码表示,规格化。绝对值最大浮点负数绝对值最大浮点负数:最大浮点正数最大浮点正数:最小浮点正数最小浮点正数:阶码为最大数:阶码为最大数:2 -1k尾数为绝对值最大的负数:尾数为绝对值最大的负数:-1尾数为最大数:尾数为最大数:阶码为最大数:阶码为最大数:2 -1k1-2-n
23、阶码为最小数:阶码为最小数:-2 k尾数为最小正数:尾数为最小正数:2-1最小绝对值:最小绝对值:2-33(3)实用浮点数格式实用浮点数格式IEEE754IEEE754标准的标准的3232位浮点数格式为:位浮点数格式为:阶码阶码S S 尾数尾数数符数符31 30 23 22 0阶码阶码:8 8位以位以2 2为底,阶码为底,阶码 =阶码真值阶码真值 +127+127。尾数尾数:2323位,采用隐含尾数最高位位,采用隐含尾数最高位1 1的表示方法,的表示方法,实际尾数实际尾数2424位,尾数真值位,尾数真值 =1+=1+尾数尾数S S:数符数符,0 0正正1 1负。负。这种格式的非这种格式的非0
24、0浮点数真值为:浮点数真值为:(-1)2 (1+尾数)尾数)S阶码阶码-127(3)实用浮点数格式实用浮点数格式例如:试将例如:试将-(0.110.11)用)用IEEEIEEE短实数浮点格式表示出来。短实数浮点格式表示出来。阶码阶码S S 尾数尾数数符数符31 30 23 22 0阶码:阶码阶码:阶码 =阶码真值阶码真值 +127=-1+127=126=+127=-1+127=126=(0111111001111110)尾数:为尾数:为 0.100 0.100 02解:解:-(0.11)=-0.11)=-(1+0.11+0.1)22-1数符数符:为:为1 12该浮点代码为该浮点代码为 1,01
25、111110,100 1,01111110,100 0阶码阶码8位位尾数尾数23位位 1.5.2 1.5.2 字符的表示字符的表示 1 ASCIIASCII码码 美国国家信息交换标准代码,简称美国国家信息交换标准代码,简称ASCII码。码。09共共10个数字字符:个数字字符:30H39H 26个大写英文字母:个大写英文字母:41H5AH一些一些通用符号和控制符号通用符号和控制符号 128个个ASCIIASCII码码字符包括字符包括 通常一个字符的通常一个字符的ASCIIASCII码占用主存一个字节单码占用主存一个字节单元,元,字符序列字符序列则占用连续的主存单元。则占用连续的主存单元。26个小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编原理 基础知识 汇编 原理
限制150内