ICS-03

冯·诺伊曼模型

一、基本部件

  • 计算机运行的两个前提

    • 任务描述(计算机所要完成的任务)

    • 计算机本身的运行能力(任务的具体执行者)

  • 程序是计算机指令的集合,指令是程序的最小单位。

  • 5个组成部分

    • 内存(存放程序)

    • 处理单元

    • 输入

    • 输出

    • 控制单元(指令的有序执行)

(一)、内存

  • LC-3中寻址空间为2^16,寻址能力为16位

  • 读操作

    • 先将被访问内存单元的地址放入MAR(内存地址寄存器),然后发送读信号通知内存。由此将该单元中存放的数据传送至MDR(内存数据寄存器)

  • 写操作

    • 先将被访问内存单元的地址放入MAR寄存器,然后将要写入的数据放入MDR寄存器,最后向内存发送写信号


(二)、处理单元

  • 处理单元是信息真正被处理的地方,它由很多功能单元组成,每个功能单元负责一个功能。其中,ALU(算术逻辑运算单元)是最简单的功能单元。

  • ALU所能处理的量化大小通常被称为该计算机的“字长”,而量化的基本单位被称为一个“字”。如LC-3的ALU所能处理的量化大小是16-bit,所以我们称LC-3是一个16位的机器。

  • 通常,在设计中会为ALU在其附近配置少量存储器,以便它存放最近生成的中间计算结果。在LC-3中,有8个这样的寄存器,每个的宽度是16-bit。


(三)、输入和输出单元

  • LC-3只提供了两个基本的输入/输出设备,其中,输入设备是键盘,输出设备是显示器。


(四)、控制单元

  • 控制单元来控制其他所有单元之间的协同工作,在计算机程序的逐步执行过程中,它既负责控制程序执行过程的每一步,又负责控制其中每条指令执行过程的每一步。

  • 控制单元有几个特殊的寄存器

    • 指令寄存器(instruction register)保存的是正在被执行的那条指令

    • PC寄存器(Program Counter)用来指示下一条待处理的指令


二、LC-3:一台冯·诺伊曼机器

  • 实心箭头代表该通路中传送的是数据(被控对象),空心箭头则代表的是控制信号。

  • 内存:包括存储单元,以及MAR和MDR寄存器。其中,MAR是16位宽度,意味着LC-3的最大可寻址空间是2^16。MDR也是16位,意味着每个存储单元存储了16个bit的信息,或称LC-3是16位可寻址的(即寻址能力)

  • 输入/输出:键盘和显示器

    • 键盘需要两个寄存器:数据寄存器KBDR,保存输入的ASCII码;状态寄存器KBSR,保存键盘敲击时的状态信息。

    • 显示器也需要两个相似寄存器:数据寄存器DDR,保存将要显示字符的ASCII码;状态寄存器DSR,保存相关的状态信息。

  • 处理单元:包括一个ALU和8个寄存器(R0~R7),R0~R7作为临时寄存器,用以存放近期将被后面指令使用的操作数。LC-3的ALU只实现了一种运算操作(ADD)和两种逻辑操作(AND和NOT)

  • 控制单元包含所有与信息处理控制相关的结构。其中最重要的一个结构就是有限状态机(FSM),控制着系统的所有活动一个接一个时钟周期有序操作。


三、指令处理

冯·诺伊曼模型的核心思想:程序和数据都是以bit流的方式存放在计算机内存中,程序在控制单元的控制下,依次完成指令的读取和执行

  • 指令

    • 指令是计算机执行的最小单位。指令本身又由操作码和操作数两部分组成。

      • 操作码:该指令是做什么的

      • 操作数:操作的对象

    • LC-3的指令长度是16位(一个字长)bit[15:12]代表操作码,bit[11:0]对应操作数

  • 指令周期

    • 指令的处理过程是在控制单元的控制下,精确的、一步一步地完成的。我们称这个执行地步骤顺序为指令周期,其中的每一步称为节。一个指令周期包括6个节拍(大多数计算机)

      • 取指令(FETCH)

        • 将PC寄存器的内容装入MAR寄存器(花费1个机器周期(时钟周期))

        • 该地址对应内存单元内容装入MDR(花费1个或更多机器周期)

        • 控制单元将MDR内容装入IR寄存器(花费1个机器周期)

        • PC增量(补充动作)

      • 译码(DECODE)

        • 分析、检查指令的类型,并确定对应的微结构操作细节。

      • 地址计算(EVALUATE ADDRESS)

        • 若指令执行时存在地址计算操作,则在此节拍完成

      • 取操作数(FETCH OPERANDS)

        • 该节拍负责读取指令处理所需要的源操作数。

      • 执行(EXECUTE)

        • 该节拍负责指令的执行操作,不同的操作码在该节拍的操作多半不同

      • 存放结果(STORE RESULT)

        • 最后节拍,来自之前节拍的执行结果被写入目的寄存器。

    • 在最后一个节拍完成后,控制单元复位指令周期。


四、改变执行顺序

  • 控制指令,其作用是改变程序的执行顺序。

  • 指令周期的控制

    • 取指令节拍需要3个时钟周期

      • PC装入MAR,PC自动增量

      • 读内存,内存返回数据装入MDR

      • MDR中数据拷贝至IR

    • 译码节拍只需要1个时钟周期

      • 基于IR寄存器的出入,操作码部分,有限状态机的转移出现不同的分支去向

    • 有时候我们希望跳到别的地方取获取下一条要执行的指令,我们称这种能够改变程序执行顺序的指令称为“控制指令”。控制指令的实现机制非常简单,即在执行节拍修改PC内容即可。


五、停机操作

  • 终止了时钟,就意味着终止了指令的执行

  • 时钟电路的机构,主要包括时钟信号发生器和RUN状态开关

    • 时钟信号发生器的主要部件是晶体振荡器,压电类设备,输入电能转换出压力(振荡)。

    • RUN锁存器的状态或输出如果是1,则时钟电路的输出和时钟信号发生器的输出一致;如果RUN部件的输出是0,则时钟信号发生器到时钟电路的通路被切断,即时钟电路输出为0.

  • 因此,如果要中止指令周期,只需“清零”RUN状态即可。LC-3同大多数机器一样,是由操作系统控制完成的。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值