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

news2024/9/26 1:17:09

计算机的基本组成

文章目录

  • 计算机的基本组成
    • 冯·诺伊曼计算机的特点
    • 硬件框图
      • 以运算器为核心的计算机
      • 现代计算机
      • 系统复杂性管理的方法
    • 计算机的工作步骤
      • 存储器
      • 运算器
      • 控制器
      • I/0
    • 脚注

冯·诺伊曼计算机的特点

  1. 五大部件组成
    1. 运算器
    2. 存储器
    3. 控制器
    4. 输入设备
    5. 输出设备
  2. 指令和地址以同等地位存于存储器,按址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码(指出做什么操作)和地址码组成
  5. 存储程序,指令在存储器内按序存放
  6. 以运算器为中心

硬件框图

以运算器为核心的计算机

运算器核心的硬件框图

以上是以运算器为核心的计算机硬件框图

  • 运算器完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器中
  • 存储器存放数据和程序
  • 控制器控制、指挥程序和数据的输入、运行以及处理运算结果
  • 输入设备将人类熟悉的信息转为机器识别的信息
  • 输出设备将机器的运算结果转换为人类熟悉的形式

现代计算机

  • 主机
    • CPU
      • 运算器(ALU,算术逻辑单元)1
      • 控制器(CU)2
    • 存储器
      • 主存3
      • 辅存(外存)
  • I/O设备(外部设备)
    • 输入设备
    • 输出设备

系统复杂性管理的方法

  • 层次化
    将被设计的系统划分为多个模块或子模块
  • 模块化
    有明确定义的功能和接口
  • 规则化
    模块更容易被重(chong)用

计算机的工作步骤

用计算机解决一个实例问题包含两大步骤:

  • 准备工作
    • 建立数学模型
    • 确定计算方法
    • 编制解题程序:程序(全步骤)+指令(每个步骤)
  • 上机运行

存储器

存储器的基本组成:

  • 存储体(大楼)->存储单元(房间,一串2进制,存储字)->存储元件(床位,一位2进制)
  • MAR
    存储器地址寄存器,存放存储单元的地址,位数对应存储单元个数(如MAR为10位,则有2^10=1024个单元,记作1K)
  • MDR
    存储器数据寄存器,存放从某存储单元取出或者准备存入的代码,位数等于存储子长

运算器

运算器至少包括3个寄存器(累加器+乘商寄存器+操作数寄存器)和1个算术逻辑单元

寄存器加法减法乘法除法
ACC被加数及和被减数及差乘积高位被除数及余数
MQ乘数及乘积低位
X加数减数被乘数除数

控制器

控制器是中枢,指挥各部件协调工作:

  1. 取指,命令存储器读出一条指令
  2. 分析,指出该指令对应的操作,按寻址特征指明操作数的地址
  3. 执行,根据操作数地址和指令的操作码完成操作

控制器的基本组成:

  • 程序计数器(PC)
    存放欲执行指令的地址,与MAR有一条直接通路,可以自动加1形成下一条指令地址
  • 指令寄存器(IR)
    存放当前指令,来自于MDR
    • IR将操作码送至CU去分析指令,记作OP(IR)->CU
    • IR将地址码送至MAR,记作Ad(IR)->MAR
  • 控制单元(CU)
    CU分析当前指令所需的操作,并发出各种位微操作命令,控制所有被控对象

I/0

脚注


  1. Arithmetic Logic Unit,简称逻辑部件,用来完成算术逻辑运算 ↩︎

  2. Control Unit,解释存储器中的指令,并发出操作命令来执行指令 ↩︎

  3. 存放程序和数据,可以直接与CPU交换信息 ↩︎

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

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

相关文章

基于CUDA的GPU计算PI值

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 基于CUDA的GPU计算PI值。本项目使用CUDA编程模型并行计算PI值,研究GPU与CPU效率的比较,分析不同GPU线程分块对性能的影响。 异构计算试验报告 —实验1:基于CUDA的GPU计算PI值 第一部分&…

原型模式--深拷贝和浅拷贝

定义 Specify the kind of objects to create using a prototypical instance, and create new objects by copying this prototype. (使用原型实例指定将要创建的对象类型,通过复制这个实例创建新的对象。) 从定义中我们我们可以发现&#x…

2023年4月Web3行业月度发展报告区块链篇 | 陀螺科技会员专享

4月,以太坊上海升级与香港Web3动向成最大热点,上海升级的完成是转POS的重要里程碑,从市场而言,由于升级解锁质押ETH是否引发抛压备受关注,仅以交易表现来看,并未出现大范围的抛压与离场。另一方面&#xff…

算力提升+AIGC,是驱动元宇宙发展的核心引擎|数据猿直播干货分享

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 “元宇宙”是美国科幻小说家尼奥斯蒂文森1992年在《雪崩》中提出的概念,书中设定现实世界中的人在网络世界中都有一个分身,这个由分身组成的世界就是“元宇宙”。如今,随着虚拟现实技术的…

60+开箱即用的工具函数库xijs更新指南(v1.2.5)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发. 接下来就和大家一起分享一下v1.2.5 版本的更新内容以及后续的更新方向. 贡献者列表: 1. 数据深拷贝cloneDeep 该模块主要由 20savage 贡献, 支持 symbol, map,…

BM58-字符串的排列

题目 输入一个长度为 n 字符串&#xff0c;打印出该字符串中字符的所有排列&#xff0c;你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数据范围&#xff1a;n < 10。 要求&#xff1a;空…

[架构之路-191]-《软考-系统分析师》-8-软件工程 - 解答什么是面向功能的结构化程序设计:算法+数据结构 = 程序

目录 1. 什么是结构化程序设计 2. 结构化程序设计的局限性 3.程序设计的三种基本结构 (1) 顺序结构 (2) 选择结构 (3) 循环结构 1. 什么是结构化程序设计 功能 》 Function 》 函数 》 算法 数据流Data Flow 》 数据结构Data Strucuture 程序 算法 数据结构 》 数…

36. Kubernetes 网络原理——CNI 网络插件

本章讲解知识点 Flannel 原理概述直接路由的原理和部署示例Calico 插件原理概述1. Flannel 原理概述 Flannel 是一个用于容器网络的开源解决方案,它使用了虚拟网络接口技术(如 VXLAN)和 etcd 存储来提供网络服务。它的原理概述如下: Flannel 协助 Kubernetes,给每一个 No…

界面交互篇:答题页的答题逻辑交互开发

微信小程序云开发实战-答题积分赛小程序 界面交互篇:答题页的答题逻辑交互开发 前面的那一篇文章,我们已经完成了使用云开发的聚合能力实现从题库中随机抽取题目功能。 在页面加载时,实现从题库中随机抽取题目功能。那么,拿到数据后要干什么?如何做? 动态数据绑定 实…

c++练习题

1、默认参数练习 创建默认参数函数 void stars(int cols ,int rows ) 该函数默认缺省值cols是10 rows是1。该函数完成功能是根据行和列数显示一个由星号组成的矩形。在main函数仲按照默认值调用该函数。按照cols是5调用该函数。按照列数和行数是7&#xff0c;3 调用该函数 #…

【MMdetection训练及使用脚本系列】MMdetection训练1——如何保存最优的checkpoint文件

MMdetection如何保存最优的checkpoint文件 以目标检测为例&#xff0c;进入到 configs/_base_/datasets/coco_detection.py将evaluation dict(interval1, metricbbox)改为evaluation dict(interval1, metricbbox, save_bestauto)即可。 但是不建议这样做&#xff0c;防止以…

软件设计师笔记--数据结构

文章目录 前言学习资料数据结构大 O 表示法时间复杂度线性结构和线性表线性表的顺序存储线性表的链式存储栈的顺序存储栈的链式存储队列的顺序存储与循环队列 串KMP 数组矩阵树二叉树二叉树的顺序存储结构二叉树的链式存储结构二叉树的遍历平衡二叉树二叉排序树最优二叉树(哈夫…

C/C++每日一练(20230507) 数列第n项值I/II、简化路径

目录 1. 求数列的第n项的值 ※ 2. 求数列的第n项的值 II ※ 3. 简化路径 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 求数列的第n项的值 已知数列…

摘要:PostgreSQL开发技术基础:过程与函数

原文地址 6.0 Language SQL与PL/pgSQL PL / PgSQL是基于SQL的特定于PostgreSQL的过程语言 。它有循环&#xff0c;variables&#xff0c;错误/exception处理等等。并不是所有的SQL都是有效的PL / PgSQL&#xff0c;正如你发现的那样&#xff0c;例如&#xff0c;你不能在没有…

Nature:时松海课题组揭示调控大脑新皮层神经元空间精细结构排布和环路组装的新机制

2022年12月7日&#xff0c;清华大学生命科学学院、清华-IDG/麦戈文脑科学研究院、生命科学联合中心、生物结构前沿研究中心时松海教授课题组在Nature杂志以长文的形式在线发表了题为“Patterned cPCDH expression regulates the fine organization of the neocortex”&#xff…

Python心经(2)

有关数字类型&#xff0c;字符串&#xff0c;函数 目录 有关数字类型&#xff0c;字符串&#xff0c;函数 数字 字符串 索引操作 切片操作 单个字符编码 运算符 还有一些常用的内置函数 Python输入函数 输出函数print()语法 python的函数也能给默认值 Python是个脚…

什么是事件驱动的微服务架构?

对于许多关键应用程序功能&#xff0c;包括流媒体和电子商务&#xff0c;单体架构已不再足够。随着实时事件数据和云服务使用的需求增加&#xff0c;许多现代应用程序&#xff0c;如Netflix和Lyft&#xff0c;已经转向了事件驱动的微服务方法。分离的微服务可以独立运行&#x…

体外诊断(IVD)高速发展

体外诊断&#xff08;IVD&#xff09;实际一直是临床的重要组成部分。体外诊断&#xff0c;是指通过对人体样本(血液、体液、组织等)进行检测而获取临床诊断信息&#xff0c;进而判断疾病或机体功能的产品和服务&#xff0c;其检测原理和方法涉及免疫学、微生物学、分子生物学等…

Cursor设置中文版 以及简单实用教程集成 GPT4 的代码神器 Cursor

官网&#xff1a;cursor.so 快捷键 ctrl K&#xff0c; 中英文提交需求&#xff0c;&#xff08;刚开始我整蹩脚的英语&#xff0c;后来发现支持中文&#xff09; 自动写代码 自动补充代码 自己修改代码 自动检查、完善代码 自己本地测试 然后再重复上面操作直到能用 最后让它…

ZooKeeper知识回顾(分布式协调框架,本质是分布式小文件存储系统,以分布式集群部署)

Apache ZooKeeperhttps://zookeeper.apache.org/官网为: 名字.apache.org 1.zookeep概念 一个团队里面&#xff0c;需要一个leader&#xff0c;leader是干嘛用的&#xff1f; &#xff08;分布式协调框架&#xff09; 1.管理什么的咱不说。 2.外面的人&#xff0c;想…