总线(什么是南北桥?您都用过哪些总线?)

什么是总线?

        计算机系统中的总线(Bus)是指计算机设备和设备之间传输信息的公共数据通道,是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备以总线方式进行连接。它可以连接中央处理器(CPU)、内存、输入输出设备和其他各种外部设备。总线负责在这些组件之间传递控制信号、地址信息和数据。

总线的分类

地址总线(Address Bus)

        地址总线用于传递地址信息,指示数据在内存或其他设备的位置。

        地址总线的宽度决定了系统可以寻址的内存范围,即可以传递的地址数量。例如,一个32位地址总线可以寻址2^32个不同的内存地址。

数据总线(Data Bus)

        数据总线用于在计算机组件之间传递实际的数据。

        数据总线的宽度决定了每次数据传输的位数。例如,一个32位数据总线可以一次传输32位(4字节)的数据。

控制总线(Control Bus)

        控制总线用于传递控制信号,包括读写信号、时钟信号、中断信号等。

        控制总线协调各个组件之间的操作,确保数据在正确的时间和顺序传递。

总线的工作方式

总线请求阶段(Bus Request Phase)

        设备发出请求,表明其要使用总线进行数据传输。

总线占用阶段(Bus Arbitration Phase)

        如果多个设备同时请求总线,系统需要进行仲裁以确定哪个设备获得总线的使用权。

总线传输阶段(Bus Transfer Phase)

        获得总线使用权的设备可以在这个阶段进行数据传输。

        总线的性能直接影响计算机系统的整体性能。总线的宽度越大,每次数据传输的量就越大,但也需要更多的硬件支持。因此,在计算机设计中需要权衡总线的宽度和系统的成本、复杂度等因素。

总线的一些关键特点

        带宽(Bandwidth): 总线的带宽决定了它能够传输的数据量。更高的带宽通常意味着更快的数据传输速度。

        时序(Clocking): 总线的时序定义了数据何时可用以及何时应该被读取。时序同步是确保各个组件正确协同工作的关键。

        多总线系统(Multiple Bus System): 一些系统使用多个总线,如前端总线、后端总线等,以提高系统的整体性能。

        总线标准和协议: 不同的计算机系统和组件通常需要遵循一些共同的总线标准和协议,以确保它们可以正确地进行通信。

南北桥芯片结构

        南北桥(Northbridge和Southbridge)是计算机主板上的两个关键芯片组,它们起到协调和连接不同组件的作用。虽然随着技术的发展,南北桥的概念逐渐淡化,但仍然有一些系统采用类似的结构。

北桥(Northbridge)

        北桥是主板上的一个芯片,负责高速数据传输,主要连接处理器(CPU)、内存(RAM)、显卡(图形处理器)等性能较高的组件。

        北桥与CPU之间通过前端总线(FSB,Front Side Bus)或类似的连接进行通信。北桥的任务包括内存控制、图形接口等。

        随着技术的进步,一些集成显卡的系统将图形处理器整合到CPU中,使得北桥的功能逐渐减少,而新的处理器与内存之间的连接也逐渐不再使用前端总线。

南桥(Southbridge)

        南桥是主板上的另一个芯片,主要负责连接低速外设和各种I/O设备,例如硬盘、USB接口、声卡、网卡等。

        南桥通常包含了许多接口和控制器,用于管理和协调主板上的各种外部设备。这些设备通常需要较低的带宽和速度。

        南桥的任务包括硬盘控制、USB控制、声音控制、PCI总线管理等。

        在一些现代系统中,北桥和南桥的功能逐渐被集成到单一的芯片中,例如Intel的"Platform Controller Hub"(PCH)或AMD的"Promontory"。这种集成化的设计简化了主板的结构,减小了主板的物理尺寸,并提高了整体系统的性能和效率。

        总体而言,南北桥结构早期是为了解决各个组件之间不同速度和带宽需求而设计的,但随着技术的发展和集成度的提高,传统的南北桥结构正在逐渐演变或淡化。

单芯片结构

        单芯片结构指的是将原本需要多个芯片来实现的功能集成到一个单一芯片上的设计。这种集成化的设计有助于简化电路板布局、减小物理空间需求、提高整体系统性能,并减少功耗。

SoC(System-on-Chip)

        SoC是一种将整个计算机系统的所有核心组件(包括处理器、内存控制器、图形处理器、I/O控制器等)集成到一个单一芯片上的设计。SoC常见于嵌入式系统、移动设备(如智能手机和平板电脑)以及一些小型计算机系统。

        SoC的优势在于紧凑的设计、低功耗和高度集成的特性,同时也有助于提高系统的性能和响应速度。

PCH(Platform Controller Hub)

        PCH是Intel引入的一种单芯片结构,它集成了南桥的功能,包括I/O控制、USB控制、SATA控制、网卡等,使得主板上的芯片数量减少。

        PCH常与Intel处理器一同使用,构成了Intel平台的基本架构。

APU(Accelerated Processing Unit)

        APU是AMD提出的一种集成了CPU和GPU核心的单芯片设计。这种结构旨在提高处理器性能,尤其是图形处理性能。

        APU通常用于一些对图形性能要求较高的场景,如轻量级游戏和多媒体应用。

        这些单芯片结构的设计有助于提高系统的整体性能、降低成本,并使得电子设备更加紧凑和便携。然而,集成所有组件到一个芯片上也带来了一些挑战,如散热和热管理问题,因为多个功能单元在一个小封装内产生的热量需要有效地散发。

常见总线

前端总线(Front Side Bus,FSB)

        FSB是连接CPU和北桥芯片(或类似结构)的总线,负责传递数据、地址和控制信号。它是连接CPU与其他高速组件的重要通道。

内存总线(Memory Bus)

        内存总线是连接CPU与系统内存(RAM)之间的通道,负责传递内存地址和数据。内存总线的宽度影响了系统能够支持的内存容量和速度。

图形总线(Graphics Bus)

        图形总线用于连接图形处理器(GPU)和系统的其他部分。PCI Express(PCIe)是一种常见的图形总线标准,用于高性能图形卡的连接。

后端总线(Back Side Bus)

        后端总线用于连接CPU与高级缓存(L2缓存)之间,以提高数据访问速度。

系统总线(System Bus)

        系统总线是一个通用术语,通常指的是连接计算机主要组件(CPU、内存、I/O设备等)的总线系统。在过去的架构中,前端总线和后端总线合在一起也被称为系统总线。

I/O总线(I/O Bus)

        I/O总线用于连接CPU、北桥(或PCH)、南桥和各种输入输出设备(如硬盘、USB设备、网卡等)。常见的标准包括PCI(Peripheral Component Interconnect)和PCI Express。

ISA总线(Industry Standard Architecture)

        ISA是早期个人计算机上使用的总线标准,用于连接CPU、内存和外部设备。随着技术的发展,ISA总线逐渐被更快的总线标准所替代。

USB总线(Universal Serial Bus)

        USB是一种用于连接各种外部设备的串行总线标准,如打印机、键盘、鼠标、摄像头等。

SATA总线(Serial ATA)

        SATA是一种用于连接存储设备(如硬盘和光驱)的串行总线标准。

PCI Express总线(PCIe)

        PCI Express是一种高速串行总线标准,用于连接各种设备,包括图形卡、存储设备和扩展卡等。

FireWire(IEEE 1394)

        FireWire是一种高速串口总线标准,用于连接音视频设备、外部存储和其他多媒体设备。它支持热插拔和高带宽传输。

Thunderbolt

        Thunderbolt是一种基于PCI Express和DisplayPort的高速接口,支持数据传输和视频传输。它常用于连接外部硬盘、显示器和其他高性能外部设备。

HyperTransport

        HyperTransport是一种高速、点对点的串行总线标准,用于连接处理器、内存和其他芯片。它的设计旨在提供高带宽和低延迟的数据传输。

InfiniBand

        InfiniBand是一种用于高性能计算和数据中心互连的高速串行总线标准。它支持点对点和多点拓扑结构,提供低延迟和高带宽。

SPI(Serial Peripheral Interface)

        SPI是一种用于连接微控制器和外部设备的串行总线协议。它通常用于连接闪存、传感器和其他低带宽设备。

I2C(Inter-Integrated Circuit)

        I2C是一种串行总线协议,用于连接微控制器和其他数字设备。它支持多点连接和低速通信,适用于连接各种外设。

CAN(Controller Area Network)

        CAN总线是一种用于车辆和工业控制系统等领域的串行总线协议。它设计用于在不同设备之间进行实时通信。

UART(Universal Asynchronous Receiver-Transmitter)

        UART是一种用于串行通信的通用接口,通常用于连接计算机和串口设备,如调制解调器和串口打印机。

LIN总线(Local Interconnect Network)

        LIN总线是一种用于汽车电子系统的串行通信总线,主要用于连接车内的一些辅助设备,如门锁、窗户控制等。

FlexRay

        FlexRay是一种用于汽车电子系统的高性能实时通信总线,特别适用于需要高带宽和低延迟的应用,如电动汽车和高级驾驶辅助系统。

MIL-STD-1553

        MIL-STD-1553是一种军用飞行器和航空航天器上广泛使用的串行数据总线标准,用于连接各种飞行器系统和子系统。

RS-232(Recommended Standard 232)

        RS-232是一种串行通信标准,用于连接计算机和外部设备,如调制解调器、打印机等。尽管已经过时,但仍在某些应用中使用。

SPIFI(Serial Peripheral Interface with Flash Interface)

        SPIFI是一种结合了SPI和闪存接口的总线标准,通常用于连接微控制器和闪存存储器。

MIPI(Mobile Industry Processor Interface)

        MIPI是一组用于移动设备的通信接口标准,包括MIPI CSI-2(摄像头接口)、MIPI DSI(显示接口)等。

DOCSIS(Data Over Cable Service Interface Specification)

        DOCSIS是一种用于有线电视系统中的数据传输的标准,主要用于连接电缆调制解调器和网络提供商。

USB4

        USB4是USB标准的最新版本,支持更高的数据传输速率和更灵活的连接,与Thunderbolt 3兼容,使其更加多用途。

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

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

相关文章

python基于轻量级GhostNet模型开发构建23种常见中草药图像识别系统

轻量级识别模型在我们前面的博文中已经有过很多实践了,感兴趣的话可以自行移步阅读: 《移动端轻量级模型开发谁更胜一筹,efficientnet、mobilenetv2、mobilenetv3、ghostnet、mnasnet、shufflenetv2驾驶危险行为识别模型对比开发测试》 《基…

Vue 核心 数据监听 computed | watch

Vue 核心 数据监听 computed | watch 一、今日学习目标 1.指令补充 指令修饰符v-bind对样式增强的操作v-model应用于其他表单元素 2.computed计算属性 基础语法计算属性vs方法计算属性的完整写法成绩案例 3.watch侦听器 基础写法完整写法 4.综合案例 (演示&…

selenium 解决 id定位、class定位中,属性值带空格的解决办法

一、前置说明 selenium遇到下面这种元素&#xff1a; <th id"demo id" class"value1 value2 value3 ">1、虽然id一般不会有空格&#xff0c;但是前端错误的这种写法(如下图)&#xff0c;会造成使用id定位不到元素&#xff0c;如&#xff1a; find…

IOday6作业

1>使用有名管道&#xff0c;完成两个进程的相互通信 //create.c #include<myhead.h>int main(int argc, const char *argv[]) {if((mkfifo("myfifo1",0664)) -1){perror("mkfifo");return -1;}if((mkfifo("myfifo2",0664)) -1){perror…

MYSQL练题笔记-高级查询和连接-这系列最后一题以及下个系列(子查询)的第一题

今天做了下面两题&#xff0c;到第三题的时候想了下但是没有太多的思路&#xff0c;然后看题解的时候实在是觉得自己不会&#xff0c;打算明天看吧。 1.按分类统计薪水相关的表和题目如下 我是想着简化问题&#xff0c;先找出薪水低于30000的员工&#xff0c;然后找这些员工的上…

JAVA 锁

乐观锁 乐观锁是一种乐观思想&#xff0c;即认为读多写少&#xff0c;遇到并发写的可能性低&#xff0c;每次去拿数据的时候都认为别人不会修改&#xff0c;所以不会上锁&#xff0c;但是在更新的时候会判断一下在此期间别人有没有去更新这个数据&#xff0c;采取在写时先读出…

Sam Altman当选“TIME时代周刊”2023年度最佳CEO!还有梅西、Taylor Swift当选...

TIME时代周刊昨日在官网公布了2023年最佳CEO—— Sam Altman当选! 此外&#xff0c;Taylor Swift当选年度最佳人物&#xff0c;梅西当选年度最佳运动员。 Sam Altman的当选可谓是实至名归&#xff01;没有谁能比火爆全球的ChatGPT背后&#xff0c;OpenAI的CEO更“成功”了。 …

ssh安装及问题解决

ssh安装及遇到的问题 ssh分为客户端 openssh-client 和服务器 openssh-server&#xff0c;可以利用以下命令确认是否安装&#xff1a; dpkg -l | grep ssh我用ubantu安装的&#xff0c;所以默认安装了客户端 安装客户端和服务器端的命令分别为&#xff1a; sudo apt-get ins…

金融量化交易:使用Python实现遗传算法

大家好&#xff0c;遗传算法是一种受自然选择过程启发的进化算法&#xff0c;用于寻找优化和搜索问题的近似解决方案。本文将使用Python来实现一个用于优化简单交易策略的遗传算法。 1.遗传算法简介 遗传算法是一类基于自然选择和遗传学原理的优化算法&#xff0c;其特别适用…

MySQL 教程 2.1

MySQL 插入数据 MySQL 表中使用 INSERT INTO 语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据&#xff0c;或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法&#xff1a; INSERT INTO table_name (colu…

使用Pytorch实现Grad-CAM并绘制热力图

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 看一下这个main cnn.py的文件 那这里我为了方便 就直接从官方的torch vision这个库当中导入一些我们常用的model 比如说我这里的例子是采用的mobile net v3 large这个模型 然后这里我将pretrain设…

微信小程序 纯css画仪表盘

刚看到设计稿的时候第一时间想到的就是用canvas来做这个仪表盘&#xff0c;虽然本人的画布用的不是很好但还可以写一写&#x1f600;。话不多说直接上代码。最后有纯css方法 <!--wxml--> <canvas canvas-id"circle" class"circle" >// js dat…

MySQL 忘记root密码后重置密码操作

在忘记 MySQL 密码的情况下&#xff0c;可以通过 --skip-grant-tables 关闭服务器的认证&#xff0c;然后重置 root 的密码&#xff0c;具体操作步骤如下。 步骤 1)&#xff1a;关闭正在运行的 MySQL 服务。打开 cmd 进入 MySQL 的 bin 目录。 步骤 2)&#xff1a;输入mysqld -…

【Docker】容器数据持久化及容器互联

容器数据持久化及容器互联 一、Docker容器的数据管理1.1、什么是数据卷1.2、数据卷特点1.3、数据卷使用 二、Docker的数据卷容器2.1、什么是数据卷容器2.2、挂载数据卷容器方法 三、Docker数据卷的备份和还原3.1、数据备份方法3.2、数据还原方法 四、Docker容器互联4.1、docker…

xcode ——Instrumets(网络连接调试)使用

环境&#xff1a; instruments 使用只能在真机调试时使用&#xff0c;且真机系统必须ios15 点击debug 按钮——Network——Profile in Instruments 然后就可以看到如下面板 展开运行的项目&#xff0c;点击session下的域名&#xff0c;下方回出现该域名下的网络请求。点击Deve…

管理类联考——数学——真题篇——按题型分类——充分性判断题——秒杀

题型结构 问题求解&#xff1a;通过计算求解&#xff0c;从五个选项中选出一个正确答案。条件充分性判断&#xff1a;问所给的条件&#xff08;1&#xff09;&#xff08;2&#xff09;能否推出题设的结论&#xff0c;共有五个选项&#xff0c;从中选出正确的一个。&#xff0…

LCR 090. 打家劫舍 II(leetcode)动态规划

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中&#xff0c;我们将要详细介绍一下LeetcodeLCR 090. 打家劫舍 II。采用动态规划解决&#xff0c;这是一道经典的多状态dp问题 一、题目分析…

人工智能从 DeepMind 到 ChatGPT ,从 2012 - 2024

本心、输入输出、结果 文章目录 人工智能从 DeepMind 到 ChatGPT &#xff0c;从 2012 - 2024前言2010年&#xff1a;DeepMind诞生2012&#xff5e;2013年&#xff1a;谷歌重视AI发展&#xff0c;“拿下”Hinton2013&#xff5e;2014年&#xff1a;谷歌收购DeepMind2013年&…

stm32一种步进电机查表法驱动

文章目录 一、定时器基础频率二、驱动原理三、关键代码 对于stm32芯片来说&#xff0c;步进电机的驱动由于要在中断中不断计算下一次脉冲的时间而极其消耗算力&#xff0c;使用计算的方法对于芯片的算法消耗更高&#xff0c;特别是在f1这种算力比较低的芯片上&#xff0c;这时候…

Pipenv环境配置+Pytest运行

环境配置 使用Pipenv进行虚拟环境管理&#xff0c;Pipfile为依赖模块管理文件。 安装pipenv&#xff1a;brew install pipenv根项目根目录下执行命令创建虚拟环境&#xff1a; pipenv install在Pycharm中指定项目运行的虚拟环境 &#xff1a;File->Settings->Project:-…