计算机组成原理之硬件的内部结构,拆开单独的硬件,查看硬件组成部分的结构和功能。

news2024/11/17 10:05:11

大家好,欢迎阅读《计算机组成原理》的系列文章,本系列文章主要教内容是从零学习计算机组成原理,内容通俗易懂,大家好好学习吧!!!

更多的优质内容,请点击以下链接查看哦~~

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

深入学习计算机组成原理文章体系

在这里插入图片描述

文章目录

  • 架构回顾
  • 主存储器的基本组成
  • 运算器的基本组成
  • 控制器的基本组成

架构回顾

我们上一节介绍的计算机组成架构主要是根据冯诺依曼的架构体系设计的,今天我们来对其内部的组件做一个深入的介绍。

在这里插入图片描述

主存储器的基本组成

首先来看主存储器:

在这里插入图片描述

组成部分

  • 存储体:由一系列的存储元件构成的,可以存放0或者1。

  • MAR(Memory Address Register):存储地址寄存器

    MAR是一个专门用于 存储主存储器地址 的寄存器。

    CPU需要从主存储器中读取数据时,它将需要读取的内存地址写入MAR中。MAR将 指示主存储器中特定单元的位置使得CPU能够准确地访问所需的数据

  • MDR(Memory Data Register):存储数据寄存器

    MDR是一个用于 存储从主存储器中读取或写入的数据 的寄存器。

    CPU从主存储器中读取数据时,该数据将被存储在MDR中;当 CPU向主存储器写入数据时,数据将首先被放入MDR中,然后 传输到相应的内存地址。

MAR和MDR之间的配合通常是这样的:

  1. CPU通过将要访问的内存地址写入MAR,指示所需数据的位置;
  2. 然后,主存储器根据MAR中的地址提供相应的数据,将数据传输到MDR;
  3. 最后,CPU将从MDR中读取数据或将数据写入MDR,完成与主存储器的数据交互。

存储体的详解

存储体的大致结构是这个样子的。

在这里插入图片描述

以下是详细介绍:

  • 存储单元:每个存储单元存放一串二进制代码
  • 存储字(word):存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数
  • 存储元:存储二进制的电子元件,每个存储元可存1bit

与前面的MDR和MAR结合使用:

  • MAR=4位 ————> 总共有2^4个存储单元
  • MDR=116位 ————> 每个存储单元可存放16bit,一个字word=16bit。

运算器的基本组成

接下来我们介绍运算器的基本组成:

在这里插入图片描述

运算器是用于 实现算术运算(加减乘除)和逻辑运算(与或非) 的计算机组件。

它有以下组成部分:

  • ACC:累加器,用于存放操作数,或运算结果。

  • MQ:乘除寄存器,在乘,除运算时,用于存放操作数或运算结果。

  • X:通用的操作数寄存器,用于存储操作数。

  • ALU:算术逻辑单元,通过内部复杂的电路实现算术运算,逻辑运算。

    运算器中的ALU通常由一组 逻辑门电路和寄存器组成。它接收来自控制器的指令和操作数,并执行相应的运算操作。ALU通过内部的电路逻辑和运算单元,在一个时钟周期内完成对操作数的处理,并将结果传递给寄存器或其他部件。

控制器的基本组成

控制器也是不可或缺的一部分:

在这里插入图片描述

  • CU(Control Unit):控制单元,分析指令,给出控制信号
  • IR(Instruction Register):指令寄存器,存放当前执行的指令。
  • PC(Program Counter):程序计数器,存放下一条指令地址,有自动加一的功能。

计算机完成一条指令是由以下三个步骤完成的:

  1. 取指令(PC):先由程序计算器取下一条指令。
  2. 分析指令(IR):取出的指令放入指令寄存器当中。
  3. 执行指令(CU):最后由控制单元分析指令。

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

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

相关文章

【加载数据--自定义自己的Dataset类】

【加载数据自定义自己的Dataset类】 1 加载数据2 数据转换3 自定义Dataset类4 划分训练集和测试集5 提取一批次数据并绘制样例图 假设有四种天气图片数据全部存放与一个文件夹中,如下图所示: ├─dataset2 │ cloudy1.jpg │ cloudy10.jpg │ …

使用matlab产生二维动态曲线视频文件具体举例

使用matlab产生二维动态曲线视频文件举例 在进行有些函数变化过程时候,需要用到直观的动态显示,本博文将举例说明利用Matlab编程进行二维动态曲线的生成视频文件。 一、问题描述 利用matlab编程实现 y 1 s i n ( t ) , y 2 c o s ( t ) , y 3 s i …

JAVA_多线程的实现方式

线程的状态 方式一&#xff1a; public class Thread1 extends Thread {Overridepublic void run() {synchronized (this) {for (int i 0; i < 100; i) {System.out.println(getName() "" i);}}} } Thread1 thread1 new Thread1(); thread1.start(); 方式二…

用flex实现grid布局

1. css代码 .flexColumn(columns, gutterSize) {display: flex;flex-flow: row wrap;margin: calc(gutterSize / -2);> div {flex: 0 0 calc(100% / columns);padding: calc(gutterSize / 2);box-sizing: border-box;} }2.用法 .grid-show-item3 {width: 100%;display: fl…

天洑软件祝贺“星耀蓉城 篮能可贵”四城邀请赛暨西北工业大学校友篮球嘉年华活动圆满举办

9月16日&#xff0c;由西北工业大学成都校友会主办&#xff0c;成都市新都区文化体育和旅游局承办&#xff0c;天洑软件、泸州老窖、陕西省篮球协会、龙湖地产、奥伦达科技、南京全信、成都鑫长源、四川银行、优仿科技、华科机电、小鱼易连、四川省篮球协会、GAME7篮球俱乐部赞…

云安全之访问控制介绍

访问控制技术背景 信息系统自身的复杂性、网络的广泛可接入性等因素&#xff0c;系统面临日益增多的安全威胁&#xff0c;安全问题日益突出&#xff0c;其中一个重要的问题是如何有效地保护系统的资源不被窃取和破坏。 访问控制技术内容包括访问控制策略、访问控制模型、访问…

virtualbox无界面打开linux虚拟机的bat脚本,以及idea(代替Xshell)连接linux虚拟机的方法

virtualbox无界面打开linux虚拟机的bat脚本&#xff0c;以及idea连接linux虚拟机的方法 命令行运行代码成功运行的效果图 idea连接linux虚拟机的方法【重要】查看虚拟机的IP地址idea中选择菜单&#xff08;该功能可代替Xshell软件&#xff09;配置设置连接成功进入idea中的命令…

MySQL数据库入门到精通9--运维篇

1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一&#xff0c;它记录了当 mysqld 启动和停止时&#xff0c;以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时&#xff0c;建议首先查看此日志。 该日志是默认开启的&am…

解决安装 RabbitMQ 安装不成功的问题

由于RabbitMQ是基于erlang的&#xff0c;所以&#xff0c;在正式安装RabbitMQ之前&#xff0c;需要先安装一下erlang。 1、下载mq https://www.rabbitmq.com/download.html 2、下载erlang&#xff08;点击下载路径根据下载的MQ版本对应下载erl版本&#xff09; https://www.…

客户端负载均衡_什么是负载均衡

为什么需要负载均衡 俗话说在生产队薅羊毛不能逮着一只羊薅&#xff0c;在微服务领域也是这个道理。面对一个庞大的微服务集群&#xff0c;如果你每次发起服务调用都只盯着那一两台服务器&#xff0c;在大用户访问量的情况下&#xff0c;这几台被薅羊毛的服务器一定会不堪重负…

澳大利亚新版《2023年消费品(36个月以下儿童玩具) 安全标准》发布 旨在降低危险小零件的伤害

2023年9月4日&#xff0c;澳大利亚政府发布了新的儿童玩具强制性安全标准《2023年消费品(36个月以下儿童玩具)安全标准》&#xff08;Consumer Goods (Toys for Children up to and including 36 Months of Age) Safety Standard 2023&#xff09;。该强制性标准旨在尽可能地降…

2023/9/24总结

Redis Redis 是一个基于内存的键值数据库 安装 Window下Redis的安装和部署详细图文教程&#xff08;Redis的安装和可视化工具的使用&#xff09;_redis安装_明金同学的博客-CSDN博客 出现上面代表安装成功了 redis 一共有 16 个库 安装后 再安装图形化界面 图形界面十分方便…

Java————网络编程

一 、网络编程基础 1. 为什么需要网络编程 用户在浏览器中&#xff0c;打开在线视频网站&#xff0c; 如优酷看视频&#xff0c;实质是通过网络&#xff0c; 获取到网络上的一个视频资源。 与本地打开视频文件类似&#xff0c;只是视频文件这个资源的来源是网络。 相比本地资…

ubuntu20.04部署ntp服务器ntpd(ntpdate )

文章目录 步骤1. 安装NTP2. 配置NTP3. 重启NTP服务4. 检查NTP服务状态5. 验证NTP同步ntpq -p检查本地ntp服务是否正常服务器不能连外网&#xff0c;如何配置&#xff1f; ntpdate -q xxx查询ntp服务器时间 步骤 1. 安装NTP 首先&#xff0c;在终端中更新你的包列表&#xff0…

vue项目 H5 动态设置浏览器标题

1&#xff0c;先将要展示的标题存本地 if (that.PromotionInfo.Title) {localStorage.setItem("AcTitle", that.PromotionInfo.Title)} 2,现在路由meta中设置标题&#xff0c;再在路由守卫中设置 import Vue from vue import Router from vue-router import prom…

游戏录屏软件推荐,教你录制高清游戏视频

“有没有好用的游戏录屏软件推荐呀&#xff0c;最近当上了游戏主播&#xff0c;平台要求每天都要发一个游戏视频&#xff0c;可是我的游戏录屏软件太拉胯了&#xff0c;录制出来的视频非常糊&#xff0c;导致平台审核不通过&#xff0c;所以想问问大家有没有游戏录屏软件推荐一…

机器视觉检测在流水线上的技术应用

机器视觉在流水线上的应用机器视觉系统的主要功能可以简单概括为&#xff1a;定位、识别、测量、缺陷检测等。相对于人工或传统机械方式而言&#xff0c;机器视觉系统具有速度快、精度高、准确性高等一系列优点。随着工业现代化发展&#xff0c;机器视觉已经广泛应用于各大领域…

【Git】轻松学会 Git:实现 Git 的分支管理

文章目录 前言一、对分支的理解二、分支的创建三、分支的切换3.1 切换到 dev 分支3.2 在 dev 分支上进行文件的修改和提交3.2 来回切换 master 和 dev 分支&#xff0c;查看修改的内容 四、分支的合并五、分支的删除六、冲突的合并6.1 模拟制造冲突6.2 解决冲突 七、分支管理策…

openGauss学习笔记-79 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT应用场景

文章目录 openGauss学习笔记-79 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT应用场景79 MOT应用场景 openGauss学习笔记-79 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT应用场景 本节介绍了openGauss内存优化表&#xff08;Memory-Optimized Table&am…