1 / 150

第三章 计算机系统 的组成与工作原理 本章学习目标 理解模型机的结构及工作过程 掌握单片机的结构 掌握单片机 I/O 口的使用 掌握单片机应用系统的典型构成

第三章 计算机系统 的组成与工作原理 本章学习目标 理解模型机的结构及工作过程 掌握单片机的结构 掌握单片机 I/O 口的使用 掌握单片机应用系统的典型构成. §3.1 模型机的结构及工作过程. 一、模型机的结构简介 模型机的主要构成: 三总线 ( 地址总线、数据总线和控制总线 ) 中央处理器( CPU ) 存储器 I/O 接口. 图 3-1 模型机的结构. 1 、中央处理器的组成 中央处理器( CPU )由 运算器 和 控制器 组成。 ( 1 )运算器 定义 : 运算器是计算机中加工和处理数据 的功能部件。

dyani
Download Presentation

第三章 计算机系统 的组成与工作原理 本章学习目标 理解模型机的结构及工作过程 掌握单片机的结构 掌握单片机 I/O 口的使用 掌握单片机应用系统的典型构成

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 计算机系统 的组成与工作原理 本章学习目标 • 理解模型机的结构及工作过程 • 掌握单片机的结构 • 掌握单片机I/O口的使用 • 掌握单片机应用系统的典型构成

  2. §3.1模型机的结构及工作过程 一、模型机的结构简介 模型机的主要构成: • 三总线 (地址总线、数据总线和控制总线) • 中央处理器(CPU) • 存储器 • I/O接口

  3. 图3-1 模型机的结构

  4. 1、中央处理器的组成 中央处理器(CPU)由运算器和控制器组成。 (1)运算器 • 定义:运算器是计算机中加工和处理数据 的功能部件。 • 功能:对数据进行加工处理,主要包括算 术和逻辑运算,如加、减、乘、 与、或、非运算等。另外,还暂时 存放参与运算的数据和中间结果。

  5. 运算器组成部分 • 算数逻辑单元ALU(Arithmetic Logical Unit):主要完成算术、逻辑运算。 • 累加寄存器(简称累加器)A:用于存放操作数或运算结果。 • 寄存器组:由其它寄存器组成,主要用于存放操作数或运算结果。 • 标志寄存器F:存放运算结果的标志(零、正负、进位、溢出等)。

  6. (2)控制器 • 功能:控制器用于控制和指挥计算机内各功能部件协调动作,完成计算机程序功能。

  7. 控制器组成 • 程序计数器PC(Program Counter):用于存放将要取出的指令地址,指令取出后,其内容自动加1。 • 指令寄存器IR(Instruction Register):用于存放指令的操作码。 • 指令译码器ID(Instruction Decode):用于将指令的操作码翻译成机器能识别的命令信号。 • 微操作信号发生器MOSG(Microoperation Signal Generator):用于产生一系列微操作控制信号。 • 地址寄存器AR(AddressRegister):用于存放操作数或结果单元的地址。 • 数据寄存器DR(DataRegister):用于存放操作数。

  8. 控制器种类 根据产生微操作控制信号的方式不同 • 组合逻辑控制型 • 存储逻辑型 • 组合逻辑 • 存储逻辑结合型 根本区别在于微操作信号发生器的实现方法不同.

  9. 组合逻辑型控制器 • 优点:其微操作信号发生器是由门电路组成的复杂树状网络构成的。最大优点是速度快。 • 缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成后,难以增加新的控制功能。 目前仅有一些巨型机和RISC机为追求高速度仍采用组合逻辑控制器。

  10. 存储逻辑型控制器 • 优点:采用存储逻辑来实现,即把微操作信号代码化,使每条机器指令转化成为一段微程序,存入控制存储器中,微操作控制信号由微指令产生。 • 它具有设计规整,调试、维修、更改、扩充指令都方便的优点,易于实现自动化设计,已成为当前控制器的主流。 • 缺点:由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。

  11. PLA控制器 • 组合逻辑与存储逻辑结合型的控制器称为PLA控制器,它是吸收前两种控制器的设计思想来实现的。 • PLA控制器实际上也是一种组合逻辑控制器,但它又与常规的组合逻辑控制器的硬连结构不同,它是程序可编的,某一微操作控制信号由PLA的某一输出函数产生。 • PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。

  12. 图3-2 微操作信号发生器的基本结构示意图

  13. 2、存储器的结构 • 功能:主要用于保存程序和数据。 • 组成部分:包含地址译码器、存储单元和 控制逻辑。

  14. 存储器访问过程 (1)读操作 CPU首先将地址寄存器AR的内容放到地址总线AB上,地址总线上的内容进入地址译码器,由地址译码器进行译码,选通相应的存储单元。被选通的存储单元的内容就出现数据总线上,在控制信号的作用下,CPU从数据总线上读取数据到数据寄存器DR,从而完成存储器的读操作。

  15. (2)写操作 CPU将地址寄存器AR的内容送到地址总线AB上,地址总线上的内容进入地址译码器,由地址译码器进行译码,以选通相应的存储单元。在控制信号的作用下,CPU将要写入的数据通过数据总线写入到被选通的存储单元,完成存储器的写操作。

  16. 二、模型机的工作过程 • 工作过程 读取指令分析指令执行指令保存结果 • 在进行计算之前,应做如下工作: • 用助记符号指令(汇编语言)编写源程序); • 用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序; • 将数据和程序通过输入设备送入存储器中存放。

  17. 下面举例说明计算机程序的具体执行过程。 例如,计算7+10=?,结果在A中。

  18. 假设上述程序在存储器中的存储格式 (设程序从00H开始存放)如图所示。 图3-3 示例程序机器码在存储器中的存储格式

  19. 读取指令阶段的执行过程如下: • CPU将程序计数器PC的内容00H送地址寄存器AR。 • 程序计数器PC的内容自动加1变为01H,为取下一条指令作好准备。 • 地址寄存器AR将00H通过地址总线AB送至存储器地址译码器译码,选中00H单元。 • CPU发出“读”命令。 • 所选中的00单元的内容B0H由存储器送至数据总线DB上。

  20. 经数据总线DB,CPU将读出的内容B0H送至数据寄存器DR。经数据总线DB,CPU将读出的内容B0H送至数据寄存器DR。 • 数据寄存器DR将其内容送至指令寄存器IR中,经过译码,CPU“识别”出此操作码为两字节指令的第一个字节,再取出下一个字节后得知是“MOV A,07H”指令,于是控制器发出执行这条指令的控制命令。

  21. 读取第一条指令第一个字节的示意图如图所示。读取第一条指令第一个字节的示意图如图所示。 图3-4 读取第一条指令第一个字节的示意图

  22. 执行指令阶段的执行过程如下: • CPU将程序计数器PC的内容送地址寄存器AR。 • 程序计数器PC的内容自动加1变为02H,为取下一条指令作好准备。 • 地址寄存器AR将01H通过地址总线送至存储器地址译码器译码,选中01H单元。 • CPU发出“读”命令。 • 所选中的01H单元的内容07H读至数据总线DB上。 • 经数据总线DB,读出的内容07H送至数据寄存器DR。 • 由控制码计算机确定读出的是立即数,并要求将它送入累加器A中,所以数据寄存器DR通过内部总线将07H送入累加器A中。

  23. 执行第一条指令的示意图如图所示。 图3-5 执行第一条指令示意图

  24. 执行第二条指令的取指过程与第一条相同,只是指令码地址不同。执行第二条指令的取指过程与第一条相同,只是指令码地址不同。 • 经过对第二条指令操作码的分析(译码)得知第二条指令为加法指令,执行过程如下: • 程序计数器PC的内容送AR。 • 程序计数器PC的内容自动加1并回送PC。 • 地址寄存器AR的内容经地址总线AB送到存储器地址译码器。

  25. CPU发出“读”命令。 • 所选中的03H单元的内容0AH送到数据总线DB。 • 数据总线DB上的内容送数据寄存器DR。 • 数据寄存器DR的内容经B寄存器送算术逻辑单元ALU的一端。 • 累加器A的内容送ALU的另一端。 • ALU相加的结果输出到A。

  26. 执行第二条指令的操作示意图如图所示。 图3-6 执行第二条指令操作示意图

  27. §3.2单片机的结构 一、单片机的内部结构 单片微型计算机(简称单片机)在一片芯片上集成了前述微型计算机的功能结构,有些单片机不仅集成了CPU、存储程序和数据的存储器、I/O接口、定时/计数器等常规资源,而且还集成了工业测控系统中常用的模拟量模块。

  28. 单片机产品 • 8051内核是Intel 8051系列单片机的基本标准,许多参考书上将这种单片机称为MCS-51系列单片机。 • MCS-51系列单片机的典型产品为8051,它有4K×8ROM,128字节RAM,2个16位定时/计数器,4个8位I/O口,一个串行口。 • 二十世纪80年代,Intel将8051内核转让或出售给几家著名的IC厂商,如Philips,Atmel等。这样,8051单片机就变成众多制造厂家支持的,发展成为上百个产品的大家族。 • 最常用的宏晶STC系列单片机,Atmel公司的AT89系列等51系列,等等。只要是8051内核的单片机,它们的最基本结构是相同的,并且,指令系统完全兼容标准8051单片机。

  29. 以目前市场上常见的8051内核单片机STC15F2K60S2为例,说明单片机的内部结构。STC12C5A60S2单片机主要集成了以下资源:以目前市场上常见的8051内核单片机STC15F2K60S2为例,说明单片机的内部结构。STC12C5A60S2单片机主要集成了以下资源: • 增强型8051内核,单时钟机器周期,速度比传统8051内核单片机快8~12倍 • 60KB Flash程序存储器;1KB数据Flash;2048字节的SRAM • 3个16位可自动重装载的定时/计数器(T0、T1、T2) • 可编程时钟输出功能 • 至多42根I/O口线 • 2个全双工异步串行口(UART) • 1个高速同步通信端口(SPI) • 8通道10位ADC • 3通道PWM/可编程计数器阵列/捕获/比较单元 • 内部高可靠上电复位电路和硬件看门狗 • 内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。

  30. STC15F2K60S2单片机内部结构框图 图3- 7 STC15F2K60S2单片机的内部结构图

  31. STC15F2K60S2单片机的内部资源 • 中央处理器(CPU) • 程序存储器(Flash) • 数据存储器(RAM) • 数据Flash存储器 • 定时/计数器 • I/O接口 • 通用异步串行通信接口(UART) • 中断系统 • SPI接口 • 高速A/D转换模块 • PWM(或捕获/比较单元) • 看门狗电路 • 电源监控 • 片内RC振荡器等模块 几乎包含了数据采集和控制中所需的所有单元模块, —————可称得上一个片上系统(SOC)

  32. 1、CPU结构 单片机的中央处理器(CPU)由运算器和控制器组成。 (1)运算器 以8位算术/逻辑运算部件ALU为核心,加上通过内部总线而挂在其周围的暂存器TMP1、TMP2、累加器ACC、寄存器B、程序状态标志寄存器PSW以及布尔处理机组成了整个运算器的逻辑电路。

  33. 算术逻辑单元ALU:用来完成二进制数的四则运算和布尔代数的逻辑运算。算术逻辑单元ALU:用来完成二进制数的四则运算和布尔代数的逻辑运算。 • 累加器ACC又记作A:是一个具有特殊用途的8位寄存器,在CPU中工作最频繁,用来存放操作数和运算结果。 • 寄存器B:是专门为乘、除法设置的寄存器,也是一个8位寄存器,用来存放乘法和除法中的操作数及运算结果,对于其他指令,它只作暂存器用。 • 程序状态字(PSW):又称为标志寄存器,一个8位寄存器,用来存放执行指令后的有关状态信息,供程序查询和判别之用。

  34. PSW中有些位的状态是在指令执行过程中自动形成的,有些位可以由用户采用指令加以改变。PSW中有些位的状态是在指令执行过程中自动形成的,有些位可以由用户采用指令加以改变。 • PSW的各位定义如下所示:

  35. CY(PSW.7):进位标志位 当执行加/减法指令时,如果操作结果的最高位D7出现进/借位,则CY置“1”,否则清“0”。执行乘除运算后,CY清零。此外,CPU在进行移位操作时也会影响这个标志位。

  36. AC(PSW.6):辅助进位标志位 当执行加/减法指令时,如果低四位数向高四位数产生进/借位,则AC置“1”,否则清零。

  37. F0(PSW.5):用户标志0。 该位是由用户定义的一个状态标志。可以用软件来使它置“1”或清“0”,也可以由软件测试F0控制程序的流向。 • F1(PSW.1):用户标志1。 该位是由用户定义的一个状态标志。与F0类似,可以用软件来使它置“1”或清“0”,也可以由软件测试F1控制程序的流向。

  38. RS1,RS0(PSW.4~PSW.3):工作寄存器组选择控制位,其详细介绍见后续内容。RS1,RS0(PSW.4~PSW.3):工作寄存器组选择控制位,其详细介绍见后续内容。 • OV(PSW.2):溢出标志位。指示运算过程中是否发生了溢出,在执行指令过程中自动形成。

  39. P(PSW.0):奇偶标志位 累加器ACC中1的个数为偶数,P=0;否则P=1。每个指令周期都由硬件来置“1”或清“0”。在具有奇偶校验的串行数据通信中,可以根据P设置奇偶校验位。

  40. 布尔处理机——是单片机CPU中运算器的一个重要组成部分。布尔处理机——是单片机CPU中运算器的一个重要组成部分。 • 功能:为用户提供丰富的位操作功能,有相应的指令系统,硬件有自己的“累加器”(进位位C,即CY),和自己的位寻址RAM和I/O空间,是一个独立的位处理机。 大部分位操作均围绕着其累加器——进位位C完成。对 任何可直接寻址的位,布尔处理机可执行置位、取反、转移、位的读写等操作。在任何可寻址的位(或该位内容取反)和进位标志C之间,可执行逻辑与、或操作,其结果送回到进位标志C。

  41. (2)控制器 控制器是CPU的大脑中枢,包括定时控制逻辑、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP、RAM地址寄存器、16位地址缓冲器等。

  42. 程序计数器PC • 是一个16位的程序地址寄存器,专门用来存放下一条需要执行的指令的内存地址,能自动加1。 • 当CPU执行指令时,根据程序计数器PC中的地址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行,随后程序计数器中的地址自动加1,以便为CPU取下一个需要执行的指令码做准备。 • 当下一个指令码取出执行后,PC又自动加1。这样,程序计数器PC一次次加1,指令就被一条条执行。

  43. 堆栈 • 主要用于保存临时数据、局部变量、中断或子程序的返回地址。 • STC15F2K60S2单片机的堆栈设在内部RAM中,是一个按照“先进后出”规律存放数据的区域。堆栈指针SP是一个8位寄存器,能自动加1或减1。当数据压入堆栈时,SP自动加1;数据从堆栈中弹出后,SP自动减1。 • 复位后,寄存器默认值为07H,堆栈区在08H开始的区域。用户通常将堆栈区域用指令设置在内部RAM的80H~FFH之间。

  44. 数据指针DPTR • 一个16位专用寄存器,由DPL(低8位)和DPH(高8位)组成。 • DPTR可以直接进行16位操作,也可分别对DPL和DPH按字节进行操作。 • STC15F2K60S2单片机有两个16位的数据指针DPRT0和DPTR1,这两个数据指针共用同一个地址,可通过设置辅助寄存器AUXR1中的DPS(AUXR1.0)位来选择具体使用哪一个数据指针。

  45. 2、存储器的结构—STC15F2K60S2 • 结构特点:程序存储器和数据存储器的寻址空间是分开的。 • 结构划分:片内集成有4个物理上相互独立的存储器空间:程序Flash存储器、数据Flash存储器(EEPROM)、内部数据存储器和外部数据存储器。

  46. 图3-8 STC15F2K60S2单片机存储器配置示意图

  47. (1)程序Flash存储器 • 功能:存放用户程序、数据和表格等信息。 • 空间大小:STC15F2K60S2片内集成了60KB的程序Flash存储器,地址为0000H~F000H。单片机复位后,程序计数器PC的内容为0000H,从0000H单元开始执行程序。

  48. 特殊单元 在程序Flash存储器中有些特殊的单元,这些单元是 中断服务程序的入口地址: • 0003H 外部中断0中断服务程序的入口地址 • 000BH 定时/计数器0中断服务程序的入口地址 • 0013H 外部中断1中断服务程序的入口地址 • 001BH 定时/计数器1中断服务程序的入口地址 • 0023H 串行通信口1中断服务程序的入口地址 • 002BH ADC中断服务程序的入口地址 • 0033H 低电压检测中断服务程序的入口地址 • 003BH PCA中断服务程序的入口地址 • 0043H 串行通信口2中断服务程序的入口地址 • 004BH SPI中断服务程序的入口地址

  49. 中断服务程序的入口地址 • 0053H 外部中断2中断服务程序的入口地址 • 005BH 外部中断3中断服务程序的入口地址 • 0063H 定时/计数器2中断服务程序的入口地址 • 0083H 外部中断4中断服务程序的入口地址 • 响应中断时,单片机自动转到相应的中断入口地址去执行程序。由于大部分相邻中断入口地址之间只有8个地址单元,无法保存完整的中断服务程序,一般在中断入口的地址区存放一条无条件转移指令,指向真正存放中断服务程序的空间。中断响应后,CPU执行这条转移指令,转去执行中断服务程序。

  50. 使用指令 读取程序存储器中保存的表格常数等内容时,使用MOVC指令。 程序Flash存储器的擦写次数为10万次以上,大大提高了芯片利用率,降低了开发成本。

More Related