26
《微机原理A》 第一讲:计算机、微型计算机的组成 及工作过程(一) 主讲老师:王克义

《微机原理A》 第一讲:计算机、微型计算机的组成 及工作过 …jpk.pku.edu.cn/course/wjyl/script/chapter1.pdf• 运算器是进行算术运算(如加、减、乘、除等)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 《微机原理A》

    第一讲:计算机、微型计算机的组成及工作过程(一)

    主讲老师:王克义

  • 本讲主要内容

    • 计算机/微型计算机的基本结构

    • 计算机的工作过程

    • 模型机结构

  • 1.1 计算机的基本结构

    冯·诺依曼计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成,如图所示:

    输出结果

    运算器

    存储器

    控制器

    输出设备输入设备

    数据

    地址

    指令

    状态和请求

    命令和应答

    状态

    命令

    命令和应答

    状态和请求

    程序和数据输入

  • 1. 存储器

    • 计算机中的指令和数据都表现为二进制数码,他们必须被存入存储器的不同区域才能被区分。

    • 为了准确地对存储器进行读或写,通常以字节(或以字)为单位将存储器划分为一个个存储单元,并依次对每一个存储单元赋予一个序号(从零开始的无符号整数),该序号称为存储单元的地址。

    • 存储单元中存放的数据或指令称为存储单元的内容。地址是识别存储器中不同单元的惟一标识。

  • M-3M-2

    M-1

    内容

    0

    1234

    地址

    存储器及其地址:

  • • 存储单元的地址和内容都是二进制数码,但它们是完全不同的两个概念,如高级语言中的变量名和变量的值。

    • 地址的位数由控制器地址线的位数确定,每个存储单元中内容(数据或指令)的位数由设计计算机时对存储器的编址方法确定。

    • 如果控制器有n条地址线,则它所能管理的存储单元最多为2n个。每个存储单元的地址都是惟一的。

    • 每次读、写存储器时都必须先给出存储单元的地址,然后才能访问(读或写)存储单元中的内容。

  • • 运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置.

    • 通常由算术逻辑部件ALU,专用寄存器X、Y和Z,累加器,通用寄存器R0、R1、…、Rn-1以及标志寄存器F组成。

    2. 运算器

  • Rn-1

    Y

    Z

    ALUA B

    F

    R0

    X

    线

    运算器的基本组成:

  • • 核心部件ALU用于完成算术运算和逻辑运算。

    • X、Y是ALU的输入寄存器,Z则是ALU的输出寄存器。

    • F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出,等等。

  • • ALU的功能是对X、Y中的数据进行运算,并将结果送到Z。

    • X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器。

    • X、Y中的数据可来自通用寄存器,也可来自存储器。Z中的数据可送往通用寄存器,也可送往存储器。

  • 3. 控制器

    • 为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令,控制器通常由

    指令寄存器IR

    程序计数器PC

    存储器地址寄存器MAR

    存储器数据寄存器MDR

    指令译码器ID

    控制电路

    等几部分组成

  • IR

    PC

    MAR

    MDR

    控制电路 指令译码控制

    信号

    线

    存储器

    控制器的基本组成

  • • IR:存放正在执行或即将执行的指令;

    • PC:存放下一条指令的地址,具有自动增量计数的功能;

    • MAR:在访存时缓存存储单元的地址;

    • MDR:在访存时缓存对存储单元读/写的数据;

    • ID:对IR中的指令进行译码,以确定IR中存放的是哪一条指令;

    • 控制电路产生时序脉冲,在时序脉冲同步下对有关部件发出控制命令,以控制各个部件的动作。

  • 4. 输入设备和输出设备

    • 输入设备是用来输入数据(通常是原始数据) 和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部。常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪、数字照相机和数字摄像机等 。

    • 输出设备是用来输出数据(通常是处理结果)和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部。常见的输出设备有显示器、打印机、绘图机等。

  • 1.2 微型计算机的组成

    • 微型计算机=CPU+存储器+I/O接口+输入/输出设备

    • 主机: 包含了除输入/输出设备以外的所有部件,是一个能独立工作的系统,所以有时也将主机称为微型计算机。

    CPU

    存储器

    I/O 接口 I/O 设备

    AB DB CB

  • 总线

    • CPU、存储器、I/O接口电路之间用三组总线相连:地址总线(AB: Address Bus)数据总线(DB: Data Bus)控制总线(CB: Control Bus)

    地址总线、数据总线、控制总线通常统称为系统总线。• 从传输方向上看,数据总线是双向的,即数据可以从CPU传送到其他

    部件,也可从其他部件传送到CPU。

    • 地址总线是单向的,即地址只能由CPU传送到存储器或I/O端口,用以给出CPU将要访问的部件的地址。

    • 控制总线中的信号线有的是单向的,也有的是双向的。

  • 1.3 计算机的工作过程

    假设某计算机的指令系统中设计有如下几条指令:

    (1) LOAD R1, M1 (2) STORE M3, R1 (3) ADD R1, M2 (4) JMP L

    (1)是传送类指令,其含义是将M1中的内容装入R1。(2)也是传送类指令,其含义是将R1的内容存入M3中。(3)是运算类指令,其含义是将R1内容与M2内容相加后

    存入R1。(4)是转移类指令,其含义是无条件转向L处。

  • • 如果要求将M1的内容与M2的内容相加后存入M3,再将程序转向L处的指令继续执行,编写程序如下:

    汇编语言程序 机器语言程序 程序的功能

    LOAD R1, M1 00001011 00000101 将M1的内容送入R1ADD R1, M2 00011011 00000110 将R1内容加上M2内容再送回R1STORE M3, R1 00101011 00000111 将R1的内容送入M3中JMP L 00110000 00010001 转向L处继续执行那里的指令

  • • 汇编时,假设存储单元的地址M1、M2、M3分别为5、6、7,其内容分别为12、34、0;地址L为17;R1寄存器的编号为1011;

    • 四条指令LOAD、ADD、STORE、JMP的操作码分别为0000、0001、0010、0011。

    • 每条机器指令的第2个字节都是存储单元地址,第一个字节左边4位是操作码,右边4位是寄存器号或0000。

    • 上述机器语言程序可被计算机识别,但不能被执行,还需要为其分配存储器地址。

  • 00000101 00001100 M100000110 0010001000000111 0000000000001000 0000101100001001 0000010100001010 0001101100001011 0000011000001100 0010101100001101 0000011100001110 0011000000001111 0001000100010000 …………..

    00010001 …………..

    M2M3“LOAD R1, M1”的第一个字节“LOAD R1, M1”的第二个字节“ADD R1, M2”的第一个字节“ADD R1, M2”的第二个字节“STORE M3, R1”的第一个字节“STORE M3, R1”的第二个字节“JMP L”的第一个字节

    “JMP L”的第二个字节第五条指令(只有一个字节)

    第六条指令

    上述机器语言程序可能按如下方式分配存储器地址:

  • 计算机的内部结构(模型机)

    • 为了进一步说明计算机的基本工作过程,这里给出一个经适当简化的模型机结构(如图1.6所示),主要包括

    如下几个组成部分:

    (1)运算器部分;(2)控制器部分;(3)存储器部分。

  • LOAD R1, M1ADD R1, M2STORE M3, R1JMP L

    L

    M1M2M3

    abc

    IR

    PC

    MAR

    MDR

    R0

    Rn-1

    Y

    Z

    ABUS

    DBUS

    控制电路 指令译码控制信号

    ALUA B

    F

    线

    存储器

    单总线CPU的计算机的基本结构

  • • 计算机执行程序的过程可归纳如下:

    (1) 控制器把PC中指令地址送往存储器地址寄存器MAR,并发出读命令“M读”。存储器按给定地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。

    (2) 指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。

    1.4 指令及程序的执行过程

  • (3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,然后向存储器发出读命令“M读”,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。

    (4) 当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令“M写”,MDR中的数据即被写入由MAR指示地址的存储单元中。

  • (5) 一条指令执行完毕后,控制器要接着执行下一条指令。

    为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。

    • 控制器不断重复上述过程的(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。

  • 作业(一)

    • 教材P1452. 3. 4. 5. 8.

    第一讲:计算机、微型计算机的组成及工作过程(一) ��主讲老师:王克义本讲主要内容1.1 计算机的基本结构1. 存储器存储器及其地址:2. 运算器运算器的基本组成:3. 控制器控制器的基本组成4. 输入设备和输出设备1.2 微型计算机的组成总线1.3 计算机的工作过程计算机的内部结构(模型机)1.4 指令及程序的执行过程作业(一)