1-2、计算机组成

news2024/12/29 17:46:06

语雀原文链接

文章目录

    • 1、计算机组成
      • 1-1、主板
      • 1-2、接口卡
      • 1-3、存储器(内存)
    • 2、存储器
      • 2-1、存储器的重要性
      • 2-2、物理存储器
      • 2-3、逻辑存储器
      • 2-4、内存地址空间的分段
      • 2-5、存储单元
      • 2-6、指令和数据
    • 3、总线
      • 3-1、三类总线
      • 3-2、CPU读数据例子
      • 3-3、CPU写数据举例
      • 3-4、地址总线AB(Address Bus)
      • 3-5、数据总线DB(Data BUS)
      • 3-6、控制总线CB(Control Bus)

1、计算机组成

1-1、主板

  • 在每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。

b7469bb0a7106401f5c439ac1622e355.jpg

1-2、接口卡

  • 计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。CPU对外部设备都不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡。扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU又对外设的间接控制。简单地讲,就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作。

1-3、存储器(内存)

  • 一台PC机中,装有多个存储器芯片,这些存储器芯片从物理连接上看是独立的、不同的器件。
  • 从读写属性上看分为两类:随机存储器(RAM)和只读存储器(ROM)
    • 随机存储器可读可写,但必须带电存储,关机后存储的内容丢失
    • 只读存储器只能读取不能写入(设计之初只读不可写,但是后续很多情况下都是可写的,例如刷ROM),关机后其中的内容不丢失

2、存储器

2-1、存储器的重要性

  • CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据。
  • 指令和数据在存储器中存放,也就是我们平时所说的内存。在一台PC机中内存的作用仅次于CPU。离开了内存,性能再好的CPU也无法工作。这就像再聪明的大脑,没有了记忆也无法进行思考。
  • 磁盘(硬盘、闪存)不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。

2-2、物理存储器

  • 这些存储器从功能和链接上又可以分为以下几类
    • 随机存储器RAM:用于存放供CPU使用的绝大部分程序和数据,主随机存储器一般由两个位置上的RAM组成,装在主板上的RAM和插在扩展插槽上的RAM
    • 装有BIOS(Basic Input/Output System,基本输入/输出系统)的ROM:BIOS是由主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些些接口卡上插有存储相应BIOS的ROM。例如,主板上的ROM中存储着主板的BIOS(通常称为系统BIOS);显卡上的ROM中存储着显卡的BIOS;如果网卡上装有ROM,那其中就可以存储网卡的BIOS。
    • 接口卡上的RAM:某些接口卡需要对大批量输入、输出数据进行暂时存储,在其上装有RAM。最典型的是显示卡上的RAM,一般称为显存。显示卡随时将显存中的数据向显示器上输出。换句话说,我们将需要显示的内容写入显存,就会出现在显示器上。

image.png

2-3、逻辑存储器

  • 上述的那些存储器,在物理上是独立的器件,但是在以下两点上相同。
    • 都和CPU的总线相连。
    • CPU对它们进行读或写的时候都通过控制线发出内存读写命令
  • 这也就是说,CPU在操控它们的时候,把它们都当作内在存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就就是我们所说的内存地址空间。

image.png

2-4、内存地址空间的分段

  • 不同计算机系统的内存地址空间的分配情况是不同的,下图是8086CPU的内存地址空间的分配情况
  • 8086CPU的地址总线宽度是20根,寻址能力是00000-FFFFF。

image.png

  • 0 ~ 9FFFF(主存储器RAM):从地址0~9FFFF的内存单元中读取数据,实际上就是在读取主随机存储器中的数据
  • A0000 ~ BFFFF(显存地址空间):向地址A0000~BFFFF的内存单元中写数女据,就是向显存中写入数据,这些数据会被显示卡输出到显示器上
  • C0000 ~ FFFFF(各类ROM地址空间):向地址C0000~FFFFF的内存单元中写入数据的操作是无效的,因为这等于改写只读存储器中的内容。

2-5、存储单元

  • 存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号,例如一个存储器有128个存储单元,编号从0~127,每个存储单元存储可以存储一个字节Byte,即8个二进制。如下图所示

image.png

  • 上图这个存储器一共128个存储单元,可以存储128个Byte
  • 8Bit = 1B
  • 1024B =1KB
  • 1024KB=1MB
  • 1024MB=1GB
  • 1024GB=1TB

2-6、指令和数据

  • 在内存或磁盘上,指令和数据没有任何区别,都是二进制信息

image.png

3、总线

3-1、三类总线

  • CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互。
    • 存储单元的地址(地址信息)
    • 器件的选择,读或写的命令(控制信息)
    • 读或写的数据(数据信息)
  • 那么CPU是通过什么将地址、数据和控制信息传到存储器芯片中的呢?电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。总线从物理上来讲,就是一根根导线的集合。根据传送信息的不同,总线从逻辑上又分为3类,地址总线、控制总线和数据总线。
  • 每个CPU芯片上都有很多管脚,这些管脚和总线相连。
    • 地址总线:决定CPU的寻址能力
    • 数据总线:决定CPU和其他器件进行数据传送时的一次数据传输量
    • 控制总线:CPU对系统中其它器件的控制能力

3-2、CPU读数据例子

  • CPU从3号存储单元读取数据的过程

1、CPU通过地址线将地址信息3发出。
2、CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据
3、存储器将3号单元中的数据8通过数据线送入CPU。
image.png

  • 对应的机器码+汇编指令

image.png

3-3、CPU写数据举例

  • CPU向3号单元写入数据26

1、CPU通过地址线将地址信息3发出。
2、CPU通过控制线发出内存写命令,选中存储器芯片,并通知它,要向其中写入
数据。
3、CPU通过数据线将数据26送入内存的3号单元中。

3-4、地址总线AB(Address Bus)

  • 下图有10根地址总线,每根都可以是高电平或者低电平。则最小寻址能力0(00-0000-0000),最大寻址能力为1023(11-1111-1111),210种可能,每个存储单元1个字节,1KB=1024Byte
  • 如何这时候想访问地址11上的数据,则地址总线的10根总线的高低电平应该是(00-0000-1011=11)

image.png

  • 一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。
  • 32位操作系统最大内存RAM为什么是4G
    • 32位操作系统的总线有32根,所以寻址能力是232B=222KB=212MB=22GB=4GB
  • 下面是几种CPU的地址总线数量+对应的RAM内存大小
CPUCPU Address Bus Size 地址总线Maximum RAM 最大RAM
808620 bit1MB
808820 bit1MB
8028624 bit16MB
80386DX32 bit4GB
Celeron36 bit64GB
Athlon40 bit1TB
Itanium44 bit16TB

3-5、数据总线DB(Data BUS)

  • 8088CPU的数据总线宽度为8,一次性最大传送1个字节(8位二进制)。传送89D8两个字节需要分两次传送

image.png

  • 8086CPU的数据总线宽度为16

image.png

3-6、控制总线CB(Control Bus)

  • CPU对外部器件的控制是通过控制总线来进行的。
  • 有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部都器件的控制能力
  • 前面所讲的内存读或写命令是由几根控制线综合发出的,其中有一根称为"读信号输出"的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示将要读取数据;有一根称为"写信号输出"的控制线则负责传送写信号

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

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

相关文章

SVG图片选择库组件封装及使用

需求 需求: 在项目中通常需要做菜单管理,想要让左侧菜单好看一点,一般都会选择添加图标,需要自定义选择喜欢的图标,得提供一个有选择项的图标库 延伸需求:在项目中通常可能有好几个图标选择库,可…

【星火大模型】api使用

讯飞星火官方首页 准备工作 注册讯飞星火账号申请开发者api试用 从一个demo开始 讯飞星火官方的程序员为我们提供了非常优秀的demo,基本涵盖了大多数常用语言。 demo下载链接 这里我选用Java带上下文调用示例 下载后可以看到这是一个idea项目,直接…

最佳实践-使用RKE快速部署高可用k8s集群

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 概述 Rancher Kubernetes Engine(RKE)是一个用于部署、管理和运行Kubernetes集群的开源工具。旨在简化Kubernetes集群的部署和操作。 RKE具有以下特点和功能&…

Linux学习笔记09、Shell命令之历史命令和自动补全

上一篇:Linux学习笔记08、Shell命令之常用命令缩写及全称 目录 1、历史命令: 1.1、查看所有历史命令列表: 1.2、查看指定历史命令: 1.3、清除历史命令: 2、自动补全 2.1、当字符串唯一时: 2.2、当有多个…

一个00后女生在csdn创作1095的创作纪念日

大家好,我是你们熟悉的微枫奶糖 肥晨,今天收到私信,突然发现,我来到CSDN已经1095天了。让我来分享一下吧~ 机缘 不知不觉来csdn已经1095天了,祝贺我在CSDN的创作纪念日! 这是一个非常值得纪念的日子&…

初识PO模式并在Selenium中简单实践

初识PO模式 PO(PageObject)是一种设计模式。简单来说就是把一些繁琐的定位方法、元素操作方式等封装到类中,通过类与类之间的调用完成特定操作。 PO被认为是自动化测试项目开发实践的最佳设计模式之一。 在学习PO模式前,可以先…

HeteroTiC: 基于异构时间通道的鲁棒网络流水印

文章信息 论文题目:HeteroTiC: A robust network flow watermarking based on heterogeneous time channels 期刊(会议):Computer Networks 时间:2022 级别:CCF B 文章链接:https://doi.org/10…

堆在排序中的应用

堆排序 1、堆排序原理 堆排序是利用到了堆这种数据结构,我们首先回顾一下二叉堆的特性: 最大堆的堆顶是整个堆中的最大元素。最小堆的堆顶是整个堆中的最小元素。 以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除&…

YOLOv5改进之ShuffleNetV2

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5 一、原理

关于神经网络,你不得不知的三大要点

什么是神经网络? 神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对数据分类和预测未来事件。 神经网络将您的输入细分为多个抽象层。比…

班级管理经验分享

班级管理经验如同作战策略,需要不断摸索和实践。以下是我结合自身经历,总结出的一些班级管理经验,与大家分享。 一、了解学生 作为班主任,首先要了解每个学生的性格、爱好、学习情况、家庭背景等。这需要我们与学生建立良好的沟通…

C++——取地址和自增运算

今天做了道题一下给我整蒙了,把实验探索发篇文章,题目如下: int a[]{10,11,12},*p&a[0];执行完*p;*p1;后a[0],a[1],a[2]的值各为多少 答案是 10, 12, 12怎么理解*p,*p1呢,我觉得可以用汉语把代码读一下,p&#xf…

Make sure that using this pseudorandom number generator is safe here.

问题类型:安全热点 安全问题级别:MEDIUM 一、问题代码 工具类Package: Java commons-lang3 库 RandomUtils 随机数工具类 import org.apache.commons.lang3.RandomUtils; 用法: RandomUtils.nextInt(0, 999999999) //生成 0…

记一次深入内核的数据库高并发性能优化实践

前不久,我们接到客户长江电力的反馈,称在生产环境中进行高并发查询,例如包含数百个测点的近千个并发作业,在从近三月的数据中取数或聚合计算时,会出现作业超时,但CPU利用率却很低。 接到反馈后&#xff0c…

快速操控鼠标行为!Vue鼠标按键修饰符让你事半功倍

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! ⭐ 专栏简介 欢迎来到前端入门之旅!这个…

【Qt之QSqlRelationalTableModel】描述及使用

描述 QSqlRelationalDelegate链接: https://blog.csdn.net/MrHHHHHH/article/details/134690139 QSqlRelationalTableModel类为单个数据库表提供了一个可编辑的数据模型,并支持外键。 QSqlRelationalTableModel的行为类似于QSqlTableModel,但允许将列设…

解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理

近日,在龙智携手Atlassian与JFrog共同举办的“大规模开发创新:如何提升企业级开发效率与质量”的线下研讨会中,龙智高级咨询顾问、Atlassian认证专家叶燕秀为大家带来了精彩演讲,解锁Jira Data Center版的诸多高级功能&#xff0c…

RLHF:强化学习结合大预言模型的训练方式

RLHF (Reinforcement Learning from Human Feedback) 以强化学习方式依据人类反馈优化语言模型。 文章目录 一、简介二、一般的流程三、微调gpt介绍示例 参考文章 一、简介 强化学习从人类反馈中学习(RLHF,Reinforcement Learning from Human Feedback&a…

6 Redis缓存设计与性能优化

缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义…

Linux CentOS7 安装Docker | 中文输入法

CentOS7安装中文输入法: 在安装CentOS时,我们为了方便使用,语言选择了中文,但是我们发现,在Linux命令行或者是浏览器中输入时,我们只能输入英文,无法输入汉字。 用yum 安装ibus 命令&#xff…