目录

  • 1 两课设计和教学资源
    • 1.1 教学大纲
    • 1.2 课程教案设计
    • 1.3 教材电子书
    • 1.4 教学课件及推荐书目
    • 1.5 高阶课堂安排
    • 1.6 课程反思
  • 2 计算机系统概论
    • 2.1 第1章PPT
    • 2.2 计算机系统组成和工作步骤
  • 3 系统总线
    • 3.1 第3章PPT
    • 3.2 总线的基本概念、分类、特性及性能指标(第1次翻转课)
    • 3.3 总线结构及总线判优(第2次翻转课)
    • 3.4 总线的通信控制(第3次翻转课)
  • 4 存储器
    • 4.1 第4章PPT
    • 4.2 存储器的分类与层次结构
    • 4.3 主存储器
    • 4.4 RAM和ROM
    • 4.5 存储器与CPU的连接(第4、5次翻转课)
    • 4.6 Cache和辅助存储器
  • 5 输入输出系统
    • 5.1 第5章PPT
    • 5.2 概述与I/O设备
    • 5.3 I/O接口和程序查询方式(第6次翻转课)
    • 5.4 程序中断方式 和DMA方式(第7次翻转课)
  • 6 复习+讨论+答疑
    • 6.1 1·5章 复习+讨论+答疑
  • 7 计算机的运算方法
    • 7.1 第6章PPT
    • 7.2 无符号数和有符号数
    • 7.3 数的表示(第8次翻转课)
    • 7.4 定点的加法与减法运算、ALU单元
  • 8 指令系统
    • 8.1 第7章PPT
    • 8.2 指令的一般格式、操作数的类型
    • 8.3 各种寻址方式(第9次翻转课)
    • 8.4 指令格式(第10次翻转课)
  • 9 CPU的结构和功能
    • 9.1 第8章PPT
    • 9.2 CPU的功能和结构、寄存器、指令周期
    • 9.3 指令流水原理、性能和结构、中断系统工作原理
  • 10 实验1:汉字国标码转区位码实验(第11次翻转课)
    • 10.1 汉字国标码转区位码实验内容简介
    • 10.2 汉字机内码获取实验内容简介
    • 10.3 实验资料
  • 11 实验2:8位可控加减法电路设计实验(第12次翻转课)
    • 11.1 实验内容简介
    • 11.2 实验资料
  • 12 实验3:CLA182四位先行进位电路设计实验(第13次翻转课)
    • 12.1 实验内容简介
    • 12.2 实验资料
  • 13 实验4:4位快速加法器设计实验(第14次翻转课)
    • 13.1 实验内容简介
    • 13.2 实验资料
  • 14 实验5:汉字字库存储芯片扩展实验(第15次翻转课)
    • 14.1 实验内容简介
    • 14.2 实验资料
CPU的功能和结构、寄存器、指令周期
  • 1 教学内容
  • 2 教学视频

本节教学内容:

1CPU的功能和结构

2CPU的寄存器

3、指令周期的基本概念

4、指令周期的数据流


教学目的和要求:

1、掌握CPU的功能和结构;

2、掌握CPU的寄存器;

3、理解指令周期;

4、理解指令周期的数据流。


重点:1CPU的功能和结构;

         2CPU的寄存器;

         3、指令周期的数据流。

难点:指令的格式设计


1CPU的功能和结构

一、知识要点

1CPU的功能

2CPU的结构框图

3CPU的寄存器

二、教学安排

首先,介绍CPU的功能和结构,然后简要介绍CPU的结构框图,最后介绍CPU中的各类寄存器,以及寄存器的作用,并举例来进行讲解,以便学生更好的理解并运用。

三、教学内容

1CPU的功能

中央处理器主要包括运算器(算术逻辑运算单元,ALUArithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

主要功能编辑

处理指令

英文Processing instructions;这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。

执行操作

英文Perform an action;一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。

控制时间

英文Control time;时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地工作。

处理数据

即对数据进行算术运算和逻辑运算,或进行其他的信息处理。

其功能主要是解释计算机指令以及处理计算机软件中的数据,并执行指令。在微型计算机中又称微处理器,计算机的所有操作都受CPU控制,CPU的性能指标直接决定了微机系统的性能指标。CPU具有以下4个方面的基本功能:数据通信,资源共享,分布式处理,提供系统可靠性。运作原理可基本分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。

工作过程编辑

CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。

提取

第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置。(程序计数器保存供识别程序位置的数值。换言之,程序计数器记录了CPU在程序里的踪迹。)

CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片段。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。

2CPU的结构框图

物理结构编辑

CPU包括运算逻辑部件、寄存器部件和控制部件等。

逻辑部件

英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。

寄存器

寄存器部件,包括寄存器、专用寄存器和控制寄存器。通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。通用寄存器是中央处理器的重要部件之一。

控制部件

英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。

其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。

微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。

简单指令是由(35)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。

可见,CPU可由四大部分组成,如下图所示。

将上图细化,又可得下图。

3CPU的寄存器

寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,

举例来说,一个“位元寄存器”或“32位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。

寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为“架构寄存器”。

例如,x86指令集定义八个32 位元寄存器的集合,但一个实际x86 指令集的CPU可以包含比八个更多的寄存器。

寄存器按其特征又可分为以下几类。

1)通用寄存器

通用寄存器可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器。例如,基址寻址所需的基址寄存器、变址寻址所需的变址寄存器和堆栈寻址所需的栈指针,都可用通用寄存器代替。寄存器间接寻址时还可用通用寄存器存放有效地址的地址。

2)数据缓冲寄存器(DR     

暂时存放由内存独处的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在DR中。

3)指令寄存器(IR)     

用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试以便识别所要求的操作。一个叫做指令译码器的部件就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

4)程序计数器(PC     

通常又称为指令计数器。通常情况下都是PC=PC+1。说简单点就是用来控制地址,以便程序顺序执行。

5)地址寄存器(AR     

用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。

6)累加寄存器(AC     

累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器的算术逻辑单元ALU执行算术逻辑单元时,为ALU提供一个工作区。例如,在执行一个加法运算前,先将一个操作数暂时存放在AC中,再从内存中取出另一个操作数,然后同AC的内容相加,所得的结果送回AC中,而AC中原有的内容随即被破坏。所以,累加寄存器是暂时存放ALU运算的结果信息。运算器中至少要有一个累加寄存器。目前多达16,32,甚至更多。

7)状态条件寄存器(PSW 

   状态条件寄存器保存由算数指令和逻辑指令运行或测试的结果建立的各种条件码内容,如算数结果进位标志C,运算结果溢出标志V,运算结果为零标志Z,运算结果为负标志N,等等。这些标志位通常分别由1位触发器保存。除此之外还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。 

举例

不同计算机的CPU中,寄存器组织时不一样的,下图画出了Z80008086MC68000三种计算机的寄存器组织。

Zilog Z80001616位的通用寄存器,这些寄存器可以存放地址、数据,也可作为变址寄存器,其中有两个寄存器被用做栈指针,寄存器可被用做8位和32位的运算。

Intel8086采用的寄存器组织,尽管某些寄存器可以通用,但它的每个寄存器大多是专用的。

MC68000的寄存器组织介于ZilogIntel微处理器之间。

四、互动及练习

本次课采用提问的互动方式:

1CPU中有些什么寄存器?

请同学们先谈谈自己的想法,然后引入寄存器的讲解,通过CPU工作的流程来分析CPU中应该有些什么寄存器来处理相应的工作,由此帮助学生记忆有什么寄存器。

 

 

2指令周期

  1. 一、知识要点

 1、指令周期的基本概念

2、指令周期的数据流

二、教学安排

首先,介绍指令周期的基本概念,讲解时要将各种指令周期作比较,然后介绍指令周期的数据流,数据流讲解时要借助主机部分的逻辑图,帮助学生梳理整个数据处理的流程。

三、教学内容

1、指令周期的基本概念

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。

指令周期,读取-执行周期(fetch-and-execute cycle)是指CPU要执行指令经过的步骤。

计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。

指令周期:CPU从内存取出一条指令并执行这条指令的时间总和。

CPU周期:又称机器周期,CPU访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。

时钟周期通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。

由于各种指令操作功能不同,因此各种指令的指令周期时不相同的。例如,无条件转移指令“JMP X”,在执行阶段不需要访问主存,而且操作简单,完全可以在取指令阶段的后期将转移地址X送至PC,以达到转移的目的。这样,“JMP X”指令的指令周期就是取指周期。又如一地址格式的加法指令“ADD X”,在执行阶段首先要从X所指示的存储单元中取出操作数,然后和ACC的内容相加,结果存于ACC,故这种指令的指令周期在取指和执行阶段各访问一次存储器,其指令周期就包括两个存取周期。再如乘法指令,其执行阶段所要完成的操作比加法指令多得多,故它的执行周期超过了加法指令,如下图所示。

此外,当遇到间接寻址的指令时,由于指令字中只给出操作数的有效地址,因此,为了取出操作数,需先访问一次存储器,取出有效地址,然后再访问存储器,取出操作数。这样,间接寻址的指令周期就包括取指周期、间址周期和执行周期3个阶段,其中间址周期用语取操作数的有效地址,因此间址周期介于取指周期和执行周期之间,如下图所示。

由第5章可知,当CPU采用中断方式实现主机与I/O设备交换信息时,CPU在每条指令执行阶段结束前,都要发中断查询信号,以检测是否有某个I/O设备提出中断请求。如果有请求,CPU则要进入中断响应阶段,又称中断周期。在此阶段,CPU必须将程序断点保存到存储器中。作用,一个完整的指令周期应包括取指、间址、执行和中断4个字周期,如下图所示。由于间址周期和中断周期不一定包含在每个指令周期内,故下图中用菱形框判断。

总之,上述4个周期都有CPU访存操作,只是访存的目的不同。取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。这4个周期又可称为CPU的工作周期,为了区别它们,在CPU内可设置4个标志触发器,如下图所示。

上图所示的FEINDEXINT分别对应取指、间址、执行和中断4个周期,并以“1”状态表示有效,它们分别由1ÒFE1ÒIND1ÒEX1ÒINT4个信号控制。

设置CPU工作周期标志触发器对设计控制单元十分有利。例如,在取指阶段,只要设置取指周期标志触发器FE1,由它控制取指阶段的各个操作,便获得对任何一条指令的取指命令序列。又如,在间址寻址时,间址次数可由间址周期标志触发器IND确定,当它为“0”状态时,表示间接寻址结束。再如,对于一些执行周期不放存的指令,同样可以用它们的操作码与取指周期标志触发器的状态相,作为相应微操作的控制条件。

2、指令周期的数据流

为了便于分析指令周期中的数据流,假设CPU中有存储器地址寄存器MAR、存储器数据寄存器MDR、程序计数器PC和指令寄存器IR

1)取指周期的数据流

上图所示的是取指周期的数据流。PC中存放现行指令的地址,该地址送到MAR并送至地址总线,然后由控制部件CU向存储器发读命令,使对应MAR所指单元的内容(指令)经数据总线送至MDR,再送至IR,并且CU控制PC内容加1,形成下一条指令的地址。

2)间址周期的数据流

间址周期的数据流如上图所示。一旦取指周期结束,CU便检查IR中的内容,以确定其是否有间址操作,如果需要间址操作,则MDR中指示形式地址的右N位(记作Ad(MDR))将被送到MAR,又送至地址总线,此后CU向存储器发读命令,以获取有效地址并存至MDR

3)执行周期的数据流

由于不同的指令在执行周期的操作不同,因此执行周期的数据流是多种多样的,可能涉及CPU内部寄存器间的数据传送、对存储器(或I/O)进行读写操作或对ALU的操作,因此,无法用统一的数据流图表示。

4)中断周期的数据流

CPU进入中断周期要完成一系列操作,其中PC当前的内容必须保存起来,以执行完中断服务程序后可以准确返回到该程序的间断处,这一操作的数据流如下图所示。

图中由CU把用于保存程序断点的存储器特殊地址(如栈指针的内容)送往MAR,并送到地址总线上,然后由CU向存储器发写命令,并将PC的内容(程序断点)送到MDR,最终使程序断点经数据总线存入存储器。此外,CU还需将中断服务程序的入口地址送至PC,为下一个指令周期的取指周期做好准备。

四、互动及练习

本次课采用提问的互动方式:

1、取指周期和间址周期数据流的区别在哪里?

让同学们先谈谈自己的看法,然后分别分析取指周期和间址周期的数据流,要注意它们在流程中相似的地方和主要差别。

2、试分析中断周期的数据流与中断过程的联系。

之前学过中断的过程,于是让同学们先结合中断过程来分析中断周期的数据流,让他们分析后谈谈自己的看法,然后帮助他们梳理中断周期的数据流,并且注意前后知识联系理解,这样可以使学生对中断的流程更熟悉。