由约翰·冯·诺伊曼于1946年提出的“冯·诺伊曼模型”(又称“冯·诺伊曼体系结构”)

4.1基本部件

计算机的运行需要两个前提:

一是任务描述,即描述所要完成的任务,以程序或代码方式表述:

二是计算机本身的运行能力,因为它是任务的具体执行者。

程序是计算机指令的集合,每条指令对应计算机的一个基本动作。指令是程序的最小单位。

冯·诺伊曼模型包括5个组成部分:内存、处理单元、输入、输出、控制单元。

内存负责存放程序,控制单元负责指令的有序执行。

4.1.1内存

访问内存的第一步是向内存提供被访问内存单元的地址

读:首先将被访问内存单元的地址放入CPU的内存地址寄存器(MAR):

然后发送读信号通知内存。内存将该单元的内容传送至内存数据寄存器(MDR)。

写:首先将被访问单元的地址放入MAR寄存器,然后将要写入的数据放入MDR寄存器,

最后向内存发送写信号,内存即将MDR的内容写入MAR指向的内存单元。

4.1.2处理单元

信息真正被处理的地方。由很多功能单元组成,其中ALU是最简单的功能单元(也是冯诺伊曼模型中唯一的功能单元),

ALU是“算术逻辑运算单元”的缩写,包括基本运算和基本逻辑运算。

ALU所能处理的量化大小,通常被称为该计算机的“字长”,而量化的基本单位称为一个“字”。

通常会在ALU附近配置少量存储器,用来存放最近生成的中间计算结果。

例如:

计算(3+5)8,首先计算3+5,得到8,但在计算后面的8时还要再从内存中读取之前的结果,内存访问花费了太多时间。

所以配备了临时储存空间来存放3+5的结构,避免不必要的内存访问。

4.1.3输入输出单元

信息能够被处理的前提是“将信息输入到计算机”,同样处理的结果也要输入到计算机外部展示。

我们称相关设备为输入输出设备。

4.1.3控制单元

控制其他所有单元之间的协同工作。

在计算机程序执行的过程中,

它即负责控制程序执行过程的每一步,又负责控制其中每条指令执行过程的每一步。

控制单元有几个特殊的寄存器,一是用来保存正在被执行的指令的指令寄存器,

二是用来指示下一条待处理的指令的PC寄存器,它的实际内容是指向下一条待处理指令的地址。

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

内存:包括存储单元,以及MAR和MDR寄存器。

MAR是16位宽度意味着LC-3的最大可寻址空间是2的16次方。

MDR也是16位,意味着LC-3的每个存储空间存储了16个bit的信息。

输入/输出:即键盘和显示器。

最简单的键盘需要两个寄存器;一是数据寄存器保存键入的ASCII码,二是状态寄存器保存键盘敲击时的状态信息。

最简单的显示器也需要两个相似的寄存器,一是数据寄存器保存要显示字符的ASCII码,二是状态寄存器保存相关的状态信息。

处理单元:包括1个算术逻辑运算单元和8个寄存器。

控制单元:包含所有与信息处理控制相关的结构。其中最重要的结构就是有限状态机。

运算或处理操作是一个接一个时钟周期有序操作的。

时钟输入CLK决定了每个时钟周期的长短,

指令寄存器IR输入决定了是怎样的处理流程,

程序计数器PC这个输入决定了下一个要执行指令的位置。

有限状态机的所有对外输出都是控制信号。

4.3指令处理

冯·诺依曼模型的核心思想是:程序和数据都是以bit流的方式存放在计算机内存中,

程序在控制单元的控制下,依次完成指令的读取和执行。

4.3.1指令

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

操作码表示该指令是干什么的,操作数表示该次操作的对象是哪些。

例如:ADD指令

15|14|13|12|11|10|9 |8 |7 |6 |5 |4 |3 |2 |1 |0

——|——|——|——|——|——|——|——|——|——|——|——|——|——|——|——————

0 |0| 0| 0| 1|1 |1 |0 |0 |1 |0 |0 |0 |1 |1 |0

| | | |

——————————————|————————|————————|—————|————————————

ADD |R6 | R2 | | R6

bit[15:12]=0001,代表ADD操作。

bit[11:9]=110,代表目的寄存器R6。

bit[8:6]=010,bit[2:0],分别代表源寄存器R2和R6.

bit[5:3]先不解释,5.2节讲。

上述指令的编码解释为“将寄存器2(R2)和寄存器6(R6)的内容相加,然后将结果存回寄存器6(R6)”。

4.3.2指令周期

指令的处理过程是在控制单元的控制下,精确地,一步一步地完成的。

这个执行的步骤顺序称为指令周期,其中每一步称为节拍,大多数计算机的节拍都设计成一个指令周期六个节拍。

这6个节拍是取指令、译码、地址计算、取操作数、执行、存放结果。

1.取指令

将PC寄存器的内容装入内存地址寄存器。

该地址对应的内存单元内容被装入内存数据寄存器。

控制单元将内存数据寄存器的内容装入IR寄存器,作为当前执行的指令。

修改PC寄存器的内容,使其指向下一条指令的地址。

2.译码

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

3.地址计算

如果指令执行时存在地址计算操作,则应在此节拍完成。

4.取操作数

负责读取指令所需的源操作数。

5.执行

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

6.存放结果

来自之前节拍的执行结果将被写入目的寄存器。

最后一个节拍完成后,控制单元复位指令周期,即从“取指令”节拍重新开始。

计算机是顺序执行的。

4.4改变执行顺序

之前出现了两种类型的指令,运算指令和数据搬移指令。

下面介绍第三种,即控制指令,其作用是改变程序的执行顺序。

例如,如果我们希望循环执行一组指令,

如我们所知任意的指令周期都是从将PC寄存器的内容装载到内存地址寄存器开始的,

因此如果我们希望改变指令执行的顺序,

就必须在一条指令修改PC寄存器内容为下一条指令之后到下一条指令执行之前这段时间内修改PC寄存器的内容。

控制指令即在指令的执行节拍来修改PC寄存器的内容,覆盖之前取指令节拍时修改的值。

下一个周期开始时计算机从PC寄存器获得的地址是由控制指令在执行节拍换入的新地址值,

从而实现改变程序执行顺序的目的。

例如:LC-3的JMP指令,假设该指令存放在地址x36A2处。

1 1 0 0 | 0 | 0 0 | 0 1 1 | 0 0 0 0 0 0

JMP | | |R3|

其中:

bit[15:12]=1100,代表JMP指令操作码。

bit[8:6]=011,代表R3寄存器,即其中存放了下一条指令地址的寄存器。

译码结果是:将R3寄存器的内容装入PC寄存器(在执行节拍)

指令周期的控制

指令的执行受控于控制单元中的有限状态机

4.5停机操作

终止“时钟”就终止了指令的执行。因为程序是一个周期一个周期的执行一些操作,停止时钟就停止了机器周期也就不会有之后的操作。

时钟信号发生器的主要部件是晶体振荡器,是一种压电类设备,即输入“电”转换出“压力”(产生振荡),

RUN锁存器的状态或输出如果是1,则时钟电路的输出和时钟信号发生器的输出一致,

RUN锁存器的状态或输出如果是0,则时钟电路和时钟信号发生器之间的通路被切断。

计算机系统概论输入输出,计算机系统概论笔记-4-冯·诺依曼模型相关推荐

  1. 清华大学张悠慧:超越冯·诺依曼模型,实现软硬件去耦合的类脑计算(附视频)

    软硬件去耦合是计算机系统结构中非常重要的设计方法论.简单来理解,即软件研发人员不需要考虑底层硬件如何设计:而硬件开发人员则只需要遵循一定指令集规范,并不用担心兼容性,也不用考虑上层软件开发问题.多年以 ...

  2. 冯·诺依曼架构哈佛架构(嵌入式学习)

    冯·诺依曼架构&哈佛架构 0. 前言 1. 冯·诺依曼架构(von Neumann architecture) 关键组件 限制&挑战 2. 哈佛架构 关键组件 限制&挑战 3. ...

  3. 【linux系统编程】理解冯•诺依曼体系结构

    冯•诺依曼体系结构 Von Neumann Architecture 正文开始@Assassin 目录: 冯•诺依曼体系结构 1. 冯•诺依曼模型: 2. 冯•诺依曼体系结构推导: 3. 设备的工作原 ...

  4. 模拟冯.诺依曼计算机

    (值此中秋佳节之际,祝愿天下所有为理想奋斗着.努力着.梦想着的人心想事成) 道指令不但可以模拟图灵机.元胞自动机.神经元.基因等的工作过程,还可以模拟冯.诺依曼计算机,现在要利用道指令编制模拟冯.诺依 ...

  5. 南大袁春风计算机系统基础(一)笔记

    南大袁春风计算机系统基础(一)笔记 一.计算机系统基本组成与基本功能 冯.诺依曼结构计算机模型 冯.诺依曼计算机结构的特点 计算机的指令和数据 二.程序开发和执行过程简介 程序开发的发展过程 典型程序 ...

  6. 微型计算机从外观上看可以分为,冯.诺依曼计算机 1.3 计算机系统的组成 计算机系统概述 EDVAC的3个特点:...

    Presentation on theme: "冯.诺依曼计算机 1.3 计算机系统的组成 计算机系统概述 EDVAC的3个特点:"- Presentation transcrip ...

  7. 深入理解计算机系统-第七章(链接)笔记

    深入理解计算机系统-第七章(链接)笔记 背景 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程 这个文件可被加载(拷贝)到存储器中并执行: 链接可以执行于编译时,也就是源代码翻译成机器码 ...

  8. 计算机系统一级免费,计算机系统一级ms_office课件第一章.pptx

    计算机系统一级ms_office课件第一章 一级 MS Office 教程串讲;教材信息: <一级 MS Office 教程>,南开大学出版社,2009年版 重要等级: 第一章 第二.三节 ...

  9. 计算机系统具有运行可靠性,计算机系统运行可靠性技术.doc

    计算机系统运行可靠性技术 计算机系统运行可靠性技术 [摘 要] 当前,计算机的设计规模已经达到了百万亿次的数量级,同时计算机的计算能力还在不断扩大,随着计算机硬件系统的升级,其运行可靠性也相应的下降, ...

最新文章

  1. 一分钟让你快速了解红外气体传感器作用,特性及应用
  2. XamarinSQLite教程添加索引
  3. CentOS5.8下varnish-2.1.5的安装配置
  4. Weka学习一(分类器算法)
  5. Django之部署NGINX+uWSGI
  6. 解决Ubuntu 16.04下提示boot分区空间不足的办法
  7. [Java基础]线程安全的类
  8. C语言代码规范(五)函数参数个数
  9. C# 大数组赋值给小数组,小数组赋值给大数组
  10. A Walk Through the Forest dijkstra(邻接矩阵)
  11. ASoC Platform驱动代码框架图
  12. Linux核心应用命令速查
  13. Ventoy+WePE 装机教程
  14. 【Android 常见控件使用】TextView(文本框)
  15. c51单片机音乐门铃C语言程序,51单片机音乐门铃的设计
  16. 解决谷歌浏览器主页被毒霸网址恶意篡改问题
  17. 6英寸手持终端丨三防手机丨手持PDA丨提高配送效率
  18. html5 application cache 空间限制,HTML5离线存储之Application Cache
  19. 32位plsql连接64位oracle
  20. 广州欧米区块链科技×浙江墨客奇迹区块链科技丨达成战略合作共识

热门文章

  1. 利用免费虚拟主机上传静态网站
  2. php mysql 柱状图,使用EChat通过php连接mysql数据库从而实现将数据转换为柱状图
  3. ffmpeg+dxva2 +D3D9显示 学习笔记
  4. 互联网并发与安全系列教程(07) - 常见的Web安全漏洞(其它漏洞)
  5. H3C wifi 命令
  6. BMC Eaglestream利用PECI计算CPU、Memory功耗
  7. python爬虫音乐犯法么_Python爬虫案例:爬取网易云音乐
  8. Pytorch+cpp_cuda extension 课程二
  9. HTML5中图片路径的几种使用方式
  10. java perfrences_Enterprise Resource Planning (ERP) | Oracle France