【计算机组成原理笔记】1.2计算机的基本组成

2023-10-28

1.2计算机的基本组成


在这里插入图片描述

冯·诺依曼计算机

以“存储程序”这个概念为基础的各类计算机统称冯·诺依曼机。

EDVIC:离散变量自动电子计算机(英语:Electronic Discrete Variable Automatic Computer,EDVAC)是一台美国早期电子计算机。与它的前任ENIAC不同,EDVAC采用二进制,而且是第一台冯·诺伊曼结构的计算机。“存储程序”这个概念就是冯·诺依曼在研制这台机器时提出的。

冯·诺依曼机的六个特点

在这里插入图片描述
补充:

  • 1中的五大结构包括运算器,存储器,控制器,输入设备和输出设备
  • 4中的操作码表示要做什么操作,地址码用来表示操作数在存储器中的位置
  • 核心特征是5存储程序
  • 这些都不是一成不变的,很可能会有更好的机制,有很多可以改良的地方

冯·诺依曼计算机硬件框图

图中虚线表示数据流动的通路,实线表示控制与反馈
在这里插入图片描述

各部分功能:
  • 运算器:算术运算,逻辑运算
  • 存储器:存放数据和程序
  • 控制器:指挥控制程序的运行,完成一条指令的执行,控制指令执行顺序,处理运算结果
  • 输入设备:把信息转换为机器能识别的形式
  • 输出设备:将计算机处理结果转化为人们熟悉的形式

数据的输入输出都要用到运算器。输入设备输入的数据要通过运算器放到存储器中,要想输出数据也要从存储器再经过运算器,把处理结果输出。
注意存储器中内容可以直接送到控制器中,例如从存储器中取一条指令,可以直接送到控制器中进行分析。
运算器运算时需要把信息从存储器中取出,在运算器中算的结果再保存到存储器中。

缺点
  • 以运算器为中心,运算器是瓶颈
  • 框图不清晰,没有层次化

计算机硬件框图

以存储器为中心的计算机硬件框图

对以运算器为中心的改进,输入设备的程序和数据可以直接送入存储器,存储器中的计算结果可以直接送到输出设备。控制器通过控制信号和状态反馈信号对整个系统进行控制和感知系统各个部分的状态。

在这里插入图片描述
缺点:框图还是比较混乱

现代计算机硬件框图

这是一种层次化的结构

在这里插入图片描述

系统复杂性管理方法

  • 抽象
  • 3’Y
    • 层次化Hierachy:将系统划分为多个模块或子模块(递归进行)
    • 模块化Modularity:有明确定义的功能和接口
    • 规则性regularity:为了重用

计算机的工作步骤

在这里插入图片描述
举一个例子在这里插入图片描述
假设是一个累加器型的机器,即两个操作数一个来自主存一个来自累加器(ACC,一种寄存器),假设有加法指令,乘法指令,取数指令,存数指令,打印指令,停机指令

  1. 如果是计算ax²+bx+c
    在这里插入图片描述
  2. 如果是(ax+b)x+c
    在这里插入图片描述
    前者需要的步骤和内存都更多

指令格式举例

指令的格式为:操作码 地址码,都是用0、1代码的组合来表示
(假设操作码6位,地址码10位,000001表示取数)
这些都是只需要一个地址码,因为另一个在ACC中,计算结果也默认保存在ACC中
“【】”表示寄存器或内存单元中保存的内容
在这里插入图片描述
操作码可以根据不同操作编码,地址码根据操作数所在的实际物理地址进行编写
还是以上式为例,可以看出,指令和数据以同等地位保存
在这里插入图片描述


存储器的基本组成

主存储器(主存/内存)包括:存储体M,各种逻辑部件,控制电路
它的结构可以这样表示:
在这里插入图片描述

存储体

接下来,让我们熟悉几个名词:

  • 存储单元,存储元件,存储字,存储字长

它们之间的关系是这样的:
存储体由许多存储单元组成,而存储单元由很多存储元件组成,存储元件有0/1两种状态。
一个存储单元内存储着一串由0/1(存储元件状态)组成的二进制代码,这个就叫一个存储字,它的长度自然就叫存储字长,可以是8位,16位,32位等。

在这里插入图片描述
打个比方,一个存储体是一座宿舍大楼,大楼里有很多房间(存储单元),房间里放着许多床位(存储元件),床位有两种状态,有人住(1)、没人住(0)。就拿我们寝室来说,住着四个小姐妹(存储字长是4),每个床位都有人住(存储字为1111)。
在这里插入图片描述
在寻访存储体中的数据或指令是就按地址寻访。

MDR,MAR

概念如下:
在这里插入图片描述
这里的缩写和中文名是一一对应的
MAR:memory address register
MDR:memory data register
MAR存储器地址寄存器是用来存放欲访问的存储单元的地址,因此它的位数反映着存储体中存储单元的个数,假设MAR有11位,则有2^11=2048个存储单元,记为2K。MDR存储器数据寄存器由于需要存放从某个存储单元中取出的代码或即将存入某个存储单元的代码,它的位数必然等于存储字长。

指令字长,数据字长和存储字长

早期计算机中三者相等,后来指令字长和数据字长要求是可变的,精度更高的,就不能由存储字长来决定指令字长和数据字长了,于是就打算用字节数来算,一个字节(1B)由8位二进制位(bit)组成。但是要注意指令字长,数据字长,存储字长必须是字节的整数倍,字节是计算机中数据处理的基本单位,计算机中以字节为单位存储和解释信息,字长是字节的整数倍便于从内存单元中存取和更好地利用存储空间。


运算器

结构:ALU算术逻辑单元是核心,ACC(累加器),X(操作数寄存器)这两个寄存器是输入,乘除运算时会用到MQ(乘商寄存器),如果不是累加器型的计算机就不一定这这样的硬件结构和数量了。
右图为进行加减乘除运算时各个寄存器中存储的数据。
注意:乘法是一个累加和移位的过程,需用ACC做累加器来保持累加的内容。运算的结果会比被乘数增加一倍,所以分开存储乘积高低位。除法是减法和移位实现的。
在这里插入图片描述
具体分析:

  1. 加法
    在这里插入图片描述
  2. 减法
    在这里插入图片描述
  3. 乘法
    在这里插入图片描述
  4. 除法
    在这里插入图片描述
    上述这些指令的执行,顺序都是由控制器决定的。

控制器

控制器的功能

  • 解释指令:从取指令、分析、取操作数到真正地执行指令,保存结果的全过程
  • 保证指令的按序执行

控制器的基本组成

在这里插入图片描述
PC和MAR之间有一条直接的通路,有自动加一的功能(是指自动形成下一条指令的地址),不是真的加1。
IR的内容来自MDR,IR中的操作码(OP(IR))送到CU,用来分析指令,地址码(AD(IR))则送到了存储器的MAR中。
CU控制单元是控制器的核心,各种信号从CU发出,它分析当前指令需要完成的操作,发出各种微操作命令序列,控制所以被控对象。


I/O

包括:各种I/O设备及其相应接口 I/O设备通过I/O接口与主机(控制器,存储器,运算器)联系,接受CU发出的各种控制命令,并完成操作。

主机完成一条指令的过程

取数指令:
在这里插入图片描述
执行取数指令需要经过以下步骤:
取指令:(1)PC将目前要执行的指令地址送给MAR,(2)MAR从存储体M中找到对应地址的取数指令并(3)取出送给MDR,(4)MDR把取数指令送给指令寄存器IR
分析指令:(5)OP(IR)被送到CU,CU分析操作码,结果是取数指令
执行指令:(6)AD(IR)被送到MAR,(7)MAR从存储体M找到要取的数,(8)将取的数保存到MDR,(9)将MDR中的数据送到ACC寄存器中

存数指令:
在这里插入图片描述
存数指令的取指令部分和取数是一样的,(5)OP(IR)被送到CU,CU分析指令得到是存数指令,(6)AD(IR)被送到MAR,(7)然后MAR再存储体M中找到要存入的地址,(8)ACC中的内容被存入MDR,(9)MDR把数据存入指定的地址中

一个程序:
在这里插入图片描述
取数,存数,加法,乘法,打印,停机…等等这些指令都要经过取指令,分析指令,执行指令这三行…以图中例子类推即可
值得注意的是,取指令进行之后就可以使PC+1得到下一条要执行的指令了。

PS:本笔记是高教出版社的计组的学习笔记,是博主自己对课文的整理和理解,当然里面也会包括一些课本原话啦

To Be Continue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【计算机组成原理笔记】1.2计算机的基本组成 的相关文章

  • booth算法

    booth算法 1 booth算法定义 2 二进制乘法过程 3 二进制乘法转换成 booth乘法运算 4 Radix 2 Booth乘法器 5 Radix 4 Booth乘法器 6 Booth乘法器计算实例 1 booth算法定义 将乘数看
  • 【计算机组成原理】笔记(B站王道考研)

    课程 B站 王道考研 截图来自课程 计算机硬件 p4 计算机硬件的基本组成 冯诺依曼结构 理解冯诺依曼计算机 在计算机系统中 软件和硬件在逻辑上等价 冯诺依曼计算机特点 计算机由运算器 控制器 存储器 输入设备 输出设备五大部件组成 指令和
  • 大端模式(big-endian)与小端模式(little-endian)

    参考自 大端模式与小端模式 大端模式是指数据的低位保存在内存的高地址中 而数据的高位保存在内存的低地址中 小端模式是指数据的低位保存在内存的低地址中 而数据的高位保存在内存的高地址中 大小端模式的由来 在计算机系统中 我们是以字节为单位的
  • 计算机组成原理期末总结

    文章目录 写在前面 1 计算机系统概论 知识点 习题 2 运算方法和运算器 知识点 习题 3 多层次的存储器 知识点 习题 4 指令系统 知识点 习题 5 中央处理器 知识点 习题 6 总线系统 知识点 习题 7 外存与IO设备 知识点 习
  • 2.4总线操作和定时

    文章目录 一 引子 二 介绍 1 总线周期 2 总线定时规范 三 同步定时方式 1 过程 2 特点 3 优缺点 优点 缺点 四 异步定时方式 1 介绍 2 三种方式 1 不互锁方式 2 半互锁方式 3 全互锁方式 3 优缺点 优点 缺点 五
  • 5.6.2_IEEE754

    文章目录 一 引子 二 移码 1 移码与补码 2 移码本身 1 127 2 3 3 偏置值 普通情况 特殊情况 三 IEEE 754标准 1 格式 2 类型 1 短浮点数 2 double型 3 案例 1 案例一 2 案例二 4 范围 1
  • 存储器、运算器、控制器基本结构以及一条指令的执行

    Abstract 此篇文章讲述的是计算机存储器 控制器 运算器的基本结构组成以及指令的具体执行顺序 CPU包括运算器和控制器 而主机主要包括CPU和存储器 内容参考于 哈工大计算机组成原理 刘宏伟 存储器的基本组成 如下图所示 主存由存储体
  • 计算机组成原理笔记03

    计算机组成原理笔记03 做题笔记1 内容 教材的思维导图 课后练习 计算部分 中国大学MOOC计算机组成原理 计算部分 1 教材的思维导图 在看题之前 最好先看这篇定点运算 写的特别清晰明了 2 课后练习 3 2 选择题 1 一个C语言程序
  • 关于存储器按字节寻址和按字寻址的理解

    关于存储器按字节寻址和按字寻址的理解 近日在学习MOOC上学习哈工大刘宏伟老师的 计算机系统组成原理 课程 在4 1节提到主存的时候简单地提到一下关于按字节寻址和按字寻址的寻址空间问题 个人非常疑惑于是各处搜索查找资料 下面是本人就这个问题
  • [计算机组成原理] 以低字节地址为字地址

    以低字节地址为字地址 就是小端存储模式 数据低位 或者说低字节 存储在内存低地址 以高字节地址为字地址 就是大端存储模式 数据低位 或者说高字节 存储在内存高地址 现在看一个例题 这个题目有一个需要明确的地方 什么是第一 第二 第三字节 对
  • 计算机组成原理--基于Logisim的8位可控加减法器实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的8位可控加减法器实验 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Lo
  • 计算机组成原理实验二 存储系统预习报告

    实验一 静态RAM 一 实验目的 掌握静态随机存储器 RAM 工作特性及数据的读写方法 基于信号时序图 了解读写静态随机存储器的原理 二 实验预习 1 阅读实验指导书 然后回答问题 实验所用的静态存储器由一片 6116 2K 8bit 构成
  • 同步通讯和异步通讯(简单理解)

    同步通信和异步通信 简单理解 注 本篇文章只是告诉你什么是同步通信 什么是异步通信 即使没有计算机基础的同学也适合阅读 同时也能帮助计算机专业同学更好理解这个知识点 但是如果想深入学习 还需自己翻阅资料 一 电脑完成一个读命令需要的步骤 主
  • 计算机的”性能“

    前言 性能这个词在很多领域都出现过 比如一个跑车的性能 一个家电的性能 一个电脑的性能 其实在我看来一个东西的性能 就是他在某一方法的能力 比如跑车最重要的就是速度 一个计算机则是他的运行速度 在计算机组成原理中理解计算机怎么运行 为什么要
  • 计算机组成原理——指令系统题库

    指令系统题库 选择题 1 以下有关指令系统的说法中错误的是什么 A 指令系统是一台机器硬件能执行的指令全体 B 任何程序运行前都要先转化为机器语言 C 指令系统是计算机软件 硬件的界面 D 指令系统和机器语言是无关的 2 在CPU执行指令的
  • 计算机组成原理 总线与微命令实验

    总线与微命令实验 实验环境 计算机组成原理实验环境 实验目的 理解总线的概念和作用 连接运算器与存储器 熟悉计算机的数据通路 理解微命令与微操作的概念 实验要求 做好实验预习 读懂实验电路图 熟悉实验元器件的功能特性和使用方法 按照实验内容
  • 计算机中的指令跳转

    前言 在上一章中说了 高级语言为什么怎么样成为计算机能够读懂的语言 下面就来说说这些计算机能够读懂的语言中 他们究竟是如何设计的 CPU是如何执行指令的 在我们现实常用的CPU中 有几百亿的晶体管通过电路起来 在逻辑上我们可以认为CPU就是
  • 【计组】学习笔记1.1:8421码和ASCII码

    8421码 8421码即BCD码 由于人们习惯日常使用十进制数 而计算机处理时使用的是二进制数 而两种数制相互转换十分麻烦 因此产生了8421码映射关系 其映射运算例如 1001转化为十进制数9 1 8 0 4 0 2 0 1 8 0 0
  • 【计算机组成原理】总线宽度和总线带宽的区别,总线带宽的计算

    总线宽度 总线的宽度 指总线在单位时间内可以传输的数据总数 即平常说的32位 64位 总线宽度 总线位宽 数据线的根数 总线带宽 总线带宽 指总线在单位时间内可以传输的数据总数 等于总线的宽度与工作频率的乘积 通常单位 MB s MBps
  • 第一章 计算机系统概论

    一 计算机系统简介 1 计算机软硬件概念 计算机是一种能够执行指令的电子设备 它由硬件和软件两部分组成 计算机硬件是指计算机系统中的物理组件 包括中央处理器 CPU 内存 硬盘 输入设备 如键盘 鼠标 输出设备 如显示器 打印机 等 这些硬

随机推荐

  • 高德地图出现INVALID_USER_SCODE的几种排除方法

    1 注册的sha1与应用签名的签名文件 包括debug keystore 的sha1不一致 2 Debug和release的签名文件不一样 所以最好对应注册两个不同的key 避免发布后INVALID USER KEY 3 注册key时应用的
  • 弹性盒子(Flex Box)详解

    1 弹性盒子的特点 弹性盒子是 CSS3 的一种新的布局模式 CSS3 弹性盒 Flexible Box 或 flexbox 是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式 主轴 main axis 是沿着
  • 回归分析学习与思考(2)

    课本上的东西 发不了链接 只能写原创了 先画散点图看看大概的模型plot x y 参数估计 最小二乘法 显著性检验 对参数进行t检验 对回归方程进行F检验 相关系数检验R square 参数区间估计 beta int B 函数 回归函数 B
  • vue项目前端解决跨域问题

    在前后端分离项目中 跨域是一定会出现的问题 本文主要介绍跨域问题的解决思路 以及在vue项目中如何使用代理的方式在前端解决跨域问题 同时提供一个后段解决的方案 1 产生原因 跨域问题产生的原因是浏览器的同源策略 浏览器同源策略是浏览器中的一
  • 数字千分位逗号隔开

    FUNCTION Z02FI NUMBER SPLIT Local Interface IMPORTING REFERENCE I NUM TYPE STRING EXPORTING REFERENCE E NUM TYPE STRING
  • 利用Hexo在Github上部署个人博客

    利用Hexo在GitHub上部署个人博客 1 前言 1 1准备 2 开始 2 1在GitHub上创建仓库 2 2 搭建Hexo并将个人博客部署至Github 2 2 1利用npm安装cnpm 2 2 2 安装并部署Hexo 2 2 3 将个
  • 【解决WARNING报错】WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available.

    比如我在下载PIL模块的时候出现了一下的报错 这个报错是什么原因呢 它其实是提示你你解释器里面的pip 的版本呢已经不能够支持下载该模块了 如果你想下载该模块的话就需要进行pip版本的更新了 那么怎么进行pip版本的更新呢 在WARNING
  • CentOS8网络配置

    CentOS8网络配置 CentOS8已无法正常使用network服务 root localhost systemctl status network Unit network service could not be found root
  • MixFormer学习笔记

    MixFormer End to End Tracking with Iterative Mixed Attention 动机 视觉对象跟踪通常采用特征提取 目标信息集成和边界框估计的多阶段管道 为了简化这一流程 并统一特征提取和目标信息集
  • 关于Qt中的paintEvent事件

    以下均来自与Qt文档 未作任何更改 void QWidget paintEvent QPaintEvent event This event handler can be reimplemented in a subclass to rec
  • js文件引入其他js文件

    function loadJavaScript url success let domScript document createElement script domScript src url success success functi
  • mysql之标识列20

    1 标识列 标识列实际上就是对自动增长概念的讲述 非常简单 只需要理解下面的四个特点即可 标识列 又称为自增长列 含义 可以不用手动的插入值 系统提供默认的序列值 特点 1 标识列必须和主键搭配吗 不一定 但要求是一个key 例如主键 唯一
  • Spark On YARN内存和CPU分配

    软件版本 CDH 5 7 2 JDK 1 7 问题描述 在使用Spark On YARN时 无论是Client模式或者是Cluster模式 当然下面会有这种模式的对比区别 可以添加诸如 plain view plain copy execu
  • 令人头疼的数据输入,认识数据 输入输出

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 用scanf函数输入数据 1 printf函数和scanf函数的一般形式 2 格式字符 二 使用scanf函数应该注意的问题 三 字符输入输
  • C++学习(四七七)glsl es使用总结 特点 不同

    1 不支持接口块 Interface Blocks out VS OUT vec2 TexCoords vs out GLSL ES Specification 3 00 pdf中
  • ajax三种错误ie,ie下jquery ajax 80020101错误的解决方法

    注意注释 删除这些注释就可以了 Windows下一个MySQL有些错误的解决方法 1 无论是什么提示 我们有一个直接看错误日志 由于它描述了最具体描述错误日志 于MySQL安装文件夹中找到 my ini简介 看日志保存路径 2 我的错误是
  • Linux——信号及其使用

    信号的基本概念 信号是系统响应某个条件而产生的事件 进程接受到信号会执行相应的操作 软中断信号 用来通知进程发生了异步事件 信号是进程间通信机制中唯一的异步通信机制 一个进程不必通过任何操作来等待信号的到达 系统预先定义好的某些特定事件 信
  • 异构网络的理解

    异构网络 Heterogeneous Network 是一种类型的网络 其是由不同制造商生产的计算机 网络设备 和系统组成的 大部分情况下运行在不同的协议上支持不同的功能或应用 图1 给出了一种异构网络模型 不同类型的网络 通过网关连接到核
  • python 按自己的理解尝试实现fn算法

    贪心算法FN具体步骤如下所述 1 去掉网络中所有的边 网络的每个节点都单独作为一个社区 2 网络中的每个连通部分作为一个社区 将还未加入网络的边分别重新加回网络 如果加入网络的边连接了两个不同的社区 即合并了两个社区 则计算形成的新的社区划
  • 【计算机组成原理笔记】1.2计算机的基本组成

    1 2计算机的基本组成 冯 诺依曼计算机 冯诺依曼计算机的六个特点 冯 诺依曼计算机硬件框图 各部分功能 缺点 计算机硬件框图 以存储器为中心的计算机硬件框图 现代计算机硬件框图 系统复杂性管理方法 计算机的工作步骤 指令格式举例 存储器的