ch1_2 计算机的基本组成

news2024/9/20 20:39:49

计算机的基本组成

1. 冯 诺依曼计算机的特点

  1. 计算机由五大部件组成
  2. 指令和数据 以同等地位 存于存储器, 可按地址寻访。
  3. 指令和数据用二进制 表示
  4. 指令由操作码 和 地址码 组成;
  5. 存储程序;
  6. 以运算器 为中心;

2. 硬件框图

  1. 存储器: 主存 和 辅存
  2. 运算器 ALU
  3. 控制器; CU;
  4. 输入设备; I/O 设备;
  5. 输出设备;

在这里插入图片描述

2.1 以存储器为中心

在这里插入图片描述

2.2 现代计算机硬件框图

现代计算机中, 将运算器和 控制器 合称为 CPU,
在这里插入图片描述

2.3 系统复杂性管理的方法

  • 层次化: 将被设计的系统划分为多个模块或子模块;

  • 模块化: 有明确的定义的功能和接口。

  • 规则性: 模块更容易被重用;

2.4 指令格式举例

取数指令:
将内存单元中的数据, 放入到寄存器ACC 中去,

假设 指令 共有 16 位, 其中前6 位 代表操作码部分, 代表了对应的操作; 后10位 代表了内存单元的地址;

存数指令:
将ACC 中的数据保存到内存单元中;

加法指令:
假设另外一个操作数,默认保存在ACC中, 加法的结果也是保存在ACC中,

乘法指令:
被乘数 默认保存在ACC 中, 注意, 其中寄存器的位数和内存单元中的位数需要对应起来

打印操作:
将内存单元中的数据 输出到打印机中;

停机;

指令和数据都是保存在存储器中的;

在这里插入图片描述

程序清单:
在这里插入图片描述

3 存储器的基本组成:

在这里插入图片描述

存储单元: 存放一串二进制代码, 存放一个存储字的所有存储元集合。
存储字: 存储单元中二进制代码的组合;
存储字长: 存储单元中二进制代码的值;每个存储单元 赋予一个地址;

按地址寻访:

MAR: 存储器地址寄存器, 反应存储单元的个数;
MDR: 存储器数据寄存器, 反应存储字长;

在这里插入图片描述

存储体: 存放 0 - 1 代码,

4 运算器的基本组成

运算器的核心是 算术逻辑运算单元, ALU;
而ALU 通常是一个组合电路,
组合电路: 输入消失, 输出同样消失;

为了使得ALU 能够完成,算术逻辑运算功能;
能够对结果进行保存;

必须在ALU 的输入端加上寄存器,
寄存器保存参与运算的数据, 一个寄存器为ACC, 另一个寄存器为X,数据寄存器;

ACC 和 X 寄存器用于 ALU 的输入, 同时ACC 也作为运算结果的输出,

在这里插入图片描述
MQ 乘商寄存器

4.1 乘法运算

乘法指令: 操作码(代表乘法运算) + M(地址码, 指出了乘数所在的内存单元的地址)

取数指令: 将被乘数 送入到ACC 中;
将内存单元M 的内容取出来,作为乘数;
将乘数放在MQ 的寄存器中,
将ACC 中内容输入到X 中,

指令之间的先后顺序, 由控制器来控制

乘法运算使用: 加法和移位的方式, 进行运算;

ACC 作为累加寄存器, 初始输入为0;

乘法结果保存在两个寄存器中,
高位在ACC, 低位在MQ 中;

累加器使用:ACC
被乘数: 放入X 寄存器中,

由于被乘数 和 乘数都是 使用二进制表示,故而乘数的每一位 要么是0, 要么是1;
在这里插入图片描述

4.2 除法运算

除法通过减法和移位的方式实现的,
二进制的除法, 商的值非0 即1, 组成的串;

将被除数和除数做差运算,如果够减, 对应位记作1;

除法指令:

操作码(代表除法) + 除数保存在内存单元地址为M的单元中;

被除数保存在ACC 中;

商 保存在MQ寄存器中;

在这里插入图片描述

4.3 加法运算

ACC, X 寄存器;
初始态: ACC 中保存了 被加数;
指令中M 给出的是加数 在内存单元中地址;

将内存单元M 中的数据送到X 寄存器中;
在这里插入图片描述

4.4 减法操作

减法指令: 操作码(该操作码代表了减法运算) +
M(给出了减数在内存单元中的地址)

  1. 被减数放在ACC 中,
  2. 减数放在X 中,
  3. ALU 完成运算;
  4. 结果放入ACC 中。
    在这里插入图片描述

5. 控制器的基本组成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java集合】HashSet源码分析

目录 一、Set简介 二、HashSet简介 2.1 简介 2.2 HashSet继承关系 三、源码分析 3.1 成员属性 3.2 构造方法 3.3 添加元素 3.3.1 add()方法 3.3.2 addAll()方法 3.4 删除元素 3.4.1 remove()方法 3.4.2 removeAll()方法 3.5 查询元素 3.5.1 contains()方法 3.5.2 containsAll方…

项目管理:如何编写高质量的Makefile?

文章目录背景熟练掌握 Makefile 语法规划 Makefile 要实现的功能设计合理的 Makefile 结构掌握 Makefile 编写技巧技巧 1:善用通配符和自动变量技巧 2:善用函数技巧 3:依赖需要用到的工具技巧 4:把常用功能放在 /Makefile 中&…

nodeJS - 切换使用淘宝镜像【临时切换、 长期切换】

一、文章引导 #mermaid-svg-zWQadgqvTsLhAes4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-zWQadgqvTsLhAes4 .error-icon{fill:#552222;}#mermaid-svg-zWQadgqvTsLhAes4 .error-text{fill:#552222;stroke:#55222…

自动驾驶感知——视觉感知经典算法

文章目录1. 车道线检测技术1.1 基于规则的车道线检测技术1.1.1 流程框架1.1.2 预处理模块1.1.3 车道线识别感兴趣区域提取1.1.4 灰度图转化1.1.5 灰度图去噪1.1.6 二值化操作1.1.7 鲁棒性参数估计——RANSAC1.1.8 后处理模块1.1.9 输出1.2 车道线检测技术发展路线2. 目标检测技…

10.图和树基础

一、基本介绍 1.图 图描述的是一些个体之间的关系。这些个体之间既不是前驱后继的顺序关系,也不是祖先后代的层次关系,而是错综复杂的网状关系。我们一般用图G(V,E)G(V,E)G(V,E)来表示,VVV表示结点,EEE表示边。 根据边是否有权值…

爱快软路由安装Docker插件

在爱快云 插件应用中开启Docker插件 在爱快web端页面的[系统设置]->[磁盘管理]->[磁盘分区]设置磁盘分区,选择普通存储,挂载路径名可以随便取。 点击[高级应用]->[插件管理] 点击页面的Docker图标。 启用Docker服务 点击中间的[镜像管理]&…

n皇后问题

n皇后问题 题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行 或同一列 或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的…

基于java的大理旅游系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

professional issue复习

Legal concepts Development of UK law • The Kingdom of England was established in 927. • The Principality of Wales was established in 1216. Common law • Following 1066, a unified system of law (English common law) slowly came into existence. It was “c…

漫谈cgroup

什么是cgroup cgroup 是linux内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘I/O等)。它是由 Google 的两位工程师进行开发的,自 2008 年 1 月正式发布的 Linux 内核 v2.6.24 开始提供此能力。 cgroup …

代码随想录算法训练营第30天 二叉树 java :39. 组合总和 40.组合总和II 131.分割回文串

文章目录LeetCode 39. 组合总和本题题解思路LeetCode 40.组合总和II本题题解思路LeetCode 131.分割回文串本题题解思路那么在代码里什么是切割线呢?那么在代码里什么是切割线呢?总结LeetCode 39. 组合总和 本题题解 思路 根据递归三部曲来分析 递归函…

单板硬件设计:存储器

在单板设计中,无论是涉及到一个简易的CPU、MCU小系统或者是复杂的单板设计,都离不开存储器设计: 1、存储器介绍 存储器的分类大致可以划分如下: ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持…

visudo配置sudo权限

visudo配置sudo权限配置visudo仅允许字符终端登陆(tty)--授权localhost允许图形和tty登陆--授权all用户组提权-示例配置在sudoers.d目录下创建授权文件--推荐五段式配置三段式配置检查sudoers配置是否有误如何在sudo运行的命令中防止使用参数结果验证配置visudo https://blog.…

【数据结构】8.2 插入排序

文章目录前言1. 直接插入排序直接插入排序算法直接插入排序性能分析2. 折半插入排序3. 希尔排序希尔排序算法希尔排序算法分析排序方法比较前言 类似于俺们打牌时的插入,每抓来一张牌的时候,就将它放在合适的位置上,插入一张牌之后手里的牌仍…

MQ相关概念

1) 队列管理器 队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。 2) 消息 在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种…

JavaWeb-FilterListener

JavaWeb-Filter&Listener 1,Filter 1.1 Filter概述 Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 如下图所示,浏览器可以访问服…

JAVA性能统计项目

一、项目背景:我们希望设计开发一个小的框架,能够获取接口调用的各种统计信息,比如,响应时间的最大值(max)、最小值(min)、平均值(avg)、百分位值&#xff08…

力扣OJ(2000+)

目录 2032. 至少在两个数组中出现的值 2037. 使每位学生都有座位的最少移动次数 2042. 检查句子中的数字是否递增 2097. 合法重新排列数对 2180. 统计各位数字之和为偶数的整数个数 2185. 统计包含给定前缀的字符串 2283. 判断一个数的数字计数是否等于数位的值 2287. …

基于MBD 的软件品质保证技术

基于MBD的软件是什么? 基于MBD的软件是基于模型开发的软件,主要应用于汽车、电子电气、机器人、航空、航天等行业。 ​​​ 与使用现有代码开发程序的方法不同,MBD 方法包括首先开发模型,将模型转换为代码,然后基于转换…

Ansys Speos | 2023R1 动态仿真助力车灯早期优化

前言 光学仿真是产品设计师应用的关键工具之一,能让用户在制作物理原型之前就通过数字环境体验产品。这对汽车领域来说显得尤为重要,随着汽车照明功能(如转向指示灯)越来越生动,TIER-1 需要能够在样件前,通…