微机原理与接口技术(二)
莓道理小组
第1章主要内容是计算系统的数学、电路原理,第2章主要内容是计算机系统结构以及原理与实体的联系。从第1章到第2章,是由一个微观到宏观、由抽象到实体的联系。通过第二章的学习,对微型计算机系统有进一步的认识,对计算机的工作过程有一个全面的概括的理解。
2.1 指令系统和处理器体系结构
1)指令:是要计算机执行某种操作的命令。
2)程序:是一组指令的有序集合。
3)指令系统:一个CPU能识别的所有指令的集合。
指令系统又称指令集体系结构,它是CPU物理硬件和上层软件之间的一个接口,也是编译程序开发者和CPU设计者之间的一个抽象层。
目前CPU指令集主要分为两类:1)CISC 2)RISC
2.2 微型计算机系统结构
1)微处理器:是将运算器、控制器集成在一起的中央处理器部件。
2)微型计算机:是指以微处理器为核心,配上内存储器、IO电路、系统总线所组成的计算机。
3)微型计算机系统:是指以微信计算机为中心,配以相应的外围设备、电源、辅助设备以及控制微型计算机工作的系统软件所构成的计算机系统。
2.3 寄存器与地址分配方法(重点)
a.寄存器的分类
1)指令寄存器是用来保存当前正在执行的一条指令。
2)程序计数器指出下一条将要执行的指令所在主存储器中的地址。
3)地址寄存器用来保存CPU当前所访问的主存单元的地址。
4)数据寄存器是作为CPU和主存、外设之间信息传输的中转站。
5)通用寄存器为运算器提供一个工作区,暂时保存操作数或运算结果。
6)程序状态字寄存器用来保存当前各种运算状态条件,以及程序的工作方式。
b.地址分配方法
-
统一编址
外设接口中的IO寄存器(即IO端口)与主存单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划出来用作IO地址空间,如,在 PDP-11中,把最高的4K主存作为IO设备寄存器地址。端口占用了存储器的地址空间,使存储量容量减小。 统一编址也称为“I/O内存”方式,外设寄存器位于“内存空间”(很多外设有自己的内存、缓冲区,外设的寄存器和内存统称“I/O空间”)。
-
独立编址
IO地址与存储地址分开独立编址,I/0端口地址不占用存储空间的地址范围,这样,在系统中就存在了另一种与存储地址无关的IO地 址,CPU也必须具有专用与输入输出操作的IO指令(IN、OUT等)和控制逻辑。独立编址下,地址总线上过来一个地址,设备不知道是给IO端口的、还是 给存储器的,于是处理器通过MEMR/MEMW和IOR/IOW两组控制信号来实现对I/O端口和存储器的不同寻址。如,intel 80x86就采用单独编址,CPU内存和I/O是一起(‘’一起“ 应该用“各自”这个词好一点)编址的,就是说内存一部分的地址和I/O地址是重叠的。 独立编址也称为“I/O端口”方式,外设寄存器位于“I/O(地址)空间”。
2.4 IO信息交换方式(重点)
为数据传输操作选择输入输出设备
在选定的输入输出设备和CPU(或主存)之间交换数据。
a.程序查询方式
接口电路简单;
主机与设备串行工作,效率低;
对突发事件不能响应。
b.中断控制方式
硬件结构较查询方式复杂些,服务开销时 间较大;
主程序与设备并行运行,CPU效率较高;
具有实时响应的能力。
c.DMA
适用于高速数据块传送;
完全由硬件控制传送,线路较复杂。
d.通道方式
I/O通道控制方式 n n CPU将部分权力下放给通道,由通道实 现对外设的统一管理,并负责外设与内 存间的数据传送。 CPU效率更高; 硬件开销更大。
e.外围处理及方式
外围处理机输入输出方式 n 外围处理机(PPU)方式是通道方式的 进一步发展。PPU独立于主机 作,结 构上接近于一般处理机。在一个系统中 可设置多台PPU,分别承担I/O控制、 通信、维护诊断等任务,形式上类似于 一个多机系统。
2.5 程序中断技术概念(重点)
a.中断的基本思想
中断的基本概念 n “中断”是由I/O设备或其它非预期的急需 处理的事件引起的,它使CPU暂时中断当 前正在执行的程序,而转至另一服务程 序去处理这些事件。处理完后再返回原 程序继续执行。
b.中断源
内部中断、外部中断
c.中断处理方式
中断技术是一种软硬件相结合的技术,中断处 理过程则完全是由软件(中断处理程序)完成 的。 单级中断处理程序---所有的中断源都属于同一 个级别,不允许有中断嵌套。 嵌套中断处理程序---每一个中断源都有一个优 先级,优先级高的中断可以打断优先级低的 中 断的执行,即中断可以嵌套执行。
d.中断系统的功能
CPU与I/O设备并行工作
硬件故障处理
实现人机联系
实现多道程序和分时操作
实现实时处理
2.6 微处理器的分类和发展
a.分类(根据用途)
(1)嵌入式微控制器(MCU):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点是单片化,体积小,功耗和成本低,可靠性高。目前约占70%的市场份额。
(2)嵌入式微处理器(EMPU):又称为单板机,由通用计算机中的CPU发展而来,它的特征是具有32位以上的处理器,具有较高的性能。通常嵌入式微处理器把CPU、ROM、RAM及I/O等模块做到同一个芯片上。
(3)嵌入式DSP处理器(DSP):专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其处理速度比最快的CPU还快10~50倍,在数字滤波、FFT、频谱分析等方面获得了大量的应用。
(4)嵌入式片上系统(SOC):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。
b.发展
2.7 微型计算机系统中采用的先进技术
1)流水线技术
2)哈佛结构
3)Cache技术
4)虚拟存储管理技术
5)多核处理器结构
2.8 嵌入式系统的定义、特点和发展
-
定义
嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容。 嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。
-
特点
以应用为中心:强调嵌入式系统的目标是满足用户的特定需求。就绝大多数完整的嵌入式系统而言,用户打开电源即可直接享用其功能,无需二次开发或仅需少量配置操作。
专用性:嵌入式系统的应用场合大多对可靠性、实时性有较高要求,这就决定了服务于特定应用的专用系统是嵌入式系统的主流模式,它并不强调系统的通用性和可扩展。这种专用性通常也导致嵌入式系统是一个软硬件紧密集成的最终系统,因为这样才能更有效地提高整个系统的可靠性并降低成本,并使之具有更好的用户体验。
以现代计算机技术为核心:嵌入式系统的最基本支撑技术,大致上包括集成电路设计技术、系统结构技术、传感与检测技术、嵌入式操作系统和实时操作系统技术、资源受限系统的高可靠软件开发技术、系统形式化规范与验证技术、通信技术、低功耗技术、特定应用领域的数据分析、信号处理和控制优化技术等,它们围绕计算机基本原理,集成进特定的专用设备就形成了一个嵌入式系统。
软硬件可裁剪:嵌入式系统针对的应用场景如此之多,并带来差异性极大的设计指标要求(功能性能、可靠性、成本、功耗),以至于现实上很难有一套方案满足所有的系统要求,因此根据需求的不同,灵活裁剪软硬件、组建符合要求的最终系统是嵌入式技术发展的必然技术路线。
-
发展
第一阶段:嵌入技术的早期阶段。嵌入式系统以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中。
第二阶段:以高端嵌入式CPU和嵌入式操作系统为标志。这--阶段系统的主要特点是计算机硬件出现了高可靠、低功耗的嵌入式CPU,如ARM、PowerPC等,且支持操作系统,支持复杂应用程序的开发和运行。
第三阶段:以芯片技术和Internet技术为标志。微电子技术发展迅速,SOC(片上系统)使嵌入式系统越来越小,功能却越来越强。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式技术正在进入快速发展和广泛应用的时期。 [3]
2.9 emu8086
-
编辑以及编译
EMU8086是一种学习汇编工具,它结合了一个原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。 我们可以使用emu8086的编辑功能编辑汇编程序,使用编译功能编译程序,使其能在8086芯片上运行。
-
emulate
通过emu8086这个软件的emulate功能,可以模拟8086实体芯片的工作过程,将汇编程序一步一步的执行,并且可以通过相关的窗口将芯片内部的情况清晰的展示出来,有利于我们理解芯片内部的工作的具体过程,对微型计算机系统有进一步的认识,对计算机的工作过程有一个全面的概括的理解。
第3章 80x86微处理器
3.1 8086微处理器的存储器组织
a.寻址空间
8086CPU有地址总线20位,寻址能力为2^20=1MB。
b.寻址方式
物理地址由段地址和段内偏移地址两部分组成. 由于基址或变址寄存器为16位寄存器. 他们可以提供16位的偏移地址, 因此通过改变基址或变址寄存器可以寻址2^16 = 64kB的存储空间. 8086采用地址分段的方法, 是寻址范围扩大到1M字节. 在8086CPU系统中, 把1MB的存储器空间划分成若干个逻辑段, 每个段最多有64KB的存储空间, 各段起点选在能够被16整除的地址, 并将高16位的地址称为段地址, 因此1M字节的存储空间是相互覆盖的, 相邻段之间相距16个存储单元。
要形成20位的物理地址, 还需要有段寄存器提供段地址:物理地址 = 段地址 x10H + 偏移地址
3.2 8086微处理器的内部结构
a.内部结构
8086CPU为了充分使用总线以提高程序的执行速度被设计成两个独立的功能部件,总线接口单元BIU(Bus Interface Unit)和执行单元 EU(Execution Unit)。
-
总线接口单元BIU
功能:负责完成CPU与存储器或I/O设备之间的数据传送。
1)4个16位段寄存器CS、DS、ES、SS 2)一个16位的指令指针寄存器IP(Instruction Pointer) 3)一个20位地址加法器 4)6字节指令队列缓冲器 5)一个与EU通讯的内部寄存器以及总线控制电路等。
-
执行单元EU
1)算数逻辑单元(运算器)ALU 2)通用寄存器 3)标志寄存器 4)数据暂存寄存器 5)EU电路
b.寄存器结构
8086有14个可编程的16位内部寄存器,其中AX,BX,CX,DX可作为两个8位寄存器使用。
数据寄存器
数据寄存器既可以作为算术、逻辑运算的源操作数,向ALU提供参与运算的原始数据,也可以作为目标操作数,保存运算的中间结果或最后结果。
-
AX :累加器
-
BX :基址寄存器
-
CX :计数器
-
DX :数据寄存器
这4个16位寄存器又可分别分为高8位(AH,BH,CH,DH)和低8位(AL,BL,CL,DL)
段寄存器
在8086系统中,访问存储器的地址是由段基址和内偏移地址两部分组成。段寄存器用来存放各分段的逻辑段基址并指示当前在使用的4个逻辑段。
-
CS:代码段寄存器,存放当前正在运行的程序代码所在段的段基址
-
DS:数据段寄存器,指出当前程序使用的数据所存放段的最低地址
-
SS:堆栈段寄存器,指出当前堆栈的底部地址
-
ES:附加段寄存器,指出当亲程序使用附加数据段的段基址
地址指针与变址寄存器
地址指针与变址寄存器一般用来存放主存地址的偏移量(相对段地址的偏移距离)参与地址运算。BIU地址器中的内容于左移4位后的段寄存器内容相加产生20位的物理地址。
-
SP:即堆栈指针寄存器,指出在当前堆栈中栈顶的地址(入栈/出栈指令由SP给出栈顶的偏移地址)
-
BP:即基址指针寄存器,指出要处理的数据在堆栈段中的起始地址(在包含BP的寻址方式中,如无特别说明,段地址皆由SS段寄存器提供,BP对堆栈区的存储单元寻址)
-
SI/DI:源变址/目的变址寄存器,在串操作指令中,SI用来存放源操作数地址的偏移量;DI用来存放目标操作数地址的偏移量
控制寄存器
IP:指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址(与段寄存器CS) FLAGS:一个16位寄存器,8086实际上用了9位,其中6位是状态标志位,3位是控制标志位。
状态标志位
-
CF:进位标志。表示本次加法或减法运算中最高位(字节运算为D7,字运算为D15)产生进位或借位的情况。CF=1表示有进位,CF=0表示无进位(减法运算时表示借位的情况)
-
PF:奇偶校验位。表示本次运算结果低8位中包含1的个数。PF=1表示有偶数个1,PF=0表示有奇数个1
-
AF:辅助进位标志。表示参加加法或减法运算中低4位向高4位(即D3位向D4位)产生进位或借位的情况。AF=1表示有进位,AF=0表示无进位(减法时表示借位情况)
-
ZF:零标志。表示当前的运算结果是否为0,ZF=1表示运算结果为0,ZF=0表示运算结果不为0
-
SF:符号标志。它与运算结果最高位相同。若字节运算时D7位(字运算时D15位)为1,则SF=1;否则SF=0
-
OF:溢出标志。表示运算结果中产生溢出的情况。OF=1表示当前正在进行的补码运算有溢出,OF=0表示无溢出
控制标志位
-
DF:方向标志。用于串操作指令,指定字符串处理时的方向。DF=1时,串操作过程中地址会自动递减1,DF=0时,地址自动递增1
-
IF:中断允许标志。用来控制可屏蔽中断的标志位。IF=1时,开中断,CPU可以接受可屏蔽中断的请求,IF=0时,CPU不能接受可屏蔽中断请求
-