微机原理整理

第一章

  • 摩尔定律(Moore’s Law):微处理器内晶体管的集成度每两年增加一倍;
  • 吉尔德定律(Gilder,s Law):主干网的带宽每 6 个月增加一倍;
  • 麦特卡夫定第(Metcalfe’sLaw):网络价值与网络用户数的平方成正比

概论

  • 泛在计算特别关注所谓的隐蔽性 (Invisibleness) 和环境感知性 (Context Awareness) 环境感知是泛在计算技术的核心;泛在通信即广泛存在的通信,以实现在任何时间、任何地点、任何人、任何物都能顺畅地通信为目标。
  • 普适计算具有环境感知的特性
    • 强调和环境融为一体的计算概念,即人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。
  • 无线传感器网络 (Wireless Sensor Network, WSN)也称为泛在传感器网络 (Ubiquitous Sensor Network, USN) , 是一种由多个节点组成的、面向任务的无线自组织网络。
    • 自组织组网
    • 多跳路由
    • 资源受限
    • 低功耗

集成电路与 SoC 设计

  • 集成电路是指通过一系列特定的加工工艺,将晶体管、二极管等有源器件和电阻、电容、电感等无源器件,按照一定方式互连,“集成”在一块半导体晶片(如硅或神化像)上,封装在一个外壳内,执行特定电路或系统功能的一种器件。
  • 特征尺寸(Feature Size)与集成规模(Integration Scale)是标志集成电路工艺技术水平的两个重要指标。
    • 特征尺寸表征了集成电路工艺所能实现的最小线宽
  • 系统级芯片(System on Chip, SoC),SoC 也称为片上系统、系统芯片或系统集成芯片。
    • SoC 包括一个可编程处理器(叶)、片上存储器和由硬件实现的加速功能单元(如 DSP)。此外,SoC 作为一个系统,需要直接与外界打交道
    • image.png|600
    • 现代 SoC 设计技术理念中,IP 是构成 SoC 的基本单元。这里的 IP 可以理解为满足特定的规范和要求,并且能够在设计中反复重用的功能模块,通常称其为 IP 核(IP Core
      • IP 核是一些设计好的功能模块,购买一个 IP 核所得到的是一些设计数据,但不是实际芯片
      • IP 核必须经过实际验证,最好 IP 核在设计中已经被成功使用,最起码已通过某种可编程器件(例如现场可编程门阵列 FPGA 等)验证了其功能正确
      • IP 核必须经过性能优化,只有那些性能优异的 IP 核才会有人购买
    • 软核(Soft Core)。可重用性最高 设计复杂度将大幅增加
    • 硬核(Hard Core)。指经过预先布局且不能由系统设计者修改的 IP 核,通常以电路版图形式提交,灵活性最小,可重用性最低(硬核具有不可更改性),但性能最稳定,可靠性最高。
    • 固核(Finn Core)。介于软核和硬核之间,固核由 RTL 描述和可综合网表组成,通常以门级网表的形式提交 固核与实现工艺相关,耳网表本身难于理解,这些都限制了固核的使用范围

分类

  • 具有代表性的新型体系统结构主要包括片上多核处理器(Chip Multi-Processors, CMP) 、流处理器 (Stream Processor) 、存内处理器 (Processor In Memory)及可重构处理器(Reconfigurable Processor)
  • 片上多核处理器(又称多核微处理器)是目前构造现代高性能微处理器的主要技术途径
    • 通过在单个芯片中放入多个结构相对简单的微处理器内核(而不是使用一个巨大的微处理器内核),片上多核技术避免了上述问题。
    • 结构易扩展。
    • 设计可重用
    • 低功耗
    • 线延迟容忍度高。
  • VIM 系统的结构示意图,主要由 4 部分组成:标量 RISC 核、向量核、嵌入式 DRAM 存储体和内部互连矩阵(CROSSBAR)。其中,嵌入式存储体内部由 4 个独立的存储体(Bank)组成
  • 可重构处理器抛弃了指令流这种存储访问密集的计算方式,使用硬件完成重要数据的计算,而无须额外的指令控制,因而可以大大减缓存储屏障带来的压力。

嵌入式定义

  • 嵌入式系统是指任何包括可编程计算机的设备,但本身并未被刻意设计为一台通用计算机。
    • 以各种形态嵌入到对象体系中的专用计算机系统
    • 嵌入式系统(Embedded System)是控制、监视或者辅助设备、机器或平台运行的装置
    • 目前国内普遍认同的嵌入式系统的定义是:以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统,即“嵌入应用对象体系中的专用计算机系统”。
    • 嵌入性、专用性和计算系统是嵌入式系统的 3 个基本要素,对象系统则是指计算系统所嵌入的宿主系统。
  • image.png|600
  • 嵌人式系统一般由硬件平台、软件系统及开发工具等三部分组成
    • image.png|600
    • 嵌入式系统硬件包括嵌入式核心芯片、存储系统及外部接口。
    • 嵌入式系统的软件主要包括两部分:嵌入式操作系统和应用软件
  • 嵌人式系统的核心部件是各种类型的嵌入式处理器
    • 网络互连
    • 多核异构
    • 软件定义

第七章

RISC 技术

  • RISC 技术
  • 加载/存储体系结构,也称为寄存器/寄存器体系结构或 R-R 系统结构,借用大量的标量或向量寄存器来进行中转,使用更多的通用寄存器存储操作数和运算结果
  • 采用固定长度精简指令集
  • 三地址指令格式,操作数、源操作数和第二源操作数。

ARM 编程模型

  • 32 位的 ARM 微处理器支持以下两种工作状态:
    • ARM 状态。微处理器执行 32 位的字对齐的 ARM 指令。
    • Thumb 状态,微处理器执行 16 位的、半字对齐的 Thumb 指令。
  • ARM 微处理器复位后开始执行代码时,或者异常处理时,处于 ARM 状态
    • 状态切换不影响工作模式和寄存器内容
    • thumb 则会还在 thumb 状态
  • ARM 微处理器的工作模式可以通过软件改变,也可能因外部中断或异常引发改变
  • image.png|600
  • 其余所有 6 种模式称为非用户模式或特权模式 (Privileged Mode)
  • 当微处理器工作在用户模式时,正在执行的程序不能访问某些被保护的系统资源,也示能直接进行工作模式的切换。应用程序可以通过产生异常中断,在异常处理过程中切换工作模式,当应用程序产生异常中断时,微处理器进入相应的异常模式
  • 32 位 ARM 微处理器共有 37 个 32 位的物理寄存器,其中包括 31 个通用寄存器(含程序计数器 PC) 和 6 个程序状态寄存器。这些寄存器不能同时访问,具体哪些寄存器可编程访问取决于微处理器的工作状态及具体的工作模式。
  • 通用寄存器包括 R0-R14, 可以分为两类:不分组寄存器(R0-R7)和分组寄存器(R8-R14)。
    • 对于不分组寄存器 R0 R7, 在微处理器的所有工作模式下,它们中的每一个都指向一个物理寄存器,且未被系统用于特殊用途。因此,在中断或异常处理中进行模式切换时,由于不同的微处理器工作模式均使用相同的物理寄存器,可能会破坏寄存器中的数据,进行程序设计时应引起注意。
    • 对于分组寄存器 R8-R14, 物理寄存器可能有分组,具体使用哪一组与微处理器当前的工作模式有关
      • 寄存器 R13 通常作为堆栈指针(SP), 用于保存当前微处理器工作模式下堆栈的栈顶地址。寄存器 R14 通常作为链接寄存器(LR),用于保存子程序的返回地址。当子程序的返回地址保存在堆栈中时,R14 也可以作为通用寄存器。
  • R15 作为程序计数器,用于保存微处理器准备读取的下一条指令的地址 - 通常 PC 总是指向当前指令之后两条指令的地址,即 PC 的值为当前指令的地址值加 8 - ![[微机原理复习#^1z1bgb]]
    • 程序状态寄存器(PSR)包括当前程序状态寄存器 (Current Program Status Register, CPSR) 和程序状态保存寄存器 (Saved Program Status Register, SPSR)
      • 微处理器在所有工作模式下都可以访问当前程序状态寄存器,而在每一种异常工作模式下都还另有一个程序状态保存寄存器 SPSR。当异常发生时,SPSR 用于保存 CPSR 的当前值,当从异常退出时,可用 SPSR 来恢复 CPSR。
      • 用户模式和系统模式不属于异常模式,因此这两种模式没有 SPSR, 当在这两种情况下访问 SPSR 时,结果是未知的
        - image.png|600
        - 控制位: CPSR 的低 8 位,即 I、F、T 和 M4-M0 称为控制位。当发生异常时这些位可能被改变,当微处理器运行在特权模式时,这些位也可以由程序修改
  • 32 位 ARM 微处理器支持的数据类型有字节(8 位)、半字(16 位)和字(32 位)。
    • 字节 在 ARM 微处理器中,字节的长度均为 8 位。
    • 半字 ARM 微处理器中,半字的长度为 16 位,半字必须以 2 字节为边
    • 字 在 ARM 微处理器中,字的长度为 32 位,字必须以 4 字节为边界对齐
    • 这三种数据类型都支持无符号数和有符号数 N 位决定
  • 以字节为单位的线性空间。每个字数据占 4 字节单元,每个半字数据占 2 字节单元。
    • ARM 微处理器的 32 位地址线能支持的最大寻址空间为 4 GB 2 的 32 次方
    • ![[微机原理复习#^qus79v]]
    • 在小端格式中,32 位字数据的高字节存放在高地址单元中,而低字节则存放在低地址单元中
    • image.png|600
  • 当发生异常时,微处理器必须先保存当前的状态;当异常处理完成后,需要将微处理器的状态恢复到处理异常之前,然后才能继续执行当前程序。ARM 微处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
    • 指令执行引起的直接异常。软件中断、未定义指令(包括要求的协处理器不存在时的协处理器指令)和预取指令中止都属于这一类。
    • 指令执行引起的间接异常。数据中止(在用加载/存储指令访问数据时的存储器故障)属于这一类。
    • 外部产生的与指令流无关的异常。复位、IRQ 和 FIQ 属于这一类
  • 当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序
    • image.png|600
    • 未定义指令异常和软件中断异常都依靠指令的特殊 译码产生,由于两者是互斥的指令编码,因此不可能同时发生
  • 存储器中为每个异常类型分配一个固定地址,该固定地址称为异常向量
    • 当 ARM 微处理器发生异常时,程序计数器被强制设置为对应的异常向量,从而转到异常处理程序
  • 复位异常处理程序执行完后无须返回。其他所有异常处理程序执行完后必须返回到原来程序处继续执行
  • ![[微机原理复习#^1zbw8k]]
  • image.png|600
  • 异常返回
    • image.png|600
    • a

第五章

  • 易失性存储器是指需要持续维持电源供应,才能确保存储内容不变化或不丢失的存储器。
  • 最常见的 MOS 型易失性存储器有两种基本类型:
    • 静态 RAM (Static RAM, SRAM)和动态 RAM (Dynamic RAM, DRAM) c
    • SRAM 中的基本存储单元是由 MOS 管构成的双稳态电路,存储的信息由双稳态电路的逻辑状态表征。
    • DRAM 存储的信息由电容上的电位来表征。由于电容总存在充电施电回路,即使不访问存储器,电容上的电荷也会发生变化,从而引起电位,变化并导致存储信息的丢失
      • reason:DRAM 内部保存信息的电荷会随着时间而泄漏,因此需要周期性地进行刷新
  • 一般采用速度较快成本较高SRAM 构成高速缓冲存储器(cache),成本较低、速度较慢的 DRAM 可用于构成主存
  • 最早的 NVM 是只读存储器 (Read Only Memory, ROM), 其存储内容在生产期间永久写入。
    • EPROM
    • Flash 存储器又称为闪速存储器,简称闪存
  • 按数据访问方式的不同,存储器可分为并行存储器(Parallel Memory, PM) 和串行存储器(Serial Memory, SM)
  • 随机存取又称为直接存取
    • 可按地址随机访问任意存储单元;访问存储单元所需的时间与数据存储的位置(即地址)无关
    • 计算机系统中 CPU 直接寻址的存储器都采用随机存取方式
  • 在顺序存取方式下,数据按照特定的线性或时序顺序写入存储介质,并且可以按照完全相同的顺序读回。顺序存取也称为 “先进先出” (First In First Out, FIFO), 非常适合作为缓冲存储器。
    • 队列
  • 按数据存取顺序的不同,存储器可分为随机存取存储器 (Random Access Memory,RAM) 、顺序存取存储器(Sequential Access Memory, SAM) 和堆栈存取存储器。
  • 按存取方式可以把存储器分为 随机存储器 和 只读存储器 2 类
  • 存取周期连续启动两次独立的存储器操作所需的最小时间间隔
  • 存取时间又称为存储器访问时间,即启动一次存储器操和(读或写)到完成该操作所需的时间。存取周期往往比存取时间得多、
  • 带宽是指存储器在连续访问时的数据吞吐量
  • 现代计算机系统通常把各种不同存储容量、存取速度和价格的存储器按一定的体系结构组成多层结构,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各种存储器中,以解决存储容量、存取速度和价格之间的矛盾
  • 映像规则用于确定一个新的块(页)被调人本级存储器时应放在什么位置上。
    • 全相联映像方式的优点是可以灵活地进行块的分配,块的冲突率低,但实际上由于成本太高而并不会被采用,可以允许在任意的存储器位置
    • 组相联映像方式是直接映像和全相联映像方式的一种折中方案
    • 直接映像 方式规定每一个块(页)只能被放到唯一的指定位置。直接映像时的地址变换速度快,实现简单,缺点是不够灵活,降低了命中率
  • 这种对局部范围内存储器地址频繁访问,而对此范围以外的存储器地址较少访问的现象称为存储器访问的局部性
    • 时间局部性
    • 引用局部性
  • 替换规则
    • 先人先出法(First In First Out, FIFO)选择将最早调入的块作为被替换的块
    • 最近最少使用法(Lqast Recently Used, LRU)选择将最久未被访问块作为被替换的块,可以提高命中率
    • 随机替换算法(RAlgom substitution, RAND)是在组内随机选择一块来替换
  • cache
    • 如果不命中,则将数据请求传给主存,贯穿读出,该方法的优点是降低了 CPU 对主存的请求次数,缺点是延迟了 CPU 对主存的访问时间
    • 旁路读出式,如果命中,则 cache 在将数据回送给 CPU 的同时,还来得及中断 CPU 对主存的请求;若不命中,贝 U cache 不做任何动作,由 CPU 直接访问主存。它的优点是没有延时,缺点是每次 CPU 都要访问主存,会占用部分总线时间
  • 多层存储系统也需要使用这种虚拟存储器技术来实现相邻层之间的数据调度。其主要思想是将虚拟地址空间和物理地址空间分离,并通过存储器管理单元 Management Unit, 使用地址映射表来完成两者之间的映射联系
  • cache 存储器系统主要负责解决高速度和低成本之间的矛盾。为了弥补主存速度的不足,这个层次的功能完全由硬件实现,因此对用户是完全透明的。
    • 高速缓存技术是一种用来缓解冯 •诺依曼瓶颈
  • 虚拟存储器系统主要负责解决大容量和低成本之间的矛盾,由于 CPU 不能直接访问辅存,主存-辅存层次通过附加的硬件及存储管理软件来控制。
    • ![[微机原理复习#^c2nnhj]]
    • 可以简化寻址方式。
    • 可以高效利用物理存储器
    • 便于访问控制
  • 虚拟地址空间指的是程序使用的地址空间(也称为逻辑地址空间或程序空间),而物理地址空间指的是物理存储器实际的硬件地址空间(也称为实存空间)
    • 另一种常用的存储器地址映射技术称为分段技术,逻辑地址到物理地址。在分段技术中,段的大小可变。用户可见,段内连续编址,段间不一定,段是逻辑单位
    • 分页技术(虚拟地址到物理地址)的不同之处在于,系统确定,用户不可见,大小固定,页是物理单位

第六章

  • 输入/输出接口简称 I/O 接口,有时也称为 I/O 电路或 I/O 控制器。I/O 接口不仅包括外部设备与 CPU 或计算机之间的硬件电路,也包括相应的驱动程序
  • 分类
    • 并行接口是指微处理器与 I/O 接口之间、I/O 接口与外部设备之间均以多个位的并行方式传送数据。串行接口是指接口与外设之间采用串行方式(即单个位)传送数据,数据按位一位一位地传送
      • 并行接口适用于传输距离较、传输速度较的场合,接口电路相对简单
      • 串行接口则适用于传输距离较、传输速度相对较的场合,传输线路成本较低,接口电路相对前者更复杂
      • 现代的高速串行接口也用于对传输速度要求特别高的场合。
    • 同步接口是指与同步总线相连的接口,其数据传输由统一的时序信号同步控制。异步接口则是指与异步总线相连的接口,其信息传送采用异步应答的方式进行。
    • 程序查询接口、程序中断接口、直接存储器访问 (DMA)接口
      • CPU 通过程序来查询接口的状态寄存器,并执行相应接口的数据访问操作。
      • 作为一种特例,即需传送的数据总是准备好的,无须任何状态联络信息,CPU 直接执行输入/输出指令即可实现读取接口数据或输出数据到输出接口的操作,这种特例也称为无条件传送方式
  • 统一编制
    • 这种编址方式是将存储器和 I/O 端口统一编址,即在存储器空间中划分出一段地址空间作为访问 I/O 端口的地址空间
    • 将端口看作存储单元,仅以地址范围的不同来区分两者。
    • 优点:对端口的操作和对存储单元的操作完全一样,因此系统简单,并且对端口操作的指令种类较多
    • 缺点:CPU 对存储单元和 I/O 端口的实际寻址空间都小于其最大寻址空间
  • 独立编址
    • 存储器和 I/O 端口的地址空间彼此独立
    • 特点:系统视端口和存储单元为不同的对象。
    • 优点:系统中存储单元和 I/O 端口的数量可达到最大
    • 缺点:需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址;专用端口操作指令比较单一
  • 中断
    • 中断源是指引起中断的事件或发出中断请求的来源,如掉电、数据校验出错等异常事件,键盘、磁盘、网口等外设操作请求等,
      • 中断处理模块会对中断源加以命名或通过编号进行区分,这个编号就是所谓的中断类型码(或称中断类型号)。
    • 中断向量中断服务子程序的人口地址,也就是中断服务子程序第一条指令在存储器中的存放地址。
    • 断点通常是指被中断主程下一条待执行指令的存放施址,也就是中断返回时的程序地址
    • 现场指中断发生前程序的运行状态,一般主要指系统标志寄存器和相关数据寄存器中的内容。
    • 中断屏蔽可能在两种情况下发生:一种情况是中断系统允许设置中断屏蔽标志(或中断允许标志),以屏蔽某些中断源的请求;另一种情况是当系统在处理优先级较高的中断请求时,不会响应后到的级别较的中断请求,也就是中断系统会自动屏蔽优先级低的中断,不允许其产生中断嵌套。
  • 中断处理 ^1zbw8k
    • 中断请求及检测
      • 虽然中断请求可能在任意时刻被送到 CPU, 但实际上 CPU 只是在当前指令执行完后才进行中断请求的检测,硬件检测
    • 中断优先级的判断
    • 中断响应
      • 跳转至中断服务子程序人口的过程,也是硬件
      • 获取中断类型码
      • 保护现场和断点
      • 获取中断向量,从而进入中断处理
    • 中断处理就是执行中断服务子程序的过程
    • 中断返回
  • 优先级判断
    • 软件查询
    • 硬件判断
      • 菊花链
      • 中断优先级编码
  • 中断控制方式充分发挥了 CPU 的效能,大大提高了 CPU 的工作效率。有了中断后,就允许 CPU 与多个外设同时工作,并可实现实时控制
  • DMA 直接存储器访问(DMA)传输方式
    • 高速的批量数据传输
    • MA 是通过硬件控制实现主存与 I/O 设备间的直接数据传送,在传送不用 cpu干预
    • 控制主存与 I/O 设备间之间直接数据传输的硬件就是 DMA 控制器,总线的从属模块,要让出系统总线控制权
    • image.png|600
    • 可以突发传输,这种一次请求总线传输一整块数据的方法;周期窃取,慢速设备,传输完一个数据字后,下一个字还没准备好,这时没有 DMA 请求,DMAC 撤销总线请求,恢复 CPU 操作。当 I/O 数据准备好时,再启动一次一个数据字的传输过程
    • 它不运行程序,不能处理较复杂的事件
  • 可编程通用并行接口(GPIO)允许用户通过写入不同的控制字改变其工作方式8255
    • 数据总线缓冲器、读医控制逻辑、输入/输出端口(A、B 和 C)和可编程控制寄存器。其中数据总线缓冲器用于总线隔离
    • image.png|600
  • 串行外围设备接口(SerialPeripheral Interface, SPI)是一种全双工同步串行总线接口 ^eh604s
  • I2c 是一种两线式半双工串行同步总线接口,两个都是同步的
  • 异步:
    • image.png|600
    • 波特率 ^3czyja
      • 通信线路的传送速度可以每秒最多能传送的位数(即每秒硬件电路状态最多能改变的次数)来衡量
      • 要求接收器采用比波特率更高的时钟频率对接收数据进行最大化采样,以提高定位采样的分辨率和抗干扰能力
    • 在串行传输中,收发双方都按通信协议进行
      • 意义?停止位,起始位,校验位,校验位是补上之后加上停止和起始后还符合奇偶的方法
      • ,起始位与停止位/空闲位采用不同的逻辑电平
  • 起始位置和停止位置的作用是使收发双方在随机传送的字符与字符间实现同步。接收端在检测到起始位时,便知道字符已经到达,应开始接收字符;当检测到停止位时,则知道字符传送已经结束 ^2zcwk8
    • 由于传送字符出现在数据流中的相对时间是任意的,保证异步通信的准确性,使收发两方随机传送的字符与字符之间实现同步接受发送
  • IO 端口:数据控制状态,接口电路中的一些寄存器
  • 锁存器:对于慢速设备,将 cpu 的数据锁存到锁存器的输出中,然后给 io 口外设进行后续处理
  • 数据缓冲器,三太缓冲,以便 cpu 读入数据时,缓冲电路打开设备和数据线之间通道,进行数据输入
  • 约定通讯协议:波特率。校验方式,帧格式,停止位,起始位:保证双方能在数据流中识别出其实和结束,并能正确解析出数据,避免丢失信息 ^k6cnq3
    • 空闲状态为 1,一旦有数据,起始为 0,检测电平变换即可;
    • 由于异步中没有共同的时钟信号,要对数据流进行采样,接收方 baud 率为发送方好几倍,保证最大化采样的准确性,中间信号最稳定,可以提高抗干扰与分率率;波特率因子
    • 当收发双方的时钟源频率不严格一致时,累积的位时间错位会造成停止位采样落在实际停止位之外而产生帧错误,或数据采样值落在其他数据位处而产生校验错误等

第四章

  • 总线是计算机系统中的信息传输通道,由系统中各个部件所共享。总线是计算机系统中模块与模块之间、部件与部件之间、设备与设备之间传送信息的一组公用信号传输线公用性 ^ed1ans
  • 分为片上总线、系统总线和系统外总线
    • 片上总线是指在微处理器芯片内部的总线,是用来连接芯片内部各功能模块的信息通路
    • 系统总线也称为微处理器系统总线,是微处理器芯片与存储器芯片、外设接口芯片等连接的总线,如 PCI-E 总线和 SAIA 总线等
    • 系统外总线是微机系统与系统之间、微机系统与外部设备之间的总线。USB
  • 异步总线在数据传送时,没有固定的时钟周期定时,而采用应答方式工作,操作时间根据需要可长可短。控制较复杂
  • 同步总线广泛应用于各个模块间数据传送时间差异较小的场合,控制简单,同步总线在进行数据传送时,由严格的时钟周期来定时,一般设置有同步定时信号
  • 并行总线有多条数据传输线,可以同时并行传送多个二进制位,其位数一般就称为总线宽度。高速并行总线需要克服串扰时钟偏斜(Skew)等问题,一般成本较
  • 串行总线只需要一条数据线,串行地逐位传送数据。
  • 性能指标
    • 总线时钟频率是总线时钟源每秒产生的脉冲数,反映了总线基本工作速度的快慢程度,总线偏斜
    • 总线宽度是总线单次并行传送数据的位数,一般为数据线的条数
      • 通常总线宽度仅指数据线宽度,与地址线宽度无关
    • 总线速率是指每秒所能传输数据的最大次数(区分带宽)。总线速率与总线的时钟频率(或时钟周期)和总线周期数有关,
      • 总线速率=总线时钟频率/总线周期数
      • 总线周期数是指通过总线传送一次数据所需的时钟周期数
    • 总线带宽是指每秒传输的字节数,单位是字节用 XB/s)或兆字节
      • 总线带宽与总线速率和总线宽度有关,即总线带宽=总线速率 x 总线宽度/8
  • 总线仲裁可分为两种方式:集中式(主从式)控制方式和分布式(对等式)控制方式。
    • 总线仲裁又称总线判决,其目的是合理的控制和管理系统中多个主设备的总线请求,以避免总线冲突。
    • 集中式控制方式是指系统采用专门的总线控制器或仲裁器分配总线时间,总线控制器或仲裁器可以是独立的模块或器件,也可以集成在 CPU 中。
      • 采用集中式控制方式的总线协议简单而有效,但总体系统性能较低。分布式控制方式是指总线控制逻辑分散在连接于总线上的各个模块或设备中。
      • 串行仲裁“菊花链”(Daisy Chain)是一种常用的串行仲裁机制,模块使用总线时的优先级由它到总线仲裁器的距离决定,离仲裁器越近,则优先级越高
      • 并行仲裁,仲裁器按规定的优先级算法选中一个主模块,并把 BG 信号送给该模块
      • 混合仲裁又称为多级仲裁,是把并行和串行两种方案相结合构成的更为灵活的
    • 采用分布式控制方式的总线协议既复杂,成本又高,但可以换来 CPU 和总线的高效使用。
      • 可能更为复杂,但可靠性更高,不会因为某个设备(如集中式仲裁器)损坏而导致整个系统都无法工作。
  • 总线时序一般可分为 4 种:同步时序、半同步时序、异步时序和周期分裂式时序。
    • 对于同步总线而言,其控制总线包含一个时钟和一个固定的与时钟有关的地址和数据发送协议
    • 异步,一条同步总线上连接着多个工作速度有快有慢的设备,异步时序依靠传送双方互相制约的握手信号来实现定时控制。在这种方式下,系统没有公用的时钟,也没有固定的时间间隔,设备之间采用一问一答的方式进行联络和协调工作
    • 周期分裂式时序,充分利用这段总线空闲的时间,两个子周期之间的空闲时间(从模块准备数据的时间)即可让出总线给其他主模块使
  • 串行总线
    • 串行总线使用的线缆少,成本低,非常适合用于嵌入式系统。,没有并行信号之间的串扰
    • 单工和双工(又可分为半双工和全双工)
      • 单工方式。在接收器和发送器之间只有一条传输线,只能进行单一方向的传输,这样的传送方式就是单工方式
      • 半双工方式。当使用同一条传输线既用于发送又用于接收时,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工方式,通信系统一端的发送器和接收器通过收/发开关接到通信线上,进行传输方向的切换。
      • 全双工方式。当数据的接收和发送分别由两条不同的传输线完成时,通信双方都能同时发送和接收数据,通信系统的每-端都设置了接收器和发送器
    • 采用调制解调技术之后,比特率大于波特率。![[微机原理复习#^3czyja]]
    • 同步和异步
      • 在同步串行总线中,收发双方可以在同一个时钟的不同边沿工作
      • 在异步串行总线中,收发双方使用频率接近(但不可能完全相同)的独立时钟源进行工作
        • 在异步通信时,被传送的字符出现在数据流中的相对时间是任意的、随机的。为了确保异步通信的正确性,让发送的字符与字符之间实现同步,字符数据格式中设置起始位和停止位
        • ![[微机原理复习#^2zcwk8]]
        • ![[微机原理复习#^k6cnq3]]
        • 设置停止位的目的是强制总线恢复到初始(空闲)状态(1 高电平),以便能检测到下一起始位的下降沿
      • 将接收时钟的频率设置得比发送时钟的高,如令接收时钟频率是发送时钟的 16 倍,就能保证接收方不会漏掉任何一个起始位。异步才要
      • 接收方在检测到起始位的前沿(下降沿)后,延时 8 个采样时钟,确定起始位稳定时刻,之后每隔 16 个采样时钟读取一位数据即可
      • image.png|600
      • 因为每个字都以一个新的起始位作为开头,这个起始位能够使通信重新同步
      • 在停止位或空闲位后,如果全部 8 个采样点连续低电平,则确认起始位有效,而如果不是 8 个采样点连续低电平,则认为是干扰信号。
      • 奇偶校验,加上这位判
  • 总线标准
    • 总线标准也称为总线协议
    • 总线协议一般包括信号含义、数据格式、时序关系、信号电平、控制逻辑,甚至包括物理连接器的定义等,它确定了一个系统使用总线的方法
    • 在 SoC 设计中,片上总线设计是最关键的问题
  • PCI 总线支持多总线结构和线性突发(Burst)传输。最大允许 32/64 位并行数据传送,采用地址/数据总线复用方式
    • 数据帧的传输模式,可确保总线不断满载数据
    • PCI 总线是一种同步总线
    • PCI 总线上可以存在多个具有总线管理控制能力的主控设备
    • PCI 总线通过 CPU 局部总线到 PCI 总线之间的桥接器形成一种独特的中间缓冲器设计方式,将中央处理器子系统与外部设备分开,使 PCI 总线具有独立于微处理器的结构特点。
  • PCI-E 串行总线
    • PCI-E 总线使用了高速差分总线,并采用端到端的连接方式
    • 基于时钟的同步传送机制,但是在物理链路上并没有时钟线
  • RS-232 是异步串行通信
    • RS-232c 采用负逻辑
    • 噪声容限 6v
  • usb 半双工异步串行
  • spi 同步串行![[微机原理复习#^eh604s]]
  • can 异步串行

第二章

[!warning]

  • PC 用于存放下一条要执行指令的存放地址
  • 计算机系统划分成三层,应用软件,系统软件,硬件系统 ^1z1bgb
  • 计算机体系结构(ComputerArchitecture)主要是指程序员关心的计算机概念结构与功能特性,而计算机组成(Computer Organization)则偏重关注物理机器中各操作单元(部件)的逻辑设计、硬件实现及互连组织技术,更底层的集成电路设计技术、封装技术、电源技术、冷却措施及微组装技术则称为计算机实现
  • 冯氏
    • 电子计算机的基本工作原理:存储程序原理
    • 二进制表示和存储程序(Stored Program),
    • 运算器、控制器、存储器、输入设备和输出设备
      • 控制器对程序代码进行解释并产生各种控制信号协调各部件工作
      • 计算机按存储程序原理工作
        • 其基本点是指令(控制)驱动:编制好的程序(包括指令和数据)预先经由输人设备输入并保存在存储器中;计算机开始工作后,在无须人工干预的情况下,由控制器自动、高速地依次从存储器中取出指令并加以执行。
    • image.png|600
    • 总线连接上述各部件的公共通道,用于实现各部件之间的数据、信息等的传输和交换![[微机原理复习#^ed1ans]]
    • 存储器由许多字节单元组成,每个单元都有一个唯一的编号。这个编号称为存储单元地址,而其中保存的字节信息称为存储单元内容
    • 输入/输出子系统用于完成计算机与外部的信息交换
      • 总线和设备之间添加一个信息交换的中间环节一接口 (Interface),接口一方面应该负责接收、转换、解释并执行总线主设备(如 CPU)发来的命令,另一方面应能将总线从设备(如显示器、打印机)的状态或数据传送给总线主设备,从而完成数据交换。I/O 接口的组织及读写方式一般与存储器类似。
    • 运算器、控制器和寄存器集成在一片称为 CPU (Central Processing Unit, 中央处理单元,或称为中央处理器)的超大规模集成电路芯片 (VLSI) 中
      • 算术逻辑单元是运算器的核心
      • 控制器是整个微处理器的指挥控制中心,对协调整个计算机系统有序工作极为重要。
      • reg 存器阵列是 CPU 内部的临时存储单元,用来暂时存放数据和地址
      • 堆栈(Stack)是一组寄存器或存储器中开辟的一个特定区域。先进后出”(FILO)或“后进先出”(LIFO)
  • CPU 可以处理全部指令集合称为指令集(Instruction Set)
    • 指令通常包含操作码和操作数两部分
    • 将源程序翻译成机器语言表示的目标程序,这个过程称为汇编
  • 每条指令执行的基本过程都可以分为取指令(Fetch)、分析指令(Decode)和执行指令(Execute)三个阶段 ^kqinps
  • 冯 • 诺依曼型计算机的串行特点:计算机以存储程序原理为基础,将程序和数据混合存放在单一存储器中,并使用单一处理部件按“取指-分析-执行”的步骤顺序执行指令
    • 指令执行的串行性和存储器读取的串行性。这种串行特性正是导致冯・诺依曼结构性能瓶颈的主要原因。
    • image.png|600
  • CPU 的指令集结构(Instruction Set Architecture, ISA)是计算机体系结构的主要内容之一,其功能设计实际上就是确定软硬件的功能分配,即哪些基本功能由硬件实现,哪些由软件实现。
    • 设计指令集结构时有精简指令集计算机(Reduced Instruction Set Computer, RISC)和复杂指令集计算机(Complex Instruction Set Computer, CISC)
    • 复杂指令功能通过微程序实现,再将微程序固化或硬化后交由硬件实现,这就是 CISC 系统的设计思路
    • image.png|600
    • image.png|600
  • 大多数现代计算机采用了图 2-8 所示的四级存储结构。 ^c2nnhj
    • image.png|600
    • cache-主存层次的存取速度接近于 cache 的存取速度,容量和每位存储的平均价格却接近主存,解决了高速度和低成本之间的矛盾;而主存一辅存层次的存取速度接近于主存的存取速度,容量和每位存储的平均价格却接近辅存,解决了大容量和低成本之间的矛盾。
  • 哈佛体系结构计算机将程序存储器与数据存储器分开,从而可以提供较大的存储器带宽。但是要求 CPU 拥有两套独立的地址和数据总线。

    [!warning]

    • 现代计算机采用了工业生产中基于时间重叠的流水线(Pipeline)技术,即把一个重复的过程分解为若干个子过程(相当于“工序”),每个子过程专门的功能部件来实现。
      • 同一时刻流水线各段能够并行处理不同指令,使多条指令的执行过程实现了(时间)重叠
  • 超标量处理机通过重复设置多个流水段硬件并行工作来提高性能
  • 超长指令字机能并行执行的多条指令组装成一条很长的指令
  • 计算机体系结构分类,按指令流和数据流,单和多 - SIMD 阵列处理机和向量处理机 - MISD 不存在

    [!warning]

    • 字长是一个基本的微处理器设计决策,它指 CPU 能够一次处理(运算、存储、传送)的最大数据宽度^qus79v
      • 所谓的 16 位(bit)机、3.2 位机、64 位机就是指该机的字长
  • 访存空间是指 CPU 能直接访问的存储单元(主存单元)数量,一般由 CPU 的地址总线宽度确定。 - 若 CPU 地址总线宽度为 16 位,则其直接访存空间为 2^16=64KB
    • image.png|600
      - F是时钟频率,而 IC 是指令数目,即运行中的程序的指令总数
      - 局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

第三章

  • 微处理器的基本功能包括数据的存储、数据的运算和控制,具体如下
    • 数据加工由 ALU、移位器和寄存器等数据通路部件完成,其他功能由控制器实现
    • image.png|600
  • 微处理器中的计算部分称为数据通路,包括运算部件、移位器等执行部件,以及寄存器组和它们之间的通信通路
    • 寄存器组常采用小型半导体存储器结构,一个存储单元相当于一个寄存器,存储单元的位数即是寄存器字长
  • CPU 内部的控制器获取来自内存的指令流并逐条执行指令,根据指令规定产生各种具有一定时序的控制信号,送往数据通路或 CPU 外部。
  • MAR 存储器地址寄存器和 MBR 存储器缓冲寄存器是连接微处理器与主存的桥梁,这两个寄存器使 CPU 与主存之间的传送通路变得更容易控制。这两个寄存器不能直接编程访问,即对用户是透明的
  • 译码逻辑
    • 微程序 cisc,控制单元和输入输出之间的关系被视为一个存储系统,重用性好,开销大,硬件好设计
    • 硬连逻辑 risc,随机逻辑,布尔函数表示控制单元,减少门电路,低沉本,重用性差,简单指令集结构,硬件难设计
  • 控制器的任务是决定在什么时间、根据什么条件、发出什么命令、做什么操作。产生微控制命令的基本依据是时间(如周期、节拍、脉冲等时序信号)、指令代码(如操作码、寻址方式)、状态(如内部的程序状态、外部设备的状态)、外部请求(如外部中断请求、DMA 请求)等。控制器以这些信息作为输入逻辑变量,经硬连电路产生控制信号序列,或者形成相应的微程序地址后再通过执行微指令实现控制功能
    • 生成时钟信号
    • 生成执行一个基本指令周期所需的控制信号
    • 响应异常事件请求或输人解出设备发出的中断
  • 基本操作指令可以大致分为以下 3 类。
    • 数据传送指令。
    • 数据处理指令
    • 控制指令
  • 流水线各段延迟不同导致的性能下降,流水线中某些段的处理时间比其他段的长,则这些段将成为瓶颈,引起阻塞
  • 流水线段数过多导致的性能下降,寄存器延迟占用多
  • 流水线中指令相关导致的性能下降,两条相关指令在执行顺序中足够接近,就可能使爸们在重叠执行期间产生冒险(Hazard),产生停顿
  • 冒险
    • 结构相关是指不同流水线阶段在同一时刻争用同一硬件资源的现象
    • 数据相关是指流水线中相近指令因为操作重叠,引起对同一寄存器或存储单元访问次序的改变
    • 控制相关是指流水线中的转移指令无法立即给出转移目标处的地址,而取指阶段又立即要求获得后继指令
  • image.png|600
  • image.png|600
  • image.png|600
  • 处理器基本操作有:取指令、分析指令、执行指令
    • ![[微机原理复习#^kqinps]]
    • 取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号
    • 分析指令:对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令
    • 执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成