版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1D硬件讲义计算机硬件基础微机的总线与主板22.1.1计算机的主要部件
五大基本部件:输入设备主存储器辅助存储器输出设备运算器控制器输入输出程序/原始数据运算结果指令数据线控制信号线存储器第1页/共112页2.1.1计算机的主要部件运算器
功能:算术运算和逻辑运算其主要部件:ALU(算术逻辑部件)控制器
功能:使计算机能自动地执行程序,并使各部分协调工作存储器
功能:用于保存程序和数据主存储器(内部存储器):存放当前所执行程序的指令和数据辅助存储器(外部存储器):存放暂不参加运算的程序的指令和数据注意:一切程序和数据必须进入内存才能被计算机执行和使用。输入设备:用于程序和数据输入(标准设备:键盘、鼠标)输出设备:用于程序和数据输出(标准设备:显示器、打印机)第2页/共112页2.1.1计算机的主要部件
在计算机五大部分中,运算器和控制器是最核心的部分,通常做在一个器件上,称作CPU(CenterProcessingUnit)。
CPU=控制器+运算器(+寄存器组)只有主存(内存)可直接与CPU交换信息,它与CPU组合可实现计算机的基本功能。
主机=CPU+主存储器输入/输出(Input/Output)设备和外存合称“外围设备”。
外设=I/O+辅助存储器
第3页/共112页2.1.2计算机的总线结构
总线是一组能为多个部件服务的公共信息传送线路,分时地发送与接收各部件的信息。计算机的五大部件之间就是通过(Bus)连接实现信息交换的。根据总线所传输的信息通常把总线分为地址总线、数据总线和控制总线。简称三大总线。三大总线=数据总线+地址总线+控制总线地址总线(AB):单向,用于向内存、输入/输出设备传输地址信息。数据总线(DB):双方,传输各种数据信息。控制总线(CB):传输控制信息第4页/共112页2.1.2计算机的总线结构
微型计算机通常把各大部件都连接在单一的一组总线上,各部件间的信息交换都经过这组总线,因此称其为系统总线。这种结构提高了CPU的工作效率,而且外设连接灵活,易于扩充。但由于所有部件都挂在同一组总线上,而总线又只能分时的工作,故同一时刻只允许一对设备(或部件)之间传送信息,这使信息传送的吞吐率受到限制,此外,总线的管理也比较复杂。系统总线CPU内存接口外部设备接口外部设备….单总线结构第5页/共112页2.2中央处理器的基本组成与基本工作原理中央处理机CPU
中央处理机即CPU,(centralprocessingunit)是计算机中最核心的部件,用于进行运算和控制。微机所用的CPU芯片是将运算器、控制器和寄存器集成在一个半导体基片内,称为微处理器。
CPU的基本功能:执行指令、负责控制微机的所有动作(运算、控制、计算机与设备间的数据传送)
CPU的组成:CPU内部的电路可以划分为运算电路和控制电路两大部分。主要组成部件包括运算器、控制器和寄存器组。
运算器(也称“算术逻辑单元ALU:ArithmeticLogicUnit)其功能实执行算术运算、逻辑运算(至少一个ALU,专用浮点数计算芯片——“协处理器”或“浮点处理器”)
控制器:指令执行的顺序、控制各种部件的动作
寄存器组(R):暂存数据、命令第6页/共112页2.2.1中央处理器的基本构成指令寄存器(IR)指令译码器(ID)操作控制器(OC)寄存器组(IR)通用寄存器组堆栈指针(SP)程序计数器(PC)累加器(ACC)累加器锁存器暂存器标志寄存器(FR)地址缓存器数据缓存器内部总线控制器运算器控制总线(CB)地址总线(AB)数据总线(DB)ALU是运算器的核心,它是以全加器为基础,辅以移位寄存器及相应的控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除几各种逻辑运算。累加器是一个特殊的通用寄存器,他总是提供送入ALU的两个运算操作数之一,且运算后的结果又总是返回累加器。暂存器的作用保从将要送入ALU运算的操作数器。寄存器组用于暂存数据、命令指令寄存器组用于存放要执行的指令。根据指令内容,发出控制信号。标志寄存器主要用于存放ALU操作结果的状态和特征:包括两部分内容:状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。控制标志,如:中断标志、陷阱标志等。。第7页/共112页2.2.1中央处理器的基本构成1.运算器⑴累加器A:N位的寄存器,用于保存运算过程中的有关数据。⑵暂存器:N位寄存器,接收来自累加器和数据总线的数据。⑶加法器Σ:由N个全加器构成。加法器的两个输入:累加器A、暂存器加法器的输出:送入累加器A,也可以发送给数据总线DB。第8页/共112页2.2.1中央处理器的基本构成2.控制器⑴程序计数器PC,又称指令计数器⑵指令寄存器IR,存放从内存中取出的待执行的指令。⑶指令译码器ID,又称操作码译码器或指令功能分析解释器。⑷地址形成部件⑸微操作信号发生器
指令的执行都可分解成一系列微操作控制信号。微操作信号发生器的根据指令译码器的输出和时序部件提供的定时信号,确定完成该指令所需要的步骤以及完成每一步骤所需要的控制信号组合。⑹时序部件,给出定时信号以确定产生控制信号的具体时间。第9页/共112页2.2.1中央处理器的基本构成3.CPU中的寄存器按功能分有通用寄存器和专用寄存器⑴通用寄存器存放原始数据和运算结果作为变址寄存器、计数器、地址指针等。⑵专用寄存器程序计数器PC指令寄存器IR等状态标志寄存器主要包括两部分内容:状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。控制标志,如:中断标志、陷阱标志等。第10页/共112页2.2.2计算机中数据信息的表示数字化信息编码的概念:在计算机中,数字是以一串“0”或“1”的二进制代码来表示的,这是一种计算机唯一能识别的机器语言。所有需要计算机加以处理的数、字字母、文字、图形、图象、声音等信息以及控制操作等命令(人读数据)都必须采用二进制编码(机读数据)来表示和处理。也就是说:在计算机内一切信息必须进行数字化编码(即用二进制代码形式),才能在机内传送、存储和处理。
人们输入到计算机中的各种信息,都要通过系统自动转换成计算机能处理的二进制数,处理完成后,系统把这些处理过的二进制数再自动还原成各种信息。即:输入→处理→输出
(多类型信息1)(二进制)(多类型信息2)第11页/共112页2.2.2计算机中数据信息的表示进位计数制:
按进位的方法进行计数,称为进位计数制。也就是数字累计到最大计数(进制数)时,数码长度就增加一位或数码高位数值增1。任意进制数的表示基数(K)
:是最大进位数(进制数),例如:十进制基数为10;六十进制(时间)的基数为60等。系数(m)
:每个数位上的值,取值范围0—k-1【例】数32343.43可以分解为:
3×104+2×103+3×102+4×101+3×100+4×10-1+3×10-2位权位权位权位权位权位权位权第12页/共112页可用数码进位基数0…K-10123456789ABCDEF01234567010123456789逢K进1逢16进1逢8进1逢2进1逢10进1K168210K进制十六进制八进制二进制十进制常用数制2.2.2计算机中数据信息的表示K进制数的某些性质:小数点右移n位——相当于乘以Kn(增加Kn倍)小数点左移n位——相当于除以Kn(为Kn份之一)思考:m位K进制数,其最大数值是多少?最小数值是多少?第13页/共112页2.2.2计算机中数据信息的表示K进制数转换为十进制数位权展开法【例一】将下列数值转换为十进制数
(101.01)2(205.4)8(AF.8)16
解:(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2=(5.25)10(205.4)8=2×82+0×81+5×80+4×8–1=(133.5)10
(AF.8)16=10×161+15×160+8×16-1=(175.5)10【思考】以下数值中最大的和最小的分别是哪个?
①(1234)8(1234)16(1234)5(1234)10
②(11011011)2(219)16(210)8(219)10
第14页/共112页十进制数转换为K进制数将整数部份和小数部份分开来算,位权展开法整数部份:除以K取余数,直到商为0,余数从自下而上排列小数部份:以小数部分乘以K取积的整数,并将其自上而下排列,直
计算机中数据信息的表示到小数部份为0或规定精度为止【例】将(100.345)10转换为二进制
除2取余余数整数乘2取整
2|23710.6252|1180取×22|59111.2502|291值0.252|140×2
转换结果为:11101101.1012|71方00.502|31×22|11向11.00第15页/共112页2.2.2计算机中数据信息的表示除8取余余数整数乘8取整8|2375取0.6258|295值×88|33方55.0000向第16页/共112页2.2.2计算机中数据信息的表示
除16取余余数整数乘16取整16|237D(13)取0.62516|14E(14)值×16
0方A10.000
向第17页/共112页2.2.2计算机中数据信息的表示二进制数→十六进制数方法:以小数点为基准,分别向左和向右每4位划为一组,不足4位用0补,每一组用其对应的十六进制数代替。例:11110.01B=00011110.0100B=1E.4H1111101.001B=01111101.0010B=7D.2H第18页/共112页2.2.2计算机中数据信息的表示十六进制数→二进制数方法:将每位十六进制数用其对应的4位二进制数代替即可。例:1E.4H=00011110.0100B=11110.01B7D.2H=01111101.0010B=1111101.001B第19页/共112页2.2.2计算机中数据信息的表示总结:十进制数与二进制数之间的转换需计算,不直观;二进制表示的数位多不便于书写、阅读;八进制、十六进制数与二进制数间转换方便、直观,相对于二进制数,八进制、十六进制数书写、阅读相对方便第20页/共112页2.2.2计算机中数据信息的表示1.二进制数的表示无符号数:正整数。带符号数:正数或负数。最高位为符号位,“0”表示“+”,“1”表示“–”。这种表示数的形式称为机器数。原码、反码、补码。⑴原码高位为符号位,如:八位的原码X1=+9=+1001B[X1]原=00001001X2=–9=–1001B[X2]原=10001001在原码表示中,0有两种不同的表示形式:[+0]原
=00000000[–0]原
=10000000设字长为n+1位(含1位符号位),原码的表示范围为:–(2n
–1)~(2n
–1)。若字长为8位,则表示范围为–127~127。第21页/共112页2.2.2计算机中数据信息的表示⑵反码正数的反码=原码;负数的反码=原码尾数部分按位取反。如:八位的反码X1=+9=+1001B[X1]反=00001001X2=–9=–1001B[X2]反=11110110在反码表示中,0也有两种不同的表示形式:[+0]反=00000000[-0]反=11111111设字长为n+1位(含1位符号位),反码的表示范围也为:
–(2n
–1)~(2n
–1)。若字长为8位,则表示范围为–127~127。
第22页/共112页例:机器字长8位,[-46]补码=?[46]补码=001011101101000111010010=D2H
机器字长16位,[-46]补码=FFD2H
[+0]补码=000000001111111100000000=00H=
[-0]补码0的表示唯一按位求反末位加一按位求反末位加一2.2.2计算机中数据信息的表示(3)补码:正数的补码:同原码负数的补码:(1)写出与该负数相对应的正数的补码
(2)按位求反
(3)末位加一第23页/共112页2.2.2计算机中数据信息的表示2.三种机器数的比较主要区别有以下几点:⑴对于正数它们相等,而对于负数各有不同的表示。⑵补码和反码的符号位可作为数值位的一部分看待,但原码的符号位不允许和数值位同等看待。⑶原码和反码各有两种零的表示法,而补码具有唯一的一种零的表示法。⑷
原码、反码表示的正、负数范围相对零来说是对称的,但补码负数表示范围较正数表示范围宽。第24页/共112页2.2.2计算机中数据信息的表示⑸符号扩展:将低精度数转换为高精度数,如将8位转换为16位。原码的符号扩展正数:00101001→0000000000101001负数:10101001→1000000000101001反码的符号扩展正数:00101001→0000000000101001负数:10101001→1111111110101001补码的符号扩展正数:00101001→0000000000101001负数:10101001→1111111110101001
80X86有符号扩展的专用指令。第25页/共112页2.2.2计算机中数据信息的表示3.机器数的定点与浮点表示⑴定点表示法所有数据的小数点位置固定不变。小数点“.”在机器中的位置是隐含约定的,并不需要真正地占据一个二进制位。由于实际参与运算的数往往是混合数,它既有整数部分又有小数部分,所以必须选取合适的比例因子,把原始的数缩小成纯小数或扩大成纯整数后再进行处理,所得到的运算结果还需要根据比例因子还原成实际的数值。第26页/共112页2.2.2计算机中数据信息的表示⑵浮点表示法
小数点的位置不固定,根据需要而浮动。任何一个数N的浮点表示形式为:N=M×2E
式中:E和M都是带符号的定点数,E为阶码部分,M为尾数部分。在大多数计算机中,尾数为纯小数,阶码为纯整数。
阶码部分的符号位为es,阶码的大小反映了在数N中小数点的实际位置;尾数部分的符号位为ms,它是整个浮点数的符号位,表示了该浮点数的正负。浮点表示法与定点表示法比较,在相同字长下前者所能表示数的范围要大得多,且可以不取比例因子,使用比较方便。第27页/共112页2.2.2计算机中数据信息的表示4.十进制数的表示BCD码:二进制编码的十进制数(Binary-CodeDecimal),一般用四位二进制代码来表示一位十进制数,使用最广泛的是8421码,通常称其为标准BCD码(NBCD码),在80X86微处理器中干脆就称之为BCD码。8421码的主要特点:简单直观。从高到低各位的权分别为8、4、2、1。不允许出现1010~1111。这六个代码在8421码中是非法码。
BCD码与二进制数之间转换没有直接关系, 必须先转换成十进制,然后转换成二进制。例:1111111B=255D=0010,0101,0101BCD 0010,0101,0101BCD=255D=11111111B第28页/共112页2.2.2计算机中数据信息的表示
5.非数值数据的表示
通常是指字符、字符串、图形符号和汉字等各种数据,它们通常不用来表示数值的大小,因此又称为非数值数据,一般情况下不对它们进行算术运算。(1)ASCⅡ
目前在微机上使用最广泛的是ASCⅡ(美国标准信息交换码,以被ISO认定为国际标准),可表示128种字符的7位基本ASCⅡ码(国际通用)和可表示256种字符的8位扩充ASCⅡ码(可重新定义)。
ASCⅡ码可分为:显示字符(例如键盘字符键的编码,“0”为48,“A”为65)和控制字符(例如return、backspace键的编码分别为13、8)。第29页/共112页2.2.2计算机中数据信息的表示第30页/共112页2.2.2计算机中数据信息的表示(2)汉字编码汉字是一种象形文字,无法直接用标准西文键盘输入,必须经过转换间接输入;汉字的字数也较多,不能用单字节的ASCⅡ(256个字符)来表示。因此,按照不同的目的和需要,产生了多种汉字编码系统与汉字输入方法。目前采用两个字节(可以表示64K字符)的汉字编码方案。由于汉字的应用范围较广(东南亚国家),汉字的编码字符集不相同,中国大陆常用GB/GBK码,台湾BIG5。第31页/共112页2.2.2计算机中数据信息的表示汉字处理过程汉字系统对每个汉字预先规定输入计算机中的代码,即汉字的外部码(例如拼音输入码)。计算机为了识别汉字,要把汉字的外部码转换成内部码(二进制代码)进行存储和处理。输出时,还将汉字的内部码转换成汉字的字形码。计算机处理汉字的总过程如下:键盘管理程序汉字处理程序外部(输入)码→机内码→字形(输出)码
(键盘)(计算机存储、传输)(计算机输出汉字)↑↓↑↓
汉字信息交换码(国标码)汉字信息↓↑其它系统代码第32页/共112页2.2.2计算机中数据信息的表示交换码
用于计算机与其他系统或设备之间进行汉字代码信息交换的标准汉字代码,目前最常使用的是国标码1981年的GB2312-80,7445;2000年的GB18030-2000,27000
特点每个汉字(图形符号)用两个字节表示,每个字节只用低7位,即最高位为0的二进制码。在128种编码表示中,有94种用来表示汉字的编码。此标准的汉字编码表有94行、94列,分别为区号和位号。汉字编码使用的高字节称为区码,低字节称为位码。汉字分为两级:一级为使用频度高的常用汉字;二级为次常用的汉字;第33页/共112页2.2.2计算机中数据信息的表示内部码
也称汉字内码或汉字机内码,是计算机对汉字进行存储、运算、传码的实际代码。
特点是由0和1组成的二进制代码。一个汉字对应一个机内码,即汉字数目=机内码数目;一般用两个字节表示一个汉字的内码且每个字节最高位为1。还有少数三字节、四字节等内部码最多能表示128×128=16384个汉字和图形符号;机内码目前虽未完全统一,但已趋于标准化。内部码与国标码的对应关系:内码=国标码+8080
即国标码每个字节最高位为1→内部码。例如:国标码3B7A→0011101101111010那么,机内码BBFA→1011101111111010第34页/共112页外部码
也叫汉字输入编码,主要是从键盘(语音、手写、光电)输入计算机中的代表汉字的编码。键盘输入方式目前汉字输入方案有数百种,基本上是直接利用西文标准键盘进行汉字输入,每一种汉字输入法都各自提供相应的键盘码与汉字机内码(码表),编码方案大致可分以下四类:数码(如电报码,区位码,国标码等)音码(如全拼码,简拼码,双拼码等)形码(如五笔字型,大众码,仓吉码等)音形码(如自然码,首尾码等)2.2.2计算机中数据信息的表示第35页/共112页各种输入码交换码(国标码)内码字形码显示汉字打印汉字汉字代码交换流程2.2.2计算机中数据信息的表示第36页/共112页2.2.2计算机中数据信息的表示6.现代微机系统中的数据类型举例支持浮点运算的浮点部件(FPU)。8086—80386对应8087—80387,80486以后嵌入于CPU内部。⑴无符号二进制数字节:8位数,存放在任何逻辑地址上的8位二进制数。字:16位数,存放在任何字节地址开始的2个相邻字节。双字:32位数,存放在任何字节地址开始的2个相邻字(4个相邻字节)。⑵带符号的二进制定点整数所有带符号的数都以补码形式表示,符号位是最高位(MSB)。字节:补码表示的8位带符号数。字整数(字):补码表示的16位带符号数。短整数(双字):补码表示的32位带符号数。长整数(四倍字):补码表示的64位带符号数。CPU支持前3种,浮点部件(FPU)支持后3种。第37页/共112页2.2.2计算机中数据信息的表示⑶浮点数由FPU支持,数据格式基于IEEE754标准,它与前面介绍的浮点数格式有一些差别。⑷BCD数
BCD数分成压缩的BCD数(BCD数)和非压缩的BCD数(UBCD数)两种。压缩的BCD数是每个字节包含两位十进制数,其低位在0~3位上,高位在4~7位上;而非压缩的BCD数每个字节仅包含一位十进制数,在0~3位上。CPU支持两种BCD数,而FPU只支持压缩的BCD数。第38页/共112页2.2.2计算机中数据信息的表示⑸串数据包括字节串、字符串和双字符串,串长度为0到232-1字节。只有CPU支持串数据。⑹指针数据包括近指针和远指针两种。近指针即32位指针,是一个32位的段内偏移量,用于段内单元访问。远指针即48位指针,由16位选择符和32位偏移量组成,用于段间单元访问。第39页/共112页2.2.3算术运算与逻辑运算的实现1.二进制加减运算用原码进行加法运算时必须根据两数的符号和数值大小来决定运算结果的符号,这将增加机器的复杂性和运算时间。补码加减法运算是最简单的加法:[X+Y]补=[X]补+[Y]补减法:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补
已知[Y]补求[-Y]补的方法:将[Y]补连同符号位一起求反,末尾加“1”。[-Y]补称为[Y]补的机器负数。第40页/共112页2.2.3算术运算与逻辑运算的实现补码加减运算规则
①
参加运算的两个操作数均用补码表示;
②
符号位作为数的一部分参加运算;③
若做加法,则两数直接相加,若做减法,则将被减数与减数的机器负数相加;
④
运算结果用补码表示。
例1:64(-46)18+010000001101001000010010+第41页/共112页2.2.3算术运算与逻辑运算的实现例2:A=+01011,B=-01110,求[A+B]补。
01011[A]补
+10010[B]补
11101[A+B]补例3:A=+01011,B=-00010,求[A-B]补。
01011[A]补
+00010[-B]补
01101[A-B]补
A=11B=-14A+B=-3[A+B]原=10011(B)A=11B=-2A-B=13[A+B]原=01101(B)第42页/共112页2.2.3算术运算与逻辑运算的实现2.溢出的产生和判断当所得的结果超过机器允许的额定位数,就会出现错误,这种情况被称为溢出。两个符号相同的数相加,和的符号相反;两个符号不同的数相减,差的符号和减数相同;将符号位扩充为两位(Ss1、Ss2),既能判别是否溢出,又能指出结果的符号。两个符号位作为数的一部分参加运算。
Ss1、Ss2=00结果为正数,无溢出
11结果为负数,无溢出
01结果正溢出
10结果负溢出
80X86CPU中根据标志位OF来判断。无符号数在运算时也可能产生,如8位数相加,128+128=256,而8位变为0。80X86CPU中可根据标志位CF来判断。第43页/共112页2.2.3算术运算与逻辑运算的实现00,1011(+11)11,0101(-11)
+00,0111(+7)+11,1001(-7)
01,0010(正溢出)10,1110(负溢出)
00,1011(+11)11,0101(-11)
+11,1001(-7)+00,0111(7)
00,0100(+4)11,1100(-4)第44页/共112页2.2.3算术运算与逻辑运算的实现3.其它算术运算简介⑴二进制乘除运算二进制的乘除运算可以由专用的乘法器或除法器来实现,也可以用一个加法器经过多次迭代来实现。⑵十进制数的算术运算在许多通用性较强的计算机中都可采用BCD码进行算术运算。十进制数相加时是“逢十进一”,而BCD数运算却是“逢十六进一”,两者在进位时相差6(即0110),必须要做相应的调整。如:用8421码数进行加法运算时,当和数大于9或向高位有进位时,必须对该位加校正值(0110)调整,才能得到正确的结果。十进制数在进行减法、乘法和除法运算时,也需要做相应的调整。第45页/共112页2.2.3算术运算与逻辑运算的实现例:A=00010111(17BCD),B=00010011(13BCD),求A+B(BCD)。
00010111+00010011001010101010≥10(D),需调整。
+0000011000110000例:A=00010111(18BCD),B=00010011(19BCD),求A+B(BCD)。
00011000+0001100100110001有进位,需调整。
+0000011000110111第46页/共112页2.2.3算术运算与逻辑运算的实现4.逻辑运算(按位操作)与、或、非、异或等。逻辑运算是按位进行的,位与位之间没有进位/借位的关系。“与”运算(AND)“或”运算(OR)
ABABABAB000000010011100101111111“非”运算(NOT)“异或”运算(XOR)
AAABAB0100010011101110第47页/共112页2.2.3算术运算与逻辑运算的实现例:X=10111101,Y=11011110
X=10111101Y=11011110
10011100
X=10111101Y=11011110
11111111
X=10111101
X=01000010
X=10111101
Y=11011110
01100011第48页/共112页2.2.4控制信号的产生1.时序系统时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。时序系统是有周期性的时钟脉冲信号组成。其中包括:时钟周期:时钟脉冲信号的间隔时间称为时钟周期,CPU的任何操作都是在时钟脉冲的统一控制下一步一步地进行的。机器周期:每个机器周期完成一个任务。机器周期由若干时钟周期组成。指令周期:一条指令从取出、分析、取数到执行完该指令所需的全部时间。指令周期与指令的操作功能有关,若干个机器周期组成一个指令周期。总线周期:在微型计算机中,CPU与外部系统(内存或外设)的信息交换都是通过总线进行的,将CPU一次访问(即读或写)内存或外设所花费的时间,称为总线周期。第49页/共112页2.2.4控制信号的产生在8086微处理器中,一个最基本的总线周期由4个时钟周期组成,在T4结束后,又开始新的总线周期。如果内存或外设的读写速度跟不上CPU的访问速度时,可以在第三个时钟周期T3之后插入等待时钟周期TW,插入TW的个数与READY信号低电平的持续时间长短有关。
第50页/共112页2.2.4控制信号的产生2.控制电路的硬件实现方法微操作信号发生器是整个控制器的核心,它的输入是译码后的指令操作码,输出是微操作控制命令。控制器可分为硬布线控制器和微程控器,根本区别在于微操作信号发生器的实现方法不同。⑴
硬布线控制器硬布线控制器(组合逻辑控制器),采用组合逻辑技术来实现,微操作信号发生器由门电路组成。特点指令执行速度快微操作信号发生器的结构不规整,设计、调试、维修较困难,难以实现设计自动化。第51页/共112页2.2.4控制信号的产生⑵
微程控器把微操作控制命令代码化,每条机器指令转化成为一段微程序(指令的微程序)。特点设计规整、调试、维修以及更改、扩充指令方便,易于实现自动化设计。增加了一级控制内存,指令的执行速度比硬布线控制器慢。3.微程控原理指令微程序化将指令分解为基本操作(微操作)。将同时发出的控制信号所执行的一组微操作称为一条微指令,一条指令对应于若干个微指令。微程序固化在微程控器的只读控制内存中第52页/共112页2.2.5典型CPU的总体结构1.8086的内部结构第53页/共112页2.2.5典型CPU的总体结构
⑴执行部件EUEU负责执行全部指令从BIU的指令队列中取得指令,经控制单元译码、产生完成该指令所需的各种控制信号,完成规定的操作。ALU进行算术、逻辑运算,或计算出存储单元的16位偏移地址送给BIU,由BIU生成20位的实际物理地址,再与外部总线交换数据。EU的通用寄存器组暂存指令所要求的操作数据。第54页/共112页2.2.5典型CPU的总体结构⑵总线接口部件BIU负责CPU与内存、I/O端口之间的信息传送。BIU从内存取指令送到指令队列CPU执行指令时,BIU要配合EU的请求,完成EU与内存单元或者I/O端口中间的数据传送。BIU根据EU计算出来的16位偏移地址及段寄存器提供的段首址,通过地址产生器生成20位的物理地址。BIU的指令队列缓冲器由6个8位的寄存器组成,采用“先进先出”的原则,顺序存放6个字节的指令码,每当指令队列中空出两个字节后,BIU便自动地执行取指令操作。
EU和BIU是两个独立的工作部件,在大多数情况下,它们能并行重叠操作,在EU执行指令的同时,BIU也在进行取指令、读操作数或存入结果数据的操作。第55页/共112页2.2.5典型CPU的总体结构2.8086的寄存器结构⑴
通用寄存器组⑵
段寄存器组⑶
专用寄存器组状态标志位有6个:CF:进位标志AF:是辅助进位标志OF:溢出标志ZF:零标志SF:符号标志PF:奇偶标志。控制标志位有3个:DF:方向标志IF:中断允许标志TF:陷阱标志。
第56页/共112页2.3.1内存组成存储单元的地址和内容:
存储器以字节(8bit)为单位存储信息
每个字节单元有一个地址,从0编号,顺序加1
地址用二进制数表示(无符号整数,写成十六进制)
一个字要占用相继的两个字节
低位字节存入低地址,高位字节存入高地址
机器以偶地址访问(读/写)存储器
字单元地址用它的低地址来表示第57页/共112页2.3.1内存组成1.三级存储系统
计算机系统中,规模较大的存储器往往分成若干级,称为存储系统。内存储器(主存储器)外存储器(辅助存储器)高速缓冲存储器(Cache)
Cache通常在CPU的外部,80386以上的微处理器中为了进一步提高CPU的运行效率,在CPU的内部又设置了一个Cache。Cache对用户是透明的。CPU内部的Cache称为一级Cache(L1Cache)CPU外部的Cache称为二级Cache(L2Cache)第58页/共112页2.3.1内存组成2.内存储器的的基本结构⑴存储体
2k个存储单元(n位)组成,全部存储单元统一编号。⑵地址寄存器AR⑶地址译码器⑷数据寄存器DR⑸读/写电路⑹控制逻辑电路使内存在严格的时序逻辑中执行读或写操作。第59页/共112页2.3.1内存组成3.内存的存储单元存储字:作为一个整体存入或取出的数称为存储字。存储单元:存放存储字或存储字节的内存空间。地址:存储单元的编号称为地址,地址和存储单元之间有一对一的对应关系。一个存储单元可能存放一个字,也可能存放一个字节,这是由计算机的结构确定的。存储单元是CPU对主存可访问操作的最小存储单位。字节编址:最小寻址单位是一个字节,相邻的存储单元地址指向相邻的存储字节。字编址:最小寻址单位是一个字,相邻的存储单元地址指向相邻的存储字。第60页/共112页2.3.1内存组成10011111
1000H(1000H)=9FH00100110
1001H
00011110
1002H(1002H)=1EH11010111
1003H
(1000H)=269FH(1002H)=D71EH(1001H)=1E26H
访问两次存储器(1001H)=26H(1003H)=D7H存储器第61页/共112页2.3.1内存组成存储器的分段:20根地址线:地址范围
00000H~FFFFFH机器字长16位:仅能表示地址范围0000H~FFFFH小段:每16个字节为一小段,共有64K个小段
小段的首地址
00000H~0000FH
00010H~0001FH
00020H~0002FH
…
FFFF0H~FFFFFH
段起始地址:小段首地址段的大小:64K范围内的任意字节第62页/共112页2.3.1内存组成物理地址=16d
段地址+偏移地址16位段地址16位偏移地址0000+20位物理地址物理地址:每个存储单元唯一的20位地址段地址:段起始地址的高16位
偏移地址:段内相对于段起始地址的偏移值(16位)
(有效地址EA)第63页/共112页2.3.1内存组成存储器的逻辑分段:
存储器64K代码01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES64K堆栈64K数据64K附加数据B0000HB000H第64页/共112页2.3.1内存组成
存储器8K代码2K数据256堆栈02000H04800H04000H0200H0400H0480HCSDSSS例:(DS)=0400H,EA=1234H,
物理地址
=
16d(DS)+EA=05234H第65页/共112页2.3.2内存的读写1.内存和CPU之间的连接2.CPU对内存的基本操作⑴读:地址→AB→AR、Read、等待MFC、(M)→DR→DB。⑵写:地址→AB→AR、数据→DB→DR、Write、等待MFC。同步内存存取和异步内存存取。异步内存存取:CPU和内存间没有统一的时钟,由MFC通知CPU内存工作已完成。同步内存存取:CPU和内存采用统一时钟,同步工作,不需要MFC。第66页/共112页2.3.3典型微机的内存接口1.内存编址:最常用的编址方式是字节编址。字/双字/四倍字的地址是最低地址字节的地址。一个字存放在从偶数开始的两个地址中,称为规则存放(规则字);反之称为非规则存放(非规则字)。一个双字存放在从4的整倍数开始的四个地址中,称为规则双字,一个四倍字存放在从8的整倍数开始的八个地址中,称为规则四倍字。读写规则字/双字/四倍字只需一个总线周期,而读写非规则字/双字/四倍字则需要两个存储周期。2.内存接口数据总线一次能并行传送的位数,称为数据通路宽度。对于字节编址的内存来说,存在着一个内存与数据总线之间的宽度匹配和内存接口问题。第67页/共112页2.3.4内存堆栈与堆栈操作1.堆栈结构堆栈是一种按特定顺序{“后进先出”(LIFO)或“先进后出”(FILO)}进行存取的存储区。一般在内存中划出一段区域来作堆栈,这种堆栈称为软堆栈。堆栈的大小可变,栈底固定,栈顶浮动,用一个专门的寄存器作为堆栈栈顶指针(SP)。在80X86中,堆栈的栈底地址大于栈顶地址。SP
堆栈常用来暂存一些重要的数据中断时的断点返回地址参数的传递第68页/共112页2.3.4内存堆栈与堆栈操作2.堆栈操作:进栈堆栈指针SP的内容需要先自动减1,然后再将数据压入堆栈:
(SP)-1→SP修改栈指针
(A)→(SP)将A中的内容压入栈顶单元出栈先将堆栈中的数据弹出,然后SP的内容再自动加1:
((SP))→A将栈顶单元内容弹出送入A中
(SP)+1→SP修改栈指针
堆栈操作既不是在堆栈中移动它所存储的内容,也不是把已存储在栈中的内容从栈中抹掉,而是通过调整堆栈指针而给出新的栈顶位置,以便对位于栈顶位置的数据进行操作。第69页/共112页2.3.4内存堆栈与堆栈操作8086微处理器的堆栈位置由堆栈寄存器SS和堆栈指针SP规定;栈操作都是字(16位)操作;数据的源/目的不能是立即数、目的不能为CS。进栈SP的内容先自动减2,然后将放在寄存器中的数据压入:①(SP)-1→SP,然后把高位字节送到SP所指的存储单元;②(SP)-1→SP,然后把低位字节送到SP所指的存储单元。出栈先将数据弹出至寄存器,然后SP的内容自动加2:①先将栈顶内容送入寄存器的低位字节(如AL),(SP)+1→SP;②再将栈顶内容送入寄存器的高位字节(如AH),(SP)+1→SP。第70页/共112页2.3.4内存堆栈与堆栈操作PUSHAXPOPBX第71页/共112页2.4.1指令系统简介指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。指令有两种书写格式:机器指令和符号指令。机器指令——指令的二进制数描述硬件只能识别机器指令,用机器指令书写的程序可以直接运行符号指令——用规定的助记符和规定的书写格式书写的指令与机器指令一一对应,需要翻译成机器指令才能运行
1011000000000001MOVAL,1第72页/共112页2.4.1指令系统简介1.指令的组成操作码字段(OP),用来指明操作的性质及功能。地址码字段(A),操作数的地址或直接给出操作数。机器语言:用二进制代码表示的指令,是唯一可以被CPU直接识别和执行的程序。汇编程序:赋予每条指令一种利于记忆的符号(助记符),用助记符指令编写的程序就是汇编程序。OPA操作码字段地址码字段第73页/共112页2.4.1指令系统简介2.指令的操作码指令的操作码字段表明了所执行的操作。读出指令→经过译码→产生执行本指令操作所需的微操作控制信号,控制计算机的各部件完成规定的操作。指令系统中的每一条指令都有一个唯一确定的操作码。如果指令系统共有m条指令,指令中操作码字段的位数为N位,则有如下关系式:m≤2N
;N≥log2m3.地址码结构对于一般的指令来说,除去操作码(OP)之外,指令还应包含以下信息:参加运算的操作数存放的地址;执行某种操作的结果存放的地址。指令地址码字段的结构又可以有三地址指令、二地址指令和一地址指令等几种。第74页/共112页2.4.1指令系统简介4.指令的格式8086的指令通常由1~6个字节组成,指令的第一个字节或前两个字节存放指令的操作码和寻址方式。指令的第一个字节称为操作码字节其中高6位是操作码OP,用来指明指令执行的操作。第1位说明数据流动的方向第0位说明数据长度是字节还是字第二个字节称为模式字节高2位MOD域选择寻址类型及其是否存在位移量REG域(中间3位)和R/M域(低3位),表示寄存器的分配和内存寻址方式。操作码字节和模式字节后面跟着的字节,用来指明该内存操作数地址的位移量(8位或16位),或者直接给出操作数。第75页/共112页2.4.1指令系统简介5.指令类型通常CPU的指令系统可以有上百条指令,按功能可以分成:⑴数据传送类指令⑵算术、逻辑运算类指令⑶程控类指令⑷输入/输出类指令
第76页/共112页2.4.2指令的寻址方式每种CPU的指令系统都有自己的一套寻址方式与数据有关的寻址方式:寻找操作数的地址与转移地址有关的寻址方式:寻找指令的转移地址数据有关的寻址方式:以MOV指令为例:
立即寻址MOVAX,3069H寄存器寻址MOVAL,BH直接寻址MOVAX,[2000H]寄存器间接寻址MOVAX,[BX]寄存器相对寻址MOVAX,COUNT[SI]基址变址寻址MOVAX,[BP][DI]相对基址变址寻址MOVAX,MASK[BX][SI]第77页/共112页2.4.2指令的寻址方式1.立即寻址立即寻址是将操作数直接传送给寄存器的一种寻址方式操作数紧跟在操作码之后,作为指令的一部分。立即数可以是字节(8位)、字(16位)、双字(32位),其低位字节放在低地址单元,高位字节放在高地址单元。例如:MOVAX,1234H低地址高地址操作码34H12H12HAX34H第78页/共112页2.4.2指令的寻址方式2.寄存器寻址寄存器寻址是用于寄存器之间的数据传送,源和目的寄存器必须使用相同的位数。例如:
MOVAX,BXMOVAL,BHMOVAX,3064H*字节寄存器只有AHALBHBLCHCLDHDL*SRC和DST的字长一致MOVAH,BX*CS不能用MOV指令改变MOVCS,AX第79页/共112页2.4.2指令的寻址方式3.内存寻址内存寻址是寄存器与内存之间传送数据操作数存放在代码段之外的存储区指令中给出的是存储单元地址或产生存储单元地址的有关信息。
X86系列处理器对内存采用分段式管理,程序员在指令中使用的是逻辑地址,逻辑地址由两部分组成——存储单元所在段的基地址:段内偏移地址(偏移量)段的基地址一般由操作系统将程序装入内存时设置,程序员在编程时主要使用段内偏移地址,段内偏移地址也称为有效地址(EA)
MOVES:[3000H],ALES:称为段超越前缀(可选),指示处理器访问哪个逻辑段3000H为段内偏移地址(有效地址)第80页/共112页2.4.2指令的寻址方式(1)直接寻址方式*——指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是16位或32位整数,操作数默认在DS段中。
MOVAX,[3000H]低地址高地址CS段操作码00H30H34H12H34H12HAXDS段5000053000DS50000300053000+第81页/共112页2.4.2指令的寻址方式(2)寄存器间接寻址——EA在基址寄存器(BX/BP)或
变址寄存器(SI/DI)中
MOVAX,[BX]PA=16d(DS)+(BX)MOVAX,ES:[BX]PA=16d(ES)+(BX)MOVAX,[BP]PA=16d(SS)+(BP)*不允许使用AX、CX、DX存放EAMOVAX,[CX]*SRC和DST的字长一致
MOVDL,[BX];[BX]指示一个字节单元
MOVDX,[BX];[BX]指示一个字单元*适于数组、字符串、表格的处理第82页/共112页2.4.2指令的寻址方式低地址高地址CS段操作码34H12H34H12HAXSS段7000073000SS70000300073000+MOVAX,[BP]BP第83页/共112页2.4.2指令的寻址方式(3)寄存器相对寻址方式*
例:MOVAX,COUNT[SI]或
MOVAX,[COUNT+SI]
假设(DS)=3000H,(SI)=2000H,COUNT=3000H,
那么PA=35000H
假设(35000H)=1234H,那么(AX)=1234H*适于数组、字符串、表格的处理
有效地址=(BX)(BP)8位(SI)16位(DI)+位移量第84页/共112页2.4.2指令的寻址方式低地址高地址CS段操作码00H15H34H12H34H12HAXFS段7000073500BX150073500+MOVDX,[BX+1500]DS700002000第85页/共112页2.4.2指令的寻址方式(4)基址变址寻址方式*
MOVAX,[BX][DI]
或
MOVAX,[BX+DI]MOVAX,ES:[BX][SI]*适于数组、字符串、表格的处理*必须是一个基址寄存器和一个变址寄存器的组合
MOVAX,[BX][BP]MOVAX,[SI][DI]有效地址=(BX)(SI)(BP)(DI)+第86页/共112页+2.4.2指令的寻址方式例如:MOVCX,[BX][SI](DS)=2000H,(BX)=2000H(SI)=100H(22100H)=1357H物理地址=162000H+2000H+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动疗法第十章Brunnstrom技术讲解
- 财政学:第七章 教育
- 2025北京市商品房预售合同(合同版本)
- 2025二手房购房合同协议
- 扩大劳务分包的合同范本
- 2025购车合同样例范本资料
- 2024年城市建设项目承包合同
- 全新阳光房合同下载
- 纱窗合同协议书
- 生产原料购销合同范本
- 2025年安徽马鞍山市两山绿色生态环境建设有限公司招聘笔试参考题库附带答案详解
- 山东省滨州市滨城区2024-2025学年九年级上学期期末考试化学试题
- 期末试卷:安徽省宣城市2021-2022学年七年级上学期期末历史试题(解析版)
- 2024年湖南省公务员录用考试《行测》真题及答案解析
- 2024新版(北京版)三年级英语上册单词带音标
- 第21课 活动课 从考古发现看中华文明的起源 教学课件
- 部编版《道德与法治》四年级下册教材解读与分析文档
- PP、PVC-风管制作安装施工作业指导书
- 苏教版五年级上册脱式计算300道及答案
- 辽宁省沈阳市铁西区2025届初三最后一次模拟(I卷)数学试题含解析
- 幼教培训课件:《幼儿园如何有效组织幼儿户外自主游戏》
评论
0/150
提交评论