当前位置:   article > 正文

微机原理笔记

微机原理

第一章 计算机基础

一、微机基本知识

http://t.csdn.cn/ZuDAm

1、微处理器、微型计算机和微型计算机系统的概念 

微处理器:cpu

微型计算机:只有硬件系统没有软件系统也叫裸机

微型计算机系统:既包含硬件系统又包含软件系统

 2、微机组成

运算器、控制器、存储器、输入设备、输出设备

读:把存储器的东西放cpu里

写:把cpu的东西放在存储器里

三大总线:地址(AB)、数据(DB)、控制(CB)

3、主板结构

4、总线类型及其功能

片内总线:cpu内部的总线。

系统总线:连接cpu与其它内部之间的连线;包含:地址、数据、控制。(地址是单向的)

外部总线:连接各个外设     

注:地址总线是单向的,数据和控制总线是双向的

        地址(寻址),数据(字长),控制(指令条数)

5、微机读取一条指令的工作过程

将要获取的地址取出放到地址寄存器,然后根据地址取出内存中对应地址的数据进行指令译码

二、数据表示

1、数值及转换

2、无符号数和有符号数及逻辑运算

(1)原码、反码、补码

 ①原码

二进制数的最高位表示符号,0正1负。数值部分用二进制数绝对值表示

8位二进制原码范围:-127~+127;16位二进制原码范围:-32767~+32767

②反码

符号位不变,其余位按位取反

8位二进制反码范围:-127~+127;16位二进制反码范围:-32767~+32767

注:‘0’有两种表示方法,[+0]反:00000000;[-0]反:11111111

 ③补码

符号位不变,在反码的基础上+1

8位二进制反码范围:-128~+127;16位二进制反码范围:-32768~+32767

注:[+0]补=[-0]补=00000000

正数的原码反码补码都一样,负数的原码反码补码正常求

(2)真值与机器数

用+或-表示正负的数叫真值,用0和1表示正负的数叫机器数

(3)逻辑运算符

:两者都是真结果为真

:只要一个为真结果就为真

:取反

异或:相等为0不等为1

3、BCD码和ASCII码的表示 

(1) BCD码:四位二进制表示一位十进制数

        

(2) ASCII码:美国信息交换标准代码

三、微机组成电路

1、基本门电路符号

    

     

    异或

      非

2、寄存器、存储器、触发器之间的关系

      若干个触发器一个寄存器

      若干个寄存器一个存储器

第二章 16位微处理器

一、8086/8088微处理器(第三代)

1、16位微处理器概述

  • 微处理器 :是微型计算机的运算及控制部件,也称中央处理单元(cpu)
  • cpu功能:指令控制、操作控制、时序控制、数据加工
  • 8086特点:

      (1)数据总线16位,地址总线20位

      (2)133条指令,指令长度1~6字节 变字节

  • 8086和8088的区别:

(1)8088 有 8 位数据总线,有 8 个地址/数据复用引脚,不需要BHE

          8086 有 16 位数据总线,有 16 个地址/数据复用引脚

(2)8086中M/IO*代替8088中IO/M*(8086IO低电平,8088M低电平)

(3)8086指令队列6字节,8088指令队列 4字节

2、8086cpu内部结构

     

(1)执行部件(EU)

功能:负责指令执行

 ①通用寄存器   

 • 数据寄存器

 AX:累加、 BX:寻址、 CX:计数、DX:数据(可分高8位,低8位)

高8位:AH、BH、CH、DH

低8位:AL、BL、CL、DL

• 地址寄存器

SP:堆栈指针、 BP:基址指针、SI:源变址寄存器、DI:目的变址寄存器

注:SP指向栈顶,BP指向堆栈中的任何区域

       在串操作中,SI与DS联用,DI与ES联用

②算术逻辑运算单元(ALU)及标志寄存器(FR)

 ALU:只包含加法器

 FR:微处理器状态字PSW

 ③内部控制逻辑电路

(2)总线接口部件(BIU)

功能:负责与M、I/O端口传送数据

 ①段地址寄存器

CS:代码段、DS:数据段、ES:附加段、SS:堆栈段

 ②地址加法器

 用来产生20位物理地址

③指令指针寄存器(IP)

存放当前要执行的下一条指令的偏移地址;也叫程序计数器PC

 ④指令队列

8086指令队列6字节,8088指令队列4字节。

指令队列:先进先出;堆栈:先进后出

⑤I/O控制逻辑

是系统总线(AB、DB、CB)的控制电路

(3)EU与BIU

EU与BIU之间是通过指令队列联系的

3、寄存器结构

(1)通用寄存器

 AX、BX、CX、DX(可分高8位,低8位)

(2)指针与变址寄存器

 SP、 BP、SI、DI 

(3)段寄存器与指令指针寄存器

CS、DS、SS、ES ;IP

(3)标志寄存器

标志寄存器flags:16位,仅定义了9位,其中6位状态位,3位控制位          

           

4、8086存储器的逻辑地址和物理地址

段的起始地址:16进制后1位为0,二进制后四位为0

一个段的大小\leqslant64K

cpu可以用不同的段地址和偏移地址形成同一个物理地址

注:堆栈存取原则“先进后出、后进先出”

8086/8088的堆栈属于向下生长型,在堆栈段SS用SP指向栈顶

5、加电或复位

8086CPU在加电或复位后CS=0FFFFH(十六进制字母开头在前面写0),IP=0000H

即开机后执行的第一条指令在FFFF0H

6、存储器结构

地址码为一个不带符号的整数表示,从0到,即00000H~FFFFFH

 8086/8088CPU能直接寻址的地址范围:00000H~FFFFFH(1M)

二、8086/8088CPU引脚

1、8086CPU工作模式

(1)8086最小组态配置图

①8282/8283:8位地址锁存器。而8086是20位地址所以需要3片

②8286/8287:数据收发器。低16位的传输,需要2片

③8284:时钟发生器。ready和reseat经过时钟发生器在进入CPU

(1)8086最大组态配置图

 

 ①8288:总线控制器

 ②8289:总线裁决器

2、8086CPU引脚信号

   

      注:WR、RD可以都等于1,但不能都等于0

3、8086存储器的分体结构

    (1)奇偶存储体

        

             A0=0偶,A0=1奇

    (2)BHE*和A0组合对应的操作

           

              注:偶存储体连低8位,奇存储体连高8位

    (3)数据存放格式

              存储器两个连续字节组成一个字,存入时按照高高低低原则

三、8086/8088总线的工作周期

1、概念

(1)什么是总线操作

 CPU通过总线对外的操作

(2)总线操作主要有

 M/IO的读写、中断响应操作、总线请求及响应工作

(3)时序

 • 是指信号高低电平变化及相互间的时间顺序关系

 • 总线时序描述CPU引脚如何实现总线操作

• CPU时序决定系统各部件间的同步和定时

• 描述总线操作的微处理器时序有:指令周期、总线周期、时钟周期

  时钟周期:是CPU的基本时间计量单位,=1/主频

  总线周期:CPU通过总线对存储器或I/O进行一次数据交互的过程

  指令周期:CPU取一条指令并执行该指令的时间

  指令周期包含若干总线周期,而后者又包含若干时钟周期

   一个总线周期至少需要四个时钟周期,即T1、T2、T3、T4

   总线周期中的时钟周期也叫“T状态”

   等待时钟周期TW:在T3和T4之间插入

   空闲时钟周期Ti:在2个总线周期之间插入

2、最小模式下的读/写周期

      T1:传地址

      T2:读/写指令和数据收发指令

      T3:低16位出现CPU要读/写的数据或等待数据的出现

      T4:将数据读/写入CPU

      T1:M/IO*、A19/S6~A16/S3、AD16~AD0、BHE*/S7可高可低

              ALE在T1状态下必高,其余状态低

              DT/R*一直高电平

              DEN*在T1状态下传的是地址而不是数据所以高电平

      T2:M/IO*、A19/S6~A16/S3、AD16~AD0、BHE*/S7可高可低

              WR写指令低电平有效

              DEN*发送数据低电平有效

      T3:ready检测

五、8086/8088系统的中断

1、中断操作

      暂停现行的主程序,转去执行中断服务子程序,完成中断事件后,返回断点继续执行主程序

2、中断源和中断类型

      中断源:引起中断的原因或事件

3、中断向量与中断向量表

      中断向量:是中断处理子程序的入口地址

      中断向量表:地址范围为00000H~03FFFH,一个中断向量占4个存储单元

4、专用中断

       系统写好的,先存偏移地址再存段基址,数值越小优先级越高,由高到低:

       INT 0 除法错中断、INT 1 单步中断、INT 2 非屏蔽中断、INT 3 断点中断、INT 4 溢出中断

5、可屏蔽中断响应条件

      INTR有请求、IF=1

6、中断响应

      8086的中断响应需要2个总线周期

      第一个总线周期:CPU收到外界中断请求,IF为1,会给INTA响应

      第二个总线周期:把中断类型码给CPU

7、中断优先级                

       有比当前优先级更高的中断请求,转去执行高优先级的中断

第三章 8086/8088指令系统

一、8086/8088指令系统的格式与寻址方式

1、格式

      [标号] 操作码 操作数 [注释]

 2、寻址方式

二、传送类指令

除串操作外不允许2个操作数都是存储器

MOV指令的几点说明:

• 不允许2个操作数同时是段寄存器或存储器

• 立即数不能直接传送到段寄存器中

• 目的操作数不能是CS、IP

•类型相同(字节、字)

•MOV不影响标志寄存器的值

三、数据操作类指令指令

1、算数运算指令

2、逻辑运算和移位指令

四、串操作指令

   

 五、控制类指令

 第四章 汇编语言的程序设计

一、基本概念

1、机器语言、汇编语言、汇编程序

     (1)机器语言:直接用二进制表达指令的计算机语言

     (2)汇编语言:采用助记符等表达指令的计算机语言

     (3)汇编语言源程序:汇编语言编写的程序

     (4)汇编程序:将汇编语言源程序翻译成机器代码的程序

2、汇编语言的语句格式

      [名字项]  操作项  操作数  [注释]

      名字项:可省,是某些数据或存储器地址的临时符号名。由1~31个字符组成,可以是A~Z、

       a~z、 0~9、?、@、_等。但一个字符必须是字母,一些保留字不能做名字

       源程序.asm     目标模块.obj       可执行文件.exe

3、汇编语言的基本语法

(1)常量、变量、标号

常量:几进制数、字符串常量(以ASCII码形式存放)

 变量:有三个属性。段属性(SEGMENT)、偏移属性(OFFEST)、类型属性

 TYPE):表示占多少个字节,DB字节、DW字、DD双字

标号:表示一条指令所在的地址,三种属性。段属性、偏移属性、距离属性:NEAR

(近)段内转移,FAR(远)段间转移

(2)运算符和表达式

               ①表达式

                  

             ②运算符

              ③运算符的优先级(由高到低)

                  •()中的表达式

                  •  LENGTH、SIZE

                  •  PTR、OFFEST、SEG、TYPE、THIS、段前缀

                  •  HIGH、LOW

                  •  *、/、MOD、SHL、SHR

                  •  +、-

                  •  EQ、NE、LT、LE、GT、GE

                  •  NOT

                  •  AND

二、伪指令

1、伪指令的格式

       变量名  定义符  操作数   [注释]

2、常用伪指令      

寄存器设置为0的方法

MOV   AX,0/0000H       //直接MOV 0

SUB    AX,AX               //做减法

AND   AX,0000H         //任何与0做与运算都为0

XOR   AX,AX              //相同为0,异或

三、汇编语言程序的结构

1、汇编语言源程序的结构(用到哪个定义哪个)

 2、汇编语言和DOS操作系统之间的接口

        MOV  AH,4CH

        INT    21H

        程序完成后会自动返回DOS状态

第四章 存储器系统

一、概述

1、半导体存储器的分类

 2、半导体存储器的组成

       存储体、地址译码器、控制逻辑电路、数据缓冲器

3.三级存储系统结构

由高到低依次为:cpu cache高速缓冲存储器 内存 外存

cache:提高cpu访问速率

内存:能直接与cpu进行交互

外存:cpu不能直接访问,先进入内存由内存进入cpu

内存和外存弥补主存容量的不足

二、半导体存储器与CPU连接

 1、存储器片选信号的处理方法

       全译码法、部分译码法、线选法

2、74L138

       

第六章 中断控制器8259A

• ICW:中断控制字

• IOW:中断操作字

• ISR:中断服务寄存器

• IMR:中断屏蔽寄存器

• IRR:中断请求寄存器

一、可编程中断控制器8259A简介

• 中断系统解决当前高速CPU与低速外设信息交互之间的矛盾

• 管理可屏蔽中断

1、8259A基本功能

   • 一片8259A可管理8级中断,可扩展至64级

   • 每一级中断都可单独被屏蔽或允许

   • 提供中断向量号,有多种工作方式可通过编程选择

2、8259A芯片结构

(1)中断请求寄存器IRR

          • 保存IR0 ~ IR7

          • Di位为1表示IRi引脚有中断请求,为0表示无请求

(2)中断服务寄存器ISR

         • 保存正在被8259A处理的中断请求信号

         • Di位为1表示IRi中断正在服务中,为0表示没有被服务

(3)中断屏蔽寄存器IMR

         • 保存IRi的屏蔽信息

         • Di位为1表示IRi中断被屏蔽,为0表示允许

3、8259A的外部引脚

二、8259A芯片的工作方式

1、中断触发方式

2、8259A中断类型码的形成

      • 一片8259A引入的8级中断请求类型码是连续的

      • 中断类型码是用户可定义的 

3、设置优先权方式

4、中断结束方式

      8259A利用中断服务寄存器ISR判断

      • ISR相应位为1正在进行中断,结束时该位清0

三、8259A芯片的级联使用

• 一个主片若干的(最多8个)从片

• 主CAS0~CAS2连从片的CAS0~CAS2

• 从片的中断请求信号INT连主片的中断请求输入端IR

• 主片的INT连CPU的中断请求输入断IR

• 从片使能端SP/EN*接地,主片接电源VCC 使能端为0从片为1主片

 四、8259A芯片控制字及工作方式

1、8259A编程两部分

2、8259A两个内部端口地址

第七章 输入/输出接口

 一、I/O接口概述

• 为什么需要I/O接口电路

   微机的外设多种多样,工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大,因此它们不能与CPU直接相连,必须经过中间电路再与系统相连,这部分电路被称为I/O接口电路

• 什么是I/O接口电路

   I/O接口是位于系统与外设间,用来协助完成数据传送和控制任务的逻辑电路。PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路

1、I/O接口交换的信息

2、I/O端口的寻址方式

      8086采用I/O端口独立编址 

3、8086/8088的I/O编程

      • 8086寻址外设地址线16条AD15~AD0,端口最多65536个(64K),端口号为0000H~FFFFH

      • 每一个端口用于传送1个字节(8位)的外设数据

      • 两种寻址方式

         直接寻址:00H~FFH前256个端口

         间接寻址:全部64K个端口,先放DX

4、输入/输出的控制方式

二、并行通信与并行接口

串行:传输线数量少 中低速度 距离传输

并行:传输线数量多 速度快 距离传输

三、可编程并行通信接口芯片8255A

3种工作方式 3个8位数据端口 可以实现中断方式和查询方式的数据传送

1、8255A内部结构

(1)8255A对外设一侧有3个8位数据端口,即数据端口A、B、C

          • 端口A/B/C:对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器

          • A口和B口做数据端口 C口作为A口和B口的联络线 

(2)对CPU来讲,8255A有4个CPU可访问的8位端口

         • A口、B口、C口、控制口

(3)8255A引脚

2、8255A芯片的控制字及其工作方式

(1) 三种工作方式

           • 方式0:基本输入输出(适用于无条件传送和查询方式)

           • 方式1:选通输入输出(适用于查询和中断方式)

           • 方式2:双向选通传送(适用于与双向传送数据的外设、查询和中断方式)

 注: 用户可用软件来分别定义3个端口的工作方式,可使用的控制字有工作方式控制字置                    位/复位控制字

A口支持方式0 1 2 , B口支持0 1,C口仅支持0

• C口中A组控制高四位PC4~PC7(上半口)

            B组控低四位PC0~PC3(下班口)

(2)2个控制字

         • 方式选择控制字

          

         • 置位/复位控制字

           只对C口进行控制但写入到控制口

           

3、打印机各控制信号的意义

      DATA STROBE:数据选通信号。打印机要有一个宽度为0.5us的脉冲,作为数据选通信号,由PC4输出

      BUSY:打印机的状态信号。高电平有效,此时打印机“忙”,不能接受新的输出数据。由PC2读入

      DRIVE RIGHT:8255A给外设的启动信号。此信号驱动纸带前进一步,并读一个字符。由PC5输出

     DATA READY:纸带读入器的状态信号。高电平表示纸带读入器已将数据准备好,由PC3读入

四、串行通信及串行接口

       • 串行通信的3种传输方式:全双工、半双工、单工

1、串行通信线路的工作方式

      串行通信分为同步通信异步通信

       ①同步通信

           • 把许多字符组成一个信息组帧为传输单位,每帧信息包括成百上千个字符

           同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂

           • 在传送时要加上同步字符,在没有信息帧要传输时,要填上空字符,因为同步传输不允许               有间隙

       ②异步通信

           字符为传输单位,每个字符作为一个独立的信息单位(1帧数据)

           • 异步通信数据格式也叫异步通信帧格式

              起始位为0,后有5~8个信息位,后有校验位(奇偶校验或不设),最后是1~2位的停止位

2、传输速率

      也叫波特率,每秒传输多少位二进制位

五、可编程串行接口芯片8251A

        串行,应用于长距离的传输,采用异步通信或同步通信

第八章 可编程计数/定时器8253

一、可编程计数/定时控制器8253

1、8253定时计数器

      • 3个独立的16位计数器通道

      • 每个计数器有6中工作方式

      • 按二进制或十进制(BCD码)计数

      • 8253可与8086/80888CPU相连构成完整的定时计数脉冲发生器系统

2、8253内部结构和引脚

(1)读/写控制电路

          • 可接收的控制信号如下:

             ① A1A0:端口选择信号

                  3个独立通道和1个控制字寄存器构成4个端口

                  A1A0=00 通道0 A1A0=01 通道1 A1A0=10 通道2 A1A0=11 控制字寄存器

             ② CS*:片选信号

             ③ RD*、WR*:读写控制命令

(2)通道0~通道2(计数器)

          • 采用二进制计数时,最大计数值是FFFFH,最大初值0000

          • 采用BCD码计数时,最大计数值是9999,最大初值0000

          • 计数初值公式:

            

(3)控制字寄存器

          8253的方式选择控制字

         

二、8253的工作方式

有6种工作方式,由方式控制字确定

• 方式0 计数结束产生中断

• 方式1 可编程单脉冲发生器 只产生1个负脉冲NCLK

• 方式2 频率发生器(分频器) 每四个时钟周期一个负脉冲 

• 方式3 方波发生器

• 方式4 软件触发方式

• 方式5 硬件触发方式 

1、计数开始的时刻

      任一种方式,只有在计数值后才能开始计数

      方式0、2、3、4在写入计数值后,计数自动开始

      方式1、5需外部触发,才开始计数

2、计数值n与输出波形的关系

    

3、6种工作方式的比较

      • 只有方式0是在写入控制字后OUT为低,其它均为高

      •  方式0,1,4计数初值仅一次有效,方式2,3,5能自动重装

      • 一般方式0,1,4,5选作计数器用(输出一个电平或一个脉冲),而方式2,3选作定时器用          (输出周期脉冲或周期方波)

   

      

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/282337
推荐阅读
相关标签
  

闽ICP备14008679号