1-2、计算机组成

语雀原文链接

文章目录

    • 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.mzph.cn/news/182247.shtml

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

相关文章

spring本地事务与单/多线程

请直接看原文 原文链接:多线程与数据库事务以及数据库连接之间的关系 - 知乎 (zhihu.com) -------------------------------------------------------------------------------------------------------------------------------- 今天我们来梳理一下, 多线程、数…

【数据库】基于索引的扫描算法,不同类型索引下的选择与连接操作,不同的代价及优化

基于索引的算法 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更…

JDK8升级JDK11最全实践干货来了

1、前言 截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布了Java11,这是Java8之后的首个LTS版本。那么从JDK8到JDK11,到底带来了哪些特性呢?值得我们升级吗&#x…

利用canal进行MySQL到ES的数据实时同步

1. 背景 项目中业务数据量比较大,每类业务表都达到千万级别,虽然做了分库分表,每张表数据控制在300W以下,但是效率还是达不到要求,为了提高查询效率,打算使用ES进行数据查询。 2. 同步原理 canal 模拟 My…

csapp-linklab之第二阶段“输出学号”实验报告

本阶段主题是链接中的“重定位”。两次重定位,一次是绝对地址重定位,一次是PC相对地址重定位。 本题目标依旧是输出学号,反汇编phase2.o,看到学号“0000000000”已经存放在只读数据区了。现在任务就是改do_pheas的指令和重定位表…

题目标题:乐乐摘苹果(杨鼎强)

一天乐乐去果园玩,发现一棵苹果树上结出10个苹果。乐乐跑去摘苹果。乐乐找到一个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及乐乐把手伸直的时候能够达到的最大高度…

Ubuntu系统Springboot项目Nginx安装(编译安装方式)

1.下载 nginx官网下载 Index of /download/ 2.解压 这里我下载的1.25.3版本,系统是ubuntu 解压 tar -zxvf nginx-1.25.3.tar.gz 3.编译安装 安装前需要执行安装一些系统依赖 3.1安装PCRE库 ubuntu:执行以下命令 sudo apt-get install libpcre…

uniapp2023年微信小程序头像+昵称分别获取

1、DOM <view class"m-user"><view class"user-info"><!--头像 GO--><button class"avatar avatar-wrapper" open-type"chooseAvatar" chooseavatar"onChooseAvatar"slot"right"><im…

c++实现程序单例运行的两种方式

第一种使用互斥体 // 使用互斥体保证单体运行 BOOL IsAlreadyRun() {HANDLE hMutex NULL;hMutex CreateMutex(NULL, FALSE, L"MYFLAG");if (hMutex ! NULL){if (ERROR_ALREADY_EXISTS GetLastError()){ReleaseMutex(hMutex);return TRUE;}}return FALSE; } int m…

国家高新技术企业认定,可以提前准备这些!

尽早获取核心自主知识产权 对于高新技术企业认定中有Ⅰ类和Ⅱ类知识产权之分。 其中&#xff0c;企业拥有的专利、植物新品种、国家新药、软件著作权等属于Ⅰ类核心知识产权&#xff0c;是高新技术企业认定的首要和必须条件&#xff0c;在高企认定中也会给申请人带来相应较高…

获取国内城市编码API

获取国内城市编码API接口 一、获取国内城市编码接口二、使用步骤1、接口2、请求参数 三、 案例和demo 一、获取国内城市编码接口 一款免费的帮助你获取取国内城市编码的接口 二、使用步骤 1、接口 重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议 请求…

【Lidar】基于Python的Open3D库可视化点云数据

1 Open3D库介绍 1.1 介绍 Open3D是一个开源的3D数据处理库&#xff0c;发布于2015年&#xff0c;目前已经更新到0.17.0版本。它基于MIT协议开源许可&#xff0c;使用C11实现&#xff0c;并经过高度优化&#xff0c;还通过Python Pybinding提供了前端Python API。 Open3D为开发…

C语言之atoi函数的使用和模拟实现

C语言之atoi函数的使用和模拟实现 1. atoi函数介绍 函数声明如下&#xff1a; int atoi (const char * str);atoi是用来将字符串中第一次出现的数字字符&#xff0c;转为一个整数 跳过空白字符&#xff0c;&#xff08;空白字符包括&#xff1a;空格 ’ ’ &#xff0c;换页…

我叫:基数排序【JAVA】

1.自我介绍 基数排序(radix sort)属于“分配式排序” (distribution sort)&#xff0c;又称“桶子法” (bucket sort)或bin sort,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,是‘桶排序’的扩展 2.基本思想 将所有待比较数值统一为同样的数位长度,数位较短的数…

docker start一个容器之后,怎么进入这个容器界面

要进入已经启动的 docker 容器的交互式终端&#xff0c;可以使用 docker exec 命令。这个命令可用于在运行中的容器内部执行命令或脚本&#xff0c;并以交互模式与容器进行交互&#xff0c;具体格式如下&#xff1a; # docker exec -it [container_id or container_name] /bin/…

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士&#xff0c;想做好一份调查问卷&#xff0c;关键先要确定调查的主题&#xff0c;然后确定调查人群&#xff0c;编辑问题&#xff0c;最后能够尽可能的美化问卷调查的主题。 想要做到这几点&#xff0c;就要要求问卷调查平台: 1、能够帮助你快速制作出一…

【开题报告】基于模糊控制的花卉光照时间控制系统

题 目 基于模糊控制的花卉光照时间控制系统 一、研究目的和意义 用光电传感器检测自然光&#xff0c;根据花卉开花时长&#xff0c;用MATLAB软件&#xff0c;使用模糊控制算法&#xff0c;对测得数据进行分析&#xff0c;得出结论&#xff0c;并传回下位机控制电机运动…

软件测试测试文档的编写和阅读

在软件测试中的流程中&#xff0c;测试文档也是一个重要的流程&#xff0c;所以测试人员也需要学习测试文档的编写和阅读。 一、定义&#xff1a; 测试文档&#xff08;Testing Documentation&#xff09;记录和描述了整个测试流程&#xff0c;它是整个测试活动中非常重要的文…

QT应用示例

一个简单的QT应用示例&#xff1a;创建一个窗口程序。 首先&#xff0c;确保已经安装了Qt开发环境。接下来&#xff0c;按照以下步骤创建一个简单的窗口程序&#xff1a; 1. 打开Qt Creator&#xff0c;点击“新建文件或项目”。 2. 选择“应用程序”&#xff0c;然后点击“下…

年终好价节有什么必买的数码好物?值得入手的数码好物推荐

大家是不是都没听说过好价节&#xff1f;直白点说就是原来的双十二购物狂欢节&#xff0c;只不过换一个说法&#xff0c;不过今年毕竟是第一年换个说法&#xff0c;所以淘宝年终好价节优惠还是值得我们期待的&#xff01;作为年前的最后一波大促&#xff0c;一起来看看有哪些好…