D硬件讲义计算机硬件基础第三章微机的总线与主板第二章课件_第1页
D硬件讲义计算机硬件基础第三章微机的总线与主板第二章课件_第2页
D硬件讲义计算机硬件基础第三章微机的总线与主板第二章课件_第3页
D硬件讲义计算机硬件基础第三章微机的总线与主板第二章课件_第4页
D硬件讲义计算机硬件基础第三章微机的总线与主板第二章课件_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机硬件技术基础第二章 计算机的基本工作原理与指令系统 2.3 内存的组成及读写原理内存组成和基本结构内存的读写典型微机的内存接口内存堆栈与堆栈操作 2.4 指令系统 指令系统简介 指令系统的发展 2.5 计算机的工作过程指令的执行过程加速程序执行的方法习题与思考题115、18、21、25、26、33、34第1页,共112页。计算机硬件技术基础2.1.1 计算机的主要部件 五大基本部件:输入设备主存储器辅助存储器输出设备运算器控制器输入输出程序/原始数据运算结果指令数据线控制信号线存储器第2页,共112页。计算机硬件技术基础2.1.1 计算机的主要部件运算器 功能:算术运算和逻辑运算 其主要

2、部件:ALU(算术逻辑部件)控制器 功能:使计算机能自动地执行程序,并使各部分协调工作存储器 功能:用于保存程序和数据 主存储器(内部存储器):存放当前所执行程序的指令和数据 辅助存储器(外部存储器):存放暂不参加运算的程序的指令和数据 注意:一切程序和数据必须进入内存才能被计算机执行和使用。输入设备:用于程序和数据输入(标准设备:键盘、鼠标)输出设备:用于程序和数据输出(标准设备:显示器、打印机)第3页,共112页。计算机硬件技术基础2.1.1 计算机的主要部件 在计算机五大部分中,运算器和控制器是最核心的部分,通常做在一个器件上,称作CPU(Center Processing Unit)。

3、 CPU=控制器+运算器(+寄存器组) 只有主存(内存)可直接与CPU交换信息,它与CPU组合可实现计算机的基本功能。 主机=CPU+主存储器 输入/输出(Input/Output)设备和外存合称“外围设备”。 外设=I/O+辅助存储器 第4页,共112页。计算机硬件技术基础2.1.2 计算机的总线结构 总线是一组能为多个部件服务的公共信息传送线路,分时地发送与接收各部件的信息。计算机的五大 部件之间就是通过(Bus)连接实现信息交换的。 根据总线所传输的信息通常把总线分为地址总线、数据总线和控制总线。简称三大总线。 三大总线=数据总线+地址总线+控制总线地址总线(AB):单向,用于向内存、输

4、入/输出设备传输地址信息。数据总线(DB):双方,传输各种数据信息。控制总线(CB):传输控制信息第5页,共112页。计算机硬件技术基础2.1.2 计算机的总线结构 微型计算机通常把各大部件都连接在单一的一组总线上,各部件间的信息交换都经过这组总线,因此称其为系统总线。这种结构提高了CPU的工作效率,而且外设连接灵活,易于扩充。但由于所有部件都挂在同一组总线上,而总线又只能分时的工作,故同一时刻只允许一对设备(或部件)之间传送信息,这使信息传送的吞吐率受到限制,此外,总线的管理也比较复杂。 系统总线CPU内存接口外部设备接口外部设备.单总线结构第6页,共112页。计算机硬件技术基础2.2 中央

5、处理器的基本组成与基本工作原理 中央处理机CPU 中央处理机即 CPU,( central processing unit)是计算机中最核心的部件,用于进行运算和控制。微机所用的CPU芯片是将运算器、控制器和寄存器集成在一个半导体基片内,称为微处理器。 CPU的基本功能:执行指令、负责控制微机的所有动作(运算、控制、计算机与设备间的数据传送) CPU的组成: CPU内部的电路可以划分为运算电路和控制电路两大部分。主要组成部件包括运算器、控制器和寄存器组。 运算器(也称“算术逻辑单元ALU:Arithmetic Logic Unit)其功能实执行算术运算、逻辑运算(至少一个ALU,专用浮点数计算

6、芯片“协处理器”或“浮点处理器”) 控制器:指令执行的顺序、控制各种部件的动作 寄存器组(R):暂存数据、命令第7页,共112页。计算机硬件技术基础2.2.1 中央处理器的基本构成指令寄存器(IR)指令译码器(ID)操作控制器(OC)寄存器组(IR)通用寄存器组堆栈指针(SP)程序计数器(PC)累加器(ACC)累加器锁存器暂存器标志寄存器(FR)地址缓存器数据缓存器内部总线控制器运算器控制总线(CB)地址总线(AB)数据总线(DB)ALU是运算器的核心,它是以全加器为基础,辅以移位寄存器及相应的控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除几各种逻辑运算。累加器是一个特殊的通用

7、寄存器,他总是提供送入ALU的两个运算操作数之一,且运算后的结果又总是返回累加器。暂存器的作用保从将要送入ALU运算的操作数器。寄存器组用于暂存数据、命令指令寄存器组用于存放要执行的指令。根据指令内容,发出控制信号。标志寄存器主要用于存放ALU操作结果的状态和特征:包括两部分内容:状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。控制标志,如:中断标志、陷阱标志等。第8页,共112页。计算机硬件技术基础2.2.1 中央处理器的基本构成 1运算器 累加器A:N位的寄存器,用于保存运算过程中的有关数据。 暂存器:N位寄存器,接收来自累加器和数据总线的数据。 加法器

8、:由N个全加器构成。加法器的两个输入:累加器A、暂存器加法器的输出:送入累加器A,也可以发送给数据总线DB。第9页,共112页。计算机硬件技术基础2.2.1 中央处理器的基本构成 2.控制器 程序计数器PC,又称指令计数器 指令寄存器IR,存放从内存中取出的待执行的指令。 指令译码器ID,又称操作码译码器或指令功能分析解释器。 地址形成部件 微操作信号发生器 指令的执行都可分解成一系列微操作控制信号。微操作信号发生器的根据指令译码器的输出和时序部件提供的定时信号,确定完成该指令所需要的步骤以及完成每一步骤所需要的控制信号组合。 时序部件,给出定时信号以确定产生控制信号的具体时间。第10页,共1

9、12页。计算机硬件技术基础2.2.1 中央处理器的基本构成 3. CPU中的寄存器按功能分有通用寄存器和专用寄存器 通用寄存器存放原始数据和运算结果作为变址寄存器、计数器、地址指针等。 专用寄存器程序计数器PC指令寄存器IR等状态标志寄存器主要包括两部分内容:状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。控制标志,如:中断标志、陷阱标志等。第11页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 数字化信息编码的概念: 在计算机 中 , 数 字 是 以 一 串 “0” 或 “1”的二进制代码来表示的,这是一种计算机唯一能识别的机器语言。所

10、有需要计算机加以处理的数、字字母、文字、图形、图象、声音等信息以及控制操作等命令(人读数据)都必须采用二进制编码(机读数据)来表示和处理。也就是说: 在计算机内一切信息必须进行数字化编码(即用二进制代码形式),才能在机内传送、存储和处理。 人们输入到计算机中的各种信息,都要 通过系统自动转换成计算机能处理的二 进制数,处理完成后,系统把这些处理 过的二进制数再自动还原成各种信息。 即: 输 入 处 理 输 出 (多类型信息1) (二进制) (多类型信息2)第12页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 进位计数制: 按进位的方法进行计数,称为进位计数制。也就是 数字

11、累计到最大计数(进制数)时,数码长度就增加一位或数码高位数值增 1。 任意进制数的表示基数 (K) : 是最大进位数(进制数),例如:十进制基数为10; 六十进制(时间)的基数为60等。系数 (m) : 每个数位上的值,取值范围0k-1 【例】数32343.43可以分解为: 31042103310241013100410 -1310 -2位权位权位权位权位权位权位权第13页,共112页。计算机硬件技术基础可用数码进位基数0K-10 1 2 3 45 6 7 8 9ABCDEF0 1 2 34 5 6 7 0 10 1 2 3 45 6 7 8 9逢K进1逢16进1逢8进1逢2进1逢10进1K1

12、68210K进制十六进制八进制二进制十进制常用数制2.2.2 计算机中数据信息的表示K进制数的某些性质: 小数点右移n 位相当于乘以K n(增加K n 倍) 小数点左移n 位相当于除以K n (为K n 份之一)思考: m位K进制数,其最大数值是多少?最小数值是多少?第14页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示K进制数转换为十进制数位权展开法【例一】将下列数值转换为十进制数 (101.01)2 (205.4)8 (AF.8)16 解: (101.01)2= 12202112002 -112-2 =(5.25)10 (205.4)8= 28208158 048 1

13、=(133. 5)10 (AF.8)16= 1016 1 15160816 -1 =(175. 5)10【思考】以下数值中最大的和最小的分别是哪个? (1234)8 (1234)16 (1234)5 (1234)10 (11011011)2 (219)16 (210)8 (219)10 第15页,共112页。计算机硬件技术基础十进制数转换为K进制数将整数部份和小数部份分开来算,位权展开法整数部份:除以K取余数,直到商为0,余数从自下而上排列小数部份:以小数部分乘以K取积的整数,并将其自上而下排列,直 计算机中数据信息的表示到小数部份为0或规定精度为止【例】将(100.345)10 转换为二进制

14、 除2取余 余 数 整 数 乘2取整 2 |2 3 7 1 0. 6 2 5 2 |1 1 8 0 取 2 2 |5 9 1 1 1. 2 5 0 2 |2 9 1 值 0. 2 5 2 |1 4 0 2 转换结果为:11101101.101 2 | 7 1 方 0 0. 5 0 2 | 3 1 2 2 | 1 1 向 1 1. 0 0第16页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 除8取余 余 数 整 数 乘8取整8 |2 3 7 5 取 0. 6 2 5 8 |2 9 5 值 8 8 | 3 3 方 5 5. 0 0 0 0 向 第17页,共112页。计算机硬件

15、技术基础2.2.2 计算机中数据信息的表示 除16取余 余 数 整 数 乘16取整16 |2 3 7 D (13) 取 0. 6 2 5 16 |1 4 E (14) 值 1 6 0 方 A 10. 0 0 0 向 第18页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 二进制数十六进制数方法:以小数点为基准,分别向左和向右每4位划为一组,不足4位用0补,每一组用其对应的十六进制数代替。例:11110. 01B = 0001 1110. 0100 B = 1 E . 4 H1111101. 001B = 0111 1101. 0010 B = 7 D . 2 H 第19页,

16、共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 十六进制数二进制数 方法: 将每位十六进制数用其对应的4位二进制数代替即可。例 :1E. 4H = 0001 1110. 0100B = 11110. 01B7D. 2H = 0111 1101. 0010B = 111 1101. 001B第20页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 总结:十进制数与二进制数之间的转换需计算,不直观; 二进制表示的数位多不便于书写、阅读; 八进制、十六进制数与二进制数间转换方便、直观, 相对于二进制数,八进制、十六进制数书写、阅读相对方便第21页,共112页。计算

17、机硬件技术基础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位,则表示范围为127127。第22页,共112页。计算机硬件技

18、术基础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位,则表示范围为127127。 第23页,共112页。计算机硬件技术基础例: 机器字长8位,-46补码 = ? 46补码 = 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1

19、0 1 0 0 1 0 = D2H 机器字长16位,-46补码 = FFD2H +0补码 = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = 00H = - 0补码 0 的表示唯一按位求反末位加一按位求反末位加一2.2.2 计算机中数据信息的表示 (3)补码:正数的补码: 同原码负数的补码:(1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一第24页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 2. 三种机器数的比较主要区别有以下几点: 对于正数它们相等,而对于负数各有不同的表示。 补码和反码的符号位可作

20、为数值位的一部分看待,但原码的符号位不允许和数值位同等看待。 原码和反码各有两种零的表示法,而补码具有唯一的一种零的表示法。 原码、反码表示的正、负数范围相对零来说是对称的,但补码负数表示范围较正数表示范围宽。第25页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 符号扩展:将低精度数转换为高精度数,如将8位转换为16位。原码的符号扩展正数: 0010 1001 0000 0000 0010 1001负数: 1010 1001 1000 0000 0010 1001反码的符号扩展正数: 0010 1001 0000 0000 0010 1001负数: 1010 1001 1

21、111 1111 1010 1001补码的符号扩展正数: 0010 1001 0000 0000 0010 1001负数: 1010 1001 1111 1111 1010 1001 80X86有符号扩展的专用指令。第26页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 3. 机器数的定点与浮点表示 定点表示法所有数据的小数点位置固定不变。小数点“.”在机器中的位置是隐含约定的,并不需要真正地占据一个二进制位。由于实际参与运算的数往往是混合数,它既有整数部分又有小数部分,所以必须选取合适的比例因子,把原始的数缩小成纯小数或扩大成纯整数后再进行处理,所得到的运算结果还需要根据

22、比例因子还原成实际的数值。第27页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 浮点表示法 小数点的位置不固定,根据需要而浮动。任何一个数N的浮点表示形式为: N=M2E 式中:E和M都是带符号的定点数,E为阶码部分,M为尾数部分。在大多数计算机中,尾数为纯小数,阶码为纯整数。 阶码部分的符号位为es,阶码的大小反映了在数N中小数点的实际位置;尾数部分的符号位为ms,它是整个浮点数的符号位,表示了该浮点数的正负。 浮点表示法与定点表示法比较,在相同字长下前者所能表示数的范围要大得多,且可以不取比例因子,使用比较方便。第28页,共112页。计算机硬件技术基础2.2.2 计算

23、机中数据信息的表示 4十进制数的表示BCD码:二进制编码的十进制数(Binary-Code Decimal),一般用四位二进制代码来表示一位十进制数,使用最广泛的是8421码,通常称其为标准BCD码(NBCD码),在80X86微处理器中干脆就称之为BCD码。8421码的主要特点:简单直观。从高到低各位的权分别为8、4、2、1。不允许出现10101111。这六个代码在8421码中是非法码。BCD码与二进制数之间转换没有直接关系,必须先转换成十进制,然后转换成二进制。 例: 1111111B=255D=0010,0101,0101BCD 0010,0101,0101BCD255D=1111 111

24、1B第29页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 5. 非数值数据的表示 通常是指字符、字符串、图形符号和汉字等各种数据,它们通常不用来表示数值的大小,因此又称为非数值数据,一般情况下不对它们进行算术运算。(1)ASC 目前在微机上使用最广泛的是ASC(美国标准信息交换码,以被ISO认定为国际标准),可表示128种字符的7位基本ASC码(国际通用)和可表示256种字符的8位扩充ASC码(可重新定义)。 ASC码可分为:显示字符(例如键盘字符键的编码,“0 ”为48,“A”为65)和控制字符(例如return 、backspace键的编码分别为13、8)。第30页,

25、共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 第31页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示(2)汉字编码 汉字是一种象形文字,无法直接用标准西文键盘输入,必须经过转换间接输入;汉字的字数也较多,不能用单字节的ASC(256个字符)来表示。因此,按照不同的目的和需要,产生了多种汉字编码系统与汉字输入方法。 目前采用两个字节(可以表示64K字符)的汉字编码方案。由于汉字的应用范围较广(东南亚国家),汉字的编码字符集不相同,中国大陆常用GB / GBK码,台湾BIG5。 第32页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示汉字处

26、理过程 汉字系统对每个汉字预先规定输入计算机中的代码,即汉字的外部码(例如拼音输入码)。计算机为了识别汉字,要把汉字的外部码转换成内部码(二进制代码)进行存储和处理。输出时,还将汉字的内部码转换成汉字的字形码。计算机处理汉字的总过程如下: 键盘管理程序 汉字处理程序 外部(输入)码 机内码 字形(输出)码 (键盘) (计算机存储、传输) (计算机输出汉字) 汉字信息 交换码(国标码) 汉字信息 其它系统代码第33页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示交换码 用于计算机与其他系统或设备之间进行汉字代码信息交换的标准汉字代码,目前最常使用的是国标码1981年的GB23

27、12-80, 7445; 2000年的GB18030-2000,27000 特 点 每个汉字(图形符号)用两个字节表示,每个字节只用低7位,即最高位为0的二进制码。 在128种编码表示中,有94种用来表示汉字的编码。此标准的汉字编码表有94行、94列,分别为区号和位号。汉字编码使用的高字节称为区码,低字节称为位码。 汉字分为两级:一级为使用频度高的常用汉字; 二级为次常用的汉字;第34页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示内部码 也称汉字内码或汉字机内码,是计算机对汉字进行存储、运算、传码的实际代码。 特点 是由 0和1组成的二进制代码。一个汉字对应一个机内码,即

28、汉字数目机内码数目; 一般用两个字节表示一个汉字的内码且每个字节最高位为 1。 还有少数三字节、四字节等内部码最多能表示128128 = 16384 个汉字和图形符号; 机内码目前虽未完全统一,但已趋于标准化。 内部码与国标码的对应关系:内码=国标码+8080 即国标码每个字节最高位为1 内部码。 例如:国标码 3B7A 00111011 01111010 那么,机内码 BBFA 10111011 11111010第35页,共112页。计算机硬件技术基础外部码 也叫汉字输入编码,主要是从键盘(语音、手写、光电)输入计算机中的代表汉字的编码。键盘输入方式 目前汉字输入方案有数百种,基本上是直接利

29、用西文标准键盘进行汉字输入,每一种汉字输入法都各自提供相应的键盘码与汉字机内码(码表),编码方案大致可分以下四 类:数码(如电报码,区位码,国标码等)音码(如全拼码,简拼码,双拼码等)形码(如五笔字型,大众码,仓吉码等)音形码(如自然码,首尾码等)2.2.2 计算机中数据信息的表示第36页,共112页。计算机硬件技术基础各种输入码交换码(国标码)内码字形码显示汉字打印汉字汉字代码交换流程2.2.2 计算机中数据信息的表示第37页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 6现代微机系统中的数据类型举例 支持浮点运算的浮点部件(FPU)。808680386对应808780

30、387,80486以后嵌入于CPU内部。 无符号二进制数字节:8位数,存放在任何逻辑地址上的8位二进制数。 字:16位数,存放在任何字节地址开始的2个相邻字节。双字:32位数,存放在任何字节地址开始的2个相邻字(4个相邻字节)。 带符号的二进制定点整数 所有带符号的数都以补码形式表示,符号位是最高位(MSB)。字节:补码表示的8位带符号数。字整数(字):补码表示的16位带符号数。短整数(双字):补码表示的32位带符号数。长整数(四倍字):补码表示的64位带符号数。CPU支持前3种,浮点部件(FPU)支持后3种。第38页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 浮点数

31、由FPU支持,数据格式基于IEEE 754标准,它与前面介绍的浮点数格式有一些差别。 BCD数 BCD数分成压缩的BCD数(BCD数)和非压缩的BCD数(UBCD数)两种。压缩的BCD数是每个字节包含两位十进制数,其低位在03位上,高位在47位上;而非压缩的BCD数每个字节仅包含一位十进制数,在03位上。CPU支持两种BCD数,而FPU只支持压缩的BCD数。第39页,共112页。计算机硬件技术基础2.2.2 计算机中数据信息的表示 串数据 包括字节串、字符串和双字符串,串长度为0到232-1字节。只有CPU支持串数据。 指针数据 包括近指针和远指针两种。近指针即32位指针,是一个32位的段内偏

32、移量,用于段内单元访问。远指针即48位指针,由16位选择符和32位偏移量组成,用于段间单元访问。第40页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 1. 二进制加减运算用原码进行加法运算时必须根据两数的符号和数值大小来决定运算结果的符号,这将增加机器的复杂性和运算时间。补码加减法运算是最简单的加法:X+Y补=X补+Y补减法:X-Y补=X+(-Y)补=X补+-Y补 已知Y补求-Y补的方法:将Y补连同符号位一起求反,末尾加“1”。-Y补称为Y补的机器负数。第41页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 补码加减运算规则 参加运算的两个操作数均

33、用补码表示; 符号位作为数的一部分参加运算; 若做加法,则两数直接相加,若做减法,则将被减数与减数的机器负数相加; 运算结果用补码表示。 例1: 64(-46) 180100 00001101 00100001 0010第42页,共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= - 3A+B原=10011(

34、B)A = 11B = - 2A-B= 13A+B原=01101(B)第43页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 2. 溢出的产生和判断 当所得的结果超过机器允许的额定位数,就会出现错误,这种情况被称为溢出。两个符号相同的数相加,和的符号相反;两个符号不同的数相减,差的符号和减数相同;将符号位扩充为两位(Ss1、Ss2),既能判别是否溢出,又能指出结果的符号。两个符号位作为数的一部分参加运算。 Ss1、Ss2= 00结果为正数,无溢出 11结果为负数,无溢出 01结果正溢出 10结果负溢出 80X86CPU中根据标志位OF来判断。无符号数在运算时也可能产生,如

35、8位数相加,128+128=256,而8位变为0。 80X86CPU中可根据标志位CF来判断。第44页,共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)第45页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 3. 其它算术运算简介 二进制乘除运

36、算 二进制的乘除运算可以由专用的乘法器或除法器来实现,也可以用一个加法器经过多次迭代来实现。 十进制数的算术运算 在许多通用性较强的计算机中都可采用BCD码进行算术运算。十进制数相加时是“逢十进一”,而BCD数运算却是“逢十六进一”,两者在进位时相差6(即0110),必须要做相应的调整。如:用8421码数进行加法运算时,当和数大于9或向高位有进位时,必须对该位加校正值(0110)调整,才能得到正确的结果。 十进制数在进行减法、乘法和除法运算时,也需要做相应的调整。第46页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 例:A=0001 0111(17BCD),B=0001

37、 0011(13BCD),求A+B(BCD)。 0001 0111 + 0001 0011 0010 1010 1010 10(D),需调整。 + 0000 0110 0011 0000例:A=0001 0111(18BCD),B=0001 0011(19BCD),求A+B(BCD)。 0001 1000 + 0001 1001 0011 0001 有进位,需调整。 + 0000 0110 0011 0111第47页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 4逻辑运算(按位操作) 与、或、非、异或等。逻辑运算是按位进行的,位与位之间没有进位/借位的关系。“与”运算(

38、AND) “或”运算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非”运算(NOT) “异或”运算(XOR) A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0第48页,共112页。计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现 例:X=1011 1101,Y=1101 1110 X= 1011 1101 Y= 1101 1110 1001 1100 X= 1011 1101 Y= 1101 1110 1111 1111 X= 1011 1101 X= 0100 0

39、010 X= 1011 1101 Y= 1101 1110 0110 0011第49页,共112页。计算机硬件技术基础2.2.4 控制信号的产生 1. 时序系统 时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。时序系统是有周期性的时钟脉冲信号组成。其中包括:时钟周期:时钟脉冲信号的间隔时间称为时钟周期,CPU的任何操作都是在时钟脉冲的统一控制下一步一步地进行的。机器周期:每个机器周期完成一个任务。机器周期由若干时钟周期组成。指令周期:一条指令从取出、分析、取数到执行完该指令所需的全部时间。指令周期与指令的操作功能有关,若干个机器周期组成一个指令周期。总线周期:在微型计算机中,CP

40、U与外部系统(内存或外设)的信息交换都是通过总线进行的,将CPU一次访问(即读或写)内存或外设所花费的时间,称为总线周期。第50页,共112页。计算机硬件技术基础2.2.4 控制信号的产生 在8086微处理器中,一个最基本的总线周期由4个时钟周期组成,在T4结束后,又开始新的总线周期。如果内存或外设的读写速度跟不上CPU的访问速度时,可以在第三个时钟周期T3之后插入等待时钟周期TW,插入TW的个数与READY信号低电平的持续时间长短有关。 第51页,共112页。计算机硬件技术基础2.2.4 控制信号的产生 2控制电路的硬件实现方法微操作信号发生器是整个控制器的核心,它的输入是译码后的指令操作码

41、,输出是微操作控制命令。控制器可分为硬布线控制器和微程控器,根本区别在于微操作信号发生器的实现方法不同。 硬布线控制器硬布线控制器(组合逻辑控制器),采用组合逻辑技术来实现,微操作信号发生器由门电路组成。特点指令执行速度快微操作信号发生器的结构不规整,设计、调试、维修较困难,难以实现设计自动化。第52页,共112页。计算机硬件技术基础2.2.4 控制信号的产生 微程控器把微操作控制命令代码化,每条机器指令转化成为一段微程序(指令的微程序)。特点设计规整、调试、维修以及更改、扩充指令方便,易于实现自动化设计。增加了一级控制内存,指令的执行速度比硬布线控制器慢。3微程控原理指令微程序化将指令分解为

42、基本操作(微操作)。将同时发出的控制信号所执行的一组微操作称为一条微指令,一条指令对应于若干个微指令。微程序固化在微程控器的只读控制内存中第53页,共112页。计算机硬件技术基础2.2.5 典型CPU的总体结构 18086的内部结构第54页,共112页。计算机硬件技术基础2.2.5 典型CPU的总体结构 执行部件EUEU负责执行全部指令从BIU的指令队列中取得指令,经控制单元译码、产生完成该指令所需的各种控制信号,完成规定的操作。ALU进行算术、逻辑运算,或计算出存储单元的16位偏移地址送给BIU,由BIU生成20位的实际物理地址,再与外部总线交换数据。EU的通用寄存器组暂存指令所要求的操作数

43、据。第55页,共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执行指令

44、的同时,BIU也在进行取指令、读操作数或存入结果数据的操作。第56页,共112页。计算机硬件技术基础2.2.5 典型CPU的总体结构 28086的寄存器结构 通用寄存器组 段寄存器组 专用寄存器组状态标志位有6个:CF:进位标志AF:是辅助进位标志OF:溢出标志ZF:零标志SF:符号标志PF:奇偶标志。控制标志位有3个:DF:方向标志IF:中断允许标志TF:陷阱标志。 第57页,共112页。计算机硬件技术基础2.3.1 内存组成 存储单元的地址和内容: 存储器以字节(8 bit)为单位存储信息 每个字节单元有一个地址,从 0 编号,顺序加 1 地址用二进制数表示(无符号整数,写成十六进制) 一

45、个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 机器以偶地址访问(读 / 写)存储器 字单元地址用它的低地址来表示第58页,共112页。计算机硬件技术基础2.3.1 内存组成 1. 三级存储系统 计算机系统中,规模较大的存储器往往分成若干级,称为存储系统。内存储器(主存储器)外存储器(辅助存储器)高速缓冲存储器(Cache) Cache通常在CPU的外部,80386以上的微处理器中为了进一步提高CPU的运行效率,在CPU的内部又设置了一个Cache 。 Cache对用户是透明的。CPU内部的Cache称为一级Cache(L1 Cache)CPU外部的Cache称为二级Cach

46、e(L2 Cache)第59页,共112页。计算机硬件技术基础2.3.1 内存组成 2内存储器的的基本结构 存储体 2k个存储单元(n位)组成,全部存储单元统一编号。 地址寄存器AR 地址译码器 数据寄存器DR 读/写电路 控制逻辑电路使内存在严格的时序逻辑中执行读或写操作。第60页,共112页。计算机硬件技术基础2.3.1 内存组成 3内存的存储单元存储字:作为一个整体存入或取出的数称为存储字。存储单元:存放存储字或存储字节的内存空间。地址:存储单元的编号称为地址,地址和存储单元之间有一对一的对应关系。一个存储单元可能存放一个字,也可能存放一个字节,这是由计算机的结构确定的。存储单元是CPU

47、对主存可访问操作的最小存储单位。字节编址:最小寻址单位是一个字节,相邻的存储单元地址指向相邻的存储字节。字编址:最小寻址单位是一个字,相邻的存储单元地址指向相邻的存储字。第61页,共112页。计算机硬件技术基础2.3.1 内存组成 1 0 0 1 1 1 1 1 1000H ( 1000H ) = 9F H0 0 1 0 0 1 1 0 1001H 0 0 0 1 1 1 1 0 1002H ( 1002H ) = 1E H1 1 0 1 0 1 1 1 1003H ( 1000H ) = 269F H ( 1002H ) = D71E H ( 1001H ) = 1E26 H 访问两次存储器

48、( 1001H ) = 26 H( 1003H ) = D7 H存储器第62页,共112页。计算机硬件技术基础2.3.1 内存组成存储器的分段:20 根地址线: 地址范围 00000H FFFFFH机器字长16位:仅能表示地址范围 0000H FFFFH小段:每16个字节为一小段,共有64K个小段 小段的首地址 00000 H 0000F H 00010 H 0001F H 00020 H 0002F H FFFF0 H FFFFF H 段起始地址:小段首地址段的大小: 64K 范围内的任意字节第63页,共112页。计算机硬件技术基础2.3.1 内存组成物理地址 = 16d 段地址 + 偏移地

49、址 16 位 段 地 址 16 位 偏 移 地 址 0000+ 20 位 物 理 地 址物理地址:每个存储单元唯一的 20 位地址 段地址:段起始地址的高 16 位 偏移地址:段内相对于段起始地址的偏移值(16 位) (有效地址 EA)第64页,共112页。计算机硬件技术基础2.3.1 内存组成存储器的逻辑分段: 存储器64K代码01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES64K堆栈64K数据 64K附加数据B0000HB000H第65页,共112页。计算机硬件技术基础2.3.1 内存组成 存储器 8K代码 2K数据 256堆栈02000H0480

50、0H04000H0200H0400H0480HCSDSSS例:(DS) = 0400H, EA = 1234H, 物理地址 = 16d (DS) + EA = 05234H第66页,共112页。计算机硬件技术基础2.3.2 内存的读写 1内存和CPU之间的连接2. CPU对内存的基本操作 读:地址ABAR、Read、 等待MFC、(M)DRDB。 写:地址ABAR、数据DBDR、 Write、等待MFC。同步内存存取和异步内存存取。异步内存存取:CPU和内存间没有统一的时钟,由MFC通知CPU内存工作已完成。同步内存存取:CPU和内存采用统一时钟,同步工作,不需要MFC。第67页,共112页。

51、计算机硬件技术基础2.3.3 典型微机的内存接口 1. 内存编址:最常用的编址方式是字节编址。字/双字/四倍字的地址是最低地址字节的地址。一个字存放在从偶数开始的两个地址中,称为规则存放(规则字);反之称为非规则存放(非规则字)。一个双字存放在从4的整倍数开始的四个地址中,称为规则双字,一个四倍字存放在从8的整倍数开始的八个地址中,称为规则四倍字。读写规则字/双字/四倍字只需一个总线周期,而读写非规则字/双字/四倍字则需要两个存储周期。2. 内存接口 数据总线一次能并行传送的位数,称为数据通路宽度。对于字节编址的内存来说,存在着一个内存与数据总线之间的宽度匹配和内存接口问题。第68页,共112

52、页。计算机硬件技术基础2.3.4 内存堆栈与堆栈操作 1. 堆栈结构堆栈是一种按特定顺序“后进先出”(LIFO)或“先进后出”(FILO)进行存取的存储区。一般在内存中划出一段区域来作堆栈,这种堆栈称为软堆栈。堆栈的大小可变,栈底固定,栈顶浮动,用一个专门的寄存器作为堆栈栈顶指针(SP)。在80X86中,堆栈的栈底地址大于栈顶地址。SP 堆栈常用来暂存一些重要的数据中断时的断点返回地址参数的传递第69页,共112页。计算机硬件技术基础2.3.4 内存堆栈与堆栈操作 2. 堆栈操作:进栈堆栈指针SP的内容需要先自动减1,然后再将数据压入堆栈: (SP)-1 SP 修改栈指针 (A)(SP) 将A

53、中的内容压入栈顶单元出栈先将堆栈中的数据弹出,然后SP的内容再自动加1: (SP)A 将栈顶单元内容弹出送入A中 (SP)+1 SP 修改栈指针 堆栈操作既不是在堆栈中移动它所存储的内容,也不是把已存储在栈中的内容从栈中抹掉,而是通过调整堆栈指针而给出新的栈顶位置,以便对位于栈顶位置的数据进行操作。第70页,共112页。计算机硬件技术基础2.3.4 内存堆栈与堆栈操作 8086微处理器的堆栈位置由堆栈寄存器SS和堆栈指针SP规定;栈操作都是字(16位)操作;数据的源/目的不能是立即数、目的不能为CS。进栈SP的内容先自动减2,然后将放在寄存器中的数据压入:(SP)-1SP,然后把高位字节送到S

54、P所指的存储单元;(SP)-1SP,然后把低位字节送到SP所指的存储单元。出栈先将数据弹出至寄存器,然后SP的内容自动加2: 先将栈顶内容送入寄存器的低位字节(如AL),(SP)+1SP; 再将栈顶内容送入寄存器的高位字节(如AH),(SP)+1SP。第71页,共112页。计算机硬件技术基础2.3.4 内存堆栈与堆栈操作 PUSH AXPOP BX第72页,共112页。计算机硬件技术基础2.4.1 指令系统简介 指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。指令有两种书写格式:机器指令和符号指令。机器指令指令的二进制数描述硬件只能识别机器指令,用机器指令书写的程序可以直

55、接运行符号指令用规定的助记符和规定的书写格式书写的指令与机器指令一一对应,需要翻译成机器指令才能运行 10110000 00000001 MOV AL, 1第73页,共112页。计算机硬件技术基础2.4.1 指令系统简介 1指令的组成操作码字段(OP),用来指明操作的性质及功能。地址码字段(A),操作数的地址或直接给出操作数。机器语言:用二进制代码表示的指令,是唯一可以被CPU直接识别和执行的程序。汇编程序:赋予每条指令一种利于记忆的符号(助记符),用助记符指令编写的程序就是汇编程序。OPA操作码字段地址码字段第74页,共112页。计算机硬件技术基础2.4.1 指令系统简介 2. 指令的操作码

56、指令的操作码字段表明了所执行的操作。读出指令经过译码产生执行本指令操作所需的微操作控制信号,控制计算机的各部件完成规定的操作。指令系统中的每一条指令都有一个唯一确定的操作码。如果指令系统共有m条指令,指令中操作码字段的位数为N位,则有如下关系式: m2N ; Nlog2 m3. 地址码结构对于一般的指令来说,除去操作码(OP)之外,指令还应包含以下信息:参加运算的操作数存放的地址;执行某种操作的结果存放的地址。指令地址码字段的结构又可以有三地址指令、二地址指令和一地址指令等几种。第75页,共112页。计算机硬件技术基础2.4.1 指令系统简介 4指令的格式8086的指令通常由16个字节组成,指

57、令的第一个字节或前两个字节存放指令的操作码和寻址方式。指令的第一个字节称为操作码字节其中高6位是操作码OP,用来指明指令执行的操作。第1位说明数据流动的方向第0位说明数据长度是字节还是字第二个字节称为模式字节高2位MOD域选择寻址类型及其是否存在位移量REG域(中间3位)和R/M域(低3位),表示寄存器的分配和内存寻址方式。操作码字节和模式字节后面跟着的字节,用来指明该内存操作数地址的位移量(8位或16位),或者直接给出操作数。第76页,共112页。计算机硬件技术基础2.4.1 指令系统简介 5. 指令类型通常CPU的指令系统可以有上百条指令,按功能可以分成: 数据传送类指令 算术、逻辑运算类

58、指令 程控类指令 输入/输出类指令 第77页,共112页。计算机硬件技术基础2.4.2 指令的寻址方式 每种CPU的指令系统都有自己的一套寻址方式与数据有关的寻址方式:寻找操作数的地址与转移地址有关的寻址方式:寻找指令的转移地址数据有关的寻址方式:以 MOV 指令为例: 立即寻址 MOV AX , 3069H寄存器寻址 MOV AL , BH直接寻址 MOV AX , 2000H 寄存器间接寻址 MOV AX , BX 寄存器相对寻址 MOV AX , COUNT SI 基址变址寻址 MOV AX , BP DI 相对基址变址寻址 MOV AX , MASK BX SI 第78页,共112页。

59、计算机硬件技术基础2.4.2 指令的寻址方式 1.立即寻址立即寻址是将操作数直接传送给寄存器的一种寻址方式操作数紧跟在操作码之后,作为指令的一部分。立即数可以是字节(8位)、字(16位)、双字(32位),其低位字节放在低地址单元,高位字节放在高地址单元。例如:MOV AX,1234H低地址高地址操作码34H12H12HAX34H第79页,共112页。计算机硬件技术基础2.4.2 指令的寻址方式 2.寄存器寻址寄存器寻址是用于寄存器之间的数据传送,源和目的寄存器必须使用相同的位数。例如: MOV AX, BX MOV AL, BH MOV AX, 3064H* 字节寄存器只有 AH AL BH

60、BL CH CL DH DL* SRC 和 DST 的字长一致 MOV AH, BX * CS 不能用 MOV 指令改变 MOV CS, AX 第80页,共112页。计算机硬件技术基础2.4.2 指令的寻址方式 3.内存寻址内存寻址是寄存器与内存之间传送数据操作数存放在代码段之外的存储区指令中给出的是存储单元地址或产生存储单元地址的有关信息。 X86系列处理器对内存采用分段式管理,程序员在指令中使用的是逻辑地址,逻辑地址由两部分组成存储单元所在段的基地址:段内偏移地址(偏移量) 段的基地址一般由操作系统将程序装入内存时设置,程序员在编程时主要使用段内偏移地址,段内偏移地址也称为有效地址(EA)

温馨提示

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

评论

0/150

提交评论