微机原理第二周笔记

2 微型计算机系统基础

2.1 指令系统

2.1.2 程序设计语言

程序设计语言:机器语言、汇编语言、高级语言

  1. 指令系统(Instruction Set Architecture)
    • 指令:要计算机执行某种操作的命令
    • 程序:是一组指令的有序集合
    • 指令系统:一台CPU能识别的所有指令的集合
  2. 汇编语言和汇编程序
    • 机器指令:二进制指令,由指令操作码操作数组成
    • 机器语言:由机器指令构成的编程语言
    • 汇编语言:用约定的符号和数字按规定的格式来表示指令
    • 汇编程序:将汇编源程序自动翻译成机器语言的过程
    • 算法语言(高级语言):由预先规定的基本符号构成程序,比较接近数学语言,与具体机器无关,通用性强、便于学习和掌握。



2.1.2 处理器体系结构

  1. 系列计算机:具有相同的基本指令系统和基本体系结构(ISA),但具有不同组成和实现的一系列不同型号的机器
  2. CISC和RISC
    • 复杂指令系统计算机(Complex Instruction Set Computer, CISC):有庞大的指令系统、较多的寻址方式、复杂的指令格式,CPU结构复杂、设计成本高
    • 精简指令集计算机(Reduced Instruction Set Computer, RISC)
      • 去除不常用的复杂指令,硬件只支持常用的简单指令。
      • 通过减少指令种类、规范指令格式、简化寻址方式、存储器并行
        处理等方式,大幅度的提高处理器的总性能



2.2 微型计算机系统结构

2.2.1 微处理器与微型计算机

  • 微处理器(Microprocessor, μP, MP):将运算器控制器集成在一起的中央处理器部件
  • 微型计算机(Microcomputer, μC, MC):以微处理器为核心,配上内存储器、输入/输出接口电路及系统总线所组成的计算机
  • 微型计算机系统(Microcomputer System, μCS, MCS):是指以微型计算机为中心,配以相应的外围设备、电源、辅助电路以及控制微型计算机工作的系统软件所构成的计算机系统。

2.2.2 微处理器中主要的寄存器

  • 指令寄存器 (Instruction Register, IR)
  • 程序计数器 (Program Counter, PC)
  • 地址寄存器 (Address, Register, AR)
  • 数据寄存器 (Data Register, DR)
  • 通用寄存器 (R_0~R_n)
  • 程序状态字寄存器 (Program Status Word, PSW)

2.2.3 微型计算机中的存储器与地址分配

  1. 内存组织


  2. 地址分配
    • 统一编址:I/O口和内存储器统一编址
    • 独立编址:I/O口和内存储器地址空间各自独立编址
    • 堆栈:按后进先出(LIFO, last in first out)原则进行存取的存储结构

2.2.4 微机系统中采用的先进技术

  • 流水线技术:为了提高微机的工作速度,将某些功能部件分离,使一些大的顺序操作分解由不同功能部件分别完成、在时间上可以重叠的子操作
  • 哈佛结构:(冯·诺依曼结构的计算机中,指令和数据放在同一个存储器中,在流水线中可能会出现冲突)为了提高并行性,一些现代计算机将指令和数据分别放在两个独立的存储器中,每个存储器独立编址、独立访问,称为哈佛结构
  • Cache技术:为了弥补CPU与内存在速度上的巨大差距,现代计算机在CPU和主存间设置了一个高速度、小容量的缓冲存储器Cache
  • 虚拟存储管理技术:虚拟存储器位于“主存-辅存”的存储层次,可以让程序员放心使用更大容量的虚拟内存,不必过问实际内存的大小,并可以得到与实际内存相似的工作速度
  • 多核处理器结构:多核处理器结构是指制作芯片时在单个处理器内部安排两个或多个基于微处理器的执行核或计算引擎

2.3 输入/输出系统

2.3.1 信息交换方式

  • 程序查询方式
  • 中断控制方式:中断控制,就是外围设备“主动”通知CPU,报告它是否已进入准备就绪状态,这样CPU就不用花费时间进行循环测试。一个中断发生时,CPU暂停它的现行程序,转向执行中断处理程序,完成输入或输出数据的任务,当中断处理完后,CPU返回它原来的程序,并从停止的位置开始执行
  • 直接存储器存取控制方式(Direct Memory Access, DMA):DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,直接在内存和外围设备之间进行,以高速传送数据
  • 通道方式(IP/OP)
  • 外围处理机方式(PPU)

2.3.2 程序中断方式

  1. 中断的基本思想


  2. 中断源:能够引发中断的事件称为中断源,一般有内部中断源和外部中断源两种

  3. 中断处理过程

    • 中断请求
    • 中断响应:
      1. 保护断点:断点是指响应中断时,被打断的程序紧接着当前指令的下一条指令的地址
      2. 保护现场:现场是指中断响应时,中断服务程序执行之前,CPU内各存储器的当前值
      3. 识别中断源:中断源的识别就是找到中断源的服务程序入口地址的过程
    • 中断处理
    • 中断返回

4.中断系统的功能


2.4 微处理器的发展

  • 早期微处理器(1971—1973年)
  • 8位微处理器(1973—1978年)
  • 16位微处理器(1978—1983年)
  • IA32架构微处理器(1983—1993年)
  • IA 64位微处理器
  • 其他微处理器:除了Intel公司,还有其他一些优秀的微处理器制造商,
    如Motorola 、Zilog、AMD等公司
  • AI 处理器(AI SOC)……

2.5 嵌入式系统

  • 嵌入式系统定义
    嵌入式系统是以应用为中心、以计算机技术为基础,采用可剪裁软硬件,能够满足应用系统对功能、可靠性、实时性、成本、体积功耗等指标的严格要求的专用计算机系统,用于对其他设备的控制、监视或管理等功能。
  • 嵌入式系统特点
    • 专用性强
    • 技术融合
    • 集成度高
    • 实时性好
    • 资源受限
  • 交叉编译:
    - 本地编译:在当前编译平台下,编译出来的程序只能放到当前平台下运行。
    - 交叉编译:在当前编译平台下,编译出来的程序能够运行在另一种体系结构的目标平台上,但是该编译平台本身却不能运行。
    通常将这个编译平台成为宿主机,而目标平台称为目标机
  • 嵌入式系统的发展
    • 嵌入式微处理器
    • 嵌入式微控器
    • ARM时代
    • 面向Internet阶段

3 微处理器

3.1 Intel 8086微处理器

1.8086 CPU是16位的第三代微处理器,其内部数据总线外部数据总线均16位。
2.8086 具有20 位地址总线,可寻址的内存地址空间达1M字节,可寻址的I/O 地址空间为64 K字节。
3.8086 有多重寻址方式、多级中断方式、多重数据处理形式、段式存储器结构、硬件乘除法运算电路。取指令和执行指令的操作并行运行,运行速度大大提高。

  1. 8086具有最小模式最大模式,应用领域宽广,适应性强。
  2. 8086可方便地和数据处理器8087、I/O 处理器8089 或其它处理器组成多处理机系统,提高数据处理能力和输人输出能力。

3.2 8086的存储器组织

3.2.1 寻址空间和数据存储格式

  1. 寻址空间当存储器按字节编址时,若地址总线为n位,CPU寻址范围是2^ n字节
  2. 8086存储器的组织及寻址:按字节编址,20位地址线,可寻址的地址范围为00000H ~ FFFFFH

    数据的存储格式
    (1) 字节数据(BYTE):8位,偶地址(地址的最低位A_0=0),奇地址(A_0=1
    (2) 字数据(WORD):16位,存放在两个连续的字节单元中,高8位存放在高字节,低8位存放在低字节。规定低字节的地址作为这个字的地址(字地址

(3) 双字数据(DOUBLE WORD):占用4个连续的字节单元,并规定最低字节位双字的地址


数据的地址对齐
同一个存储器地址可以表示为:
字节单元地址、字单元地址、双字单元地址等等(视指令的具体情况)。将字单元安排在偶地址(xx……….xx0 B),将双字单元安排在模4地址(xx………xx00 B)的做法,被称为“地址对齐(Align)”

存储的数据如果对齐边界,则存取速度较快


3.2.2 存储器的分段结构和物理地址的形成

  1. 存储器的分段结构
    由于8086中的地址寄存器都是16位的,用户不能直接使用20位的物理地址,编程时需要使用逻辑地址来寻址存储单元。
>>段地址:段起始地址的高16位
>>偏移地址:段内存储单位相对于段起始地址位移偏移量
>>逻辑地址由两个16位数构成: 段的起始地址:段的偏移地址
(16位段地址):(16位偏移量)

8086将地址分成若干逻辑段,每个逻辑段长度≤64KB,并且规定段起始地址的低4位必须为0.

  1. 物理地址的形成
    一个存储单元可以拥有多个逻辑地址,但只可能拥有一个唯一的物理地址
物理地址 = 段地址 * 16 + 偏移地址
  1. 按信息特征分段存储
    存储器可以划分为:程序区、数据区、堆栈区
    程序段中存储程序的指令代码;数据段附加段中存储数据、中间结果和最后结果;堆栈段存储压入堆栈的数据或状态信息。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。