计算机内部总线详解

news/2024/11/7 3:41:13/

文章目录

    • 总线概述
      • 地址总线
        • 位宽
      • 数据总线
        • 位宽
        • CPU性能指标
    • 例题

总线概述

众所周知,总线就是用来帮助连接两个或多个计算机组件,用于数据传输,计算机内部存在三种类型的总线:

  1. 地址总线:用于传输指示计算机中的内存或外设的物理地址
  2. 数据总线: 是CPU与内存或其他器件之间的数据传送的通道。
  3. 控制总线:管理组件之间的信息流,指示操作是读取还是写入,并确保操作在正确的时间发生。

在这里插入图片描述CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

地址总线

地址总线是一种微处理器用于传输内存物理地址的计算机总线。
CPU是通过地址总线来指定存储单元的。
它是单向的,只能在一个方向传输数据的 I/O 和数据的内存地址。

CPU 和 DMA(直接内存访问)使用地址总线来定位物理地址,计算机处理器使用地址总线从内存中定位数据的位置,在需要访问时指定物理地址的单个内存块,然后可以进行后续的读取/写入数据。
CPU 和 DMA 以二进制位的形式读/写所有的地址总线。

当系统要在内存中写入数据时,它会发送写入信号并将写入地址放在地址总线上,通过地址总线定位内存中的某个位置,然后将特定数据放在数据总线上,将数据传输到该位置。

位宽

地址总线位宽决定了CPU所能访问的最大内存空间的大小。地址总线是地址线数量之和。一根线只能传输地址的一个bit。

比如说:32根地址线就能传输32bit也就是32位宽,那么他可以传输的地址范围就是2的32次方=4G。也就是CPU的寻址范围是4G,所以最多支持4G内存。

如果电脑的地址总线宽度为 32,那么即使有 8G 内存,其中的 4G的内存也是用不了的(想使用 8G 内存,至少需要总线宽度为 33)。现在,新的计算机都在使用 64 位地址总线,寻址范围是非常大的。

数据总线

是CPU与内存或其他器件之间的数据传送的通道。

数据总线仅用于传输数据信号,分为内部和外部数据总线。
内部总线在处理器内部传输或传输信息或数据。
而外部总线在处理器和内存之间传输数据。

位宽

数据总线是数据线数量之和。

每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。32跟数据线就可以传输一个32位的二进制数据,一次就可以传送一个32位的数据。

数据的每一位都必须在数据总线的不同线上传输,假如数据总线宽度为8,则数据 7 表示为 0000 0111,这些 0 和 1 比如分别放在 8 条数据总线上。

所以数据总线的宽度决定了CPU和外界的数据传送速度。数据总线的位数决定CPU单次通信能交换的信息数量。

比如:64位数据总线的CPU一次就能取出64bit的数据,8位数据总线的CPU一次只能取出8bit的数据,在相同频率的情况下,8位数据总线的CPU就得连续取8次数据,数据量才能和64位数据总线一次取出的数据量相同,单就比较取数据的性能就相差8倍。况且,通常CPU中的寄存器的位数与数据总线的宽度一样,所以在数据处理方面,64位的CPU又比8位的CPU快很多。

CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机),但是一般都相同。

CPU性能指标

首先,总线的速度,即:CPU的主频,CPU的性能指标之一决定CPU和外设互换信息的速度。
其次,数据总线的宽度也是表示CPU性能的参数之一(通常,我们说“64位的CPU”是指CPU的数据总线的宽度是64位)。

例题

若内存容量为4GB,字长为32,则______。
A.地址总线和数据总线的宽度都为32
B.地址总线的宽度为30,数据总线的宽度为32
C.地址总线的宽度为30,数据总线的宽度为8
D.地址总线的宽度为32,数据总线的宽度为8
答案:A

内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位,因此地址总线和数据总线的宽度都为32。

https://blog.csdn.net/m0_37884601/article/details/81264955
https://worktile.com/kb/ask/45777.html


http://www.ppmy.cn/news/571964.html

相关文章

提高办公效率用什么?表单开发工具好不好用?

在办公流程化繁盛发展的今天,越来越多的企业希望通过专业的软件和工具提升办公协作效率,朝着数字化和流程化管理的方向靠近。那么,如何提高办公效率?如何提高表格制作质量和效率?表单开发工具是专业的办公软件平台之一…

出现“应用程序发生异常,未知的软件异常(0XC06D007E)”解决方法

winR-输入cmd→回车 然后把下面这行字符复制到黑色cmd框即在命令提示符后击鼠标右键→粘贴→回车,耐心等待,直到屏幕滚动停止。 (下面是要运行的代码): for %1 in (%windir%\system32*.dll) do regsvr32.exe /s %1 完成…

关于使用工具包,应用程序中发生了无法处理的异常。如果单击“继续”,应用程序忽略错误尝试继续运行。点击退出,应用程序将会“关闭”。异常来自HRESULT:0x80040228的错误问题!

项目场景: 在使用工具包导出图层的时候 问题描述 遇到了这样一个错误;应用程序中发生了无法处理的异常。如果单击“继续”,应用程序忽略错误尝试继续运行。点击退出,应用程序将会“关闭”。 原因分析: 这是我在使用表…

关于winlogon.exe应用程序发生异常 未知的软件异常(0xc0000409),位置为0x1009bc5d

今天一个朋友的同学那电脑过来。问题现象:开机弹出一个对话框,不管是点击确定还是取消都会重启系统 经过谷歌搜索查询,主要问题是:某些版本的搜狗拼音输入法在winlogon里会崩溃,影响正常使用电脑,请有此问题…

explorer.exe 应用程序错误 应用程序发生异常 未知软件异常 (0xc0000417),位置为 0x100170e9

解决方法: 开始→运行→输入cmd→回车,在命令提示符下输入: for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。 完成后,输入: for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。 可…

CAD:应用程序的组件中发生了未处理的异常

CAD:应用程序的组件中发生了未处理的异常 操作步骤: 下面两个文件放在安装目录下 C:\Users\工号(比如:010242)\AppData\Roaming\Autodesk\AutoCAD 2014\R19.1\chs AcLivePreviewContext.dll ContextualTabSel…

Windows 弹出“应用程序中发生了未经处理的异常”

问题描述: 最近开发了一个demo,在本机电脑运行正常,部署到其他电脑,弹出如下图所示: 从提示来看,是有个空异常。 但是,在本机可以运行,不好找到底是那个对象为空 又换了一台电脑部…

应用程序发生异常 未知的软件异常(0x0eedfade),位置为0x7c812a5b

最近我们一个客户打电话说,我们的客户端程序在他们的XP系统上经常出现此错误。但是我们的客户端已经装了了很多台了,是第一次碰到此问题,因此断定可能是他系统的问题,于是我就在google里搜索0x0eedfade这个地址,一搜还…