计算机组成原理之总线设计(一)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: hey guys ,我是 cxuan ,最近有小伙伴们说 cxuan 你能不能出一些关于计算机组成相关的文章,因为小伙伴有需求,所以咱得满足呀,这不,计算机组成系列来了!这一篇文章和你聊聊总线设计。

hey guys ,我是 cxuan ,最近有小伙伴们说 cxuan 你能不能出一些关于计算机组成相关的文章,因为小伙伴有需求,所以咱得满足呀,这不,计算机组成系列来了!这一篇文章和你聊聊总线设计。

我们知道,计算机是由五大部件组成的:运算器、存储器、控制器、输入设备和输出设备,这个概念比较抽象,简单一点来说就是 CPU 包含运算器和控制器,存储器也就指的是内存,而输入输出设备分别指的是键盘和显示器。计算机这几个部件之间是需要共同协作完成信息处理的,那么,这几大部件之间如何进行通信呢?靠的是系统总线,这也是我们这篇文章讨论的重点。

认识总线

总线是将两个计算机或者多个功能单元连接在一起并允许它们相互交换数据的一种通路。总线还可以将计算机和外部设备连接在一起。总线是计算机系统非常重要的组成部分。关于需要知道下面这几个概念。

  • 总线宽度:一般用并行数据通路的数量来定义总线的宽度,一般总线的宽度有 8 位、16 位、32 位、64 位,我们现在最常用的就是 64 位总线,一条 64 位宽的总线一次能够传输 64 位也就是 8 个字节信息。
  • 带宽:带宽是衡量数据在总线上传输速率的一项指标。在保持数据传输速率不变的情况下提高并行通路的数量,可以提高总线的带宽。
  • 延迟:延迟是从发出数据传输请求到实际数据传输的时间间隔。

总线分类

下面我们主要介绍两种总线,一种是片内总线,一种是系统总线,片内总线一般指的是 CPU 芯片内部、寄存器和寄存器之间、寄存器和算术单元 ALU 之间的连接。

而系统总线主要是指 CPU 和内存、内存和 IO 设备、CPU 和 IO 设备等各大部件的信息传输介质。系统总线按照传输信息的不同主要分为下面三类。

  • 地址线
  • 数据线
  • 控制线

微信图片_20220416174508.png

下面我们就来具体了解一下这三类总线。

地址总线

地址总线主要用于传输源数据或者目的数据在主存单元中的地址。

CPU 通过地址总线来指定存储单元的位置的,地址总线上能传送多少信息,CPU 就可以对多少个存储单元进行寻址。

微信图片_20220416174512.png

上图中 CPU 和内存中间信息交换通过了 10 条地址总线,每一条线能够传递的数据都是 0 或 1 ,所以上图一次 CPU 和内存传递的数据是 2 的十次方。

所以,如果 CPU 有 N 条地址总线,那么可以说这个地址总线的宽度是 N 。这样 CPU 可以寻找 2 的 N 次方个内存单元。

数据总线

数据线顾名思义就是一次传递数据的位数,数据总线的位数就是数据总线宽度。

CPU 与内存或其他部件之间的数据传送是由数据总线来完成的。数据总线的宽度决定了 CPU 和外界的数据传输速度。8 根数据总线可以一次传送一个 8 位二进制数据(即一个字节)。16 根数据总线一次可以传输两个字节,32 根数据总线可以一次传输四个字节。。。。。。

控制总线

控制总线是在总线上发出控制信号的传输线,常见的控制信号有:时钟(同步操作)、复位(初始化操作)、中断请求/响应、存储器读写、IO 读写等。

CPU 与其他部件之间的控制是通过 控制总线 来完成的。有多少根控制总线,就意味着 CPU 提供了对外部器件的多少种控制。所以,控制总线的宽度决定了 CPU 对外部部件的控制能力。

以运算器为主的连接方式

在互联网的早期阶段,大多数总线采用的是分散连接(还有一种是总线连接,后面说),这种连接方式如下图所示

微信图片_20220416174516.png

从图上可以看到,运算器是这种分散连接的核心部分,这种连接方式会出现问题,当你的 CPU 正在忙于计算时,发生了 IO 与存储器的信息交换,此时你的运算器也就是 CPU 不得不停下来,这就导致了运算器运行的中断,严重影响了 CPU 的工作效率。

你想,当你正在写文章的时候,你对象问你:你今天怎么不理我?所以你就得放下工作和她聊天;当你处理好她的情绪后继续写了 5 分钟文章,这时你的读者发表了长篇大论向你咨询问题,这时候你总不能不回复吧,所以你此时又要放下写文章,继而帮助他解决问题,由此可见,你写文章的效率会高吗?CPU 也是一样的道理。

当然你也可以选择进入专注模式不回复,这就要视事情的优先级而定了,CPU 也是一样的。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
在快节奏的现代工作环境中,高效的时间管理和任务协作工具成为提升生产力的关键。2024年,随着工作模式的变化,企业及个人愈发依赖这些工具来优化时间管理、任务分配和团队协作。本文精选了几款高效工具,如板栗看板、ClickUp、Notion、Wrike、Todoist和Evernote,它们各自具备独特优势,适用于不同行业和规模的团队,帮助用户在繁忙的工作中保持高效和有序。
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
nginx配置http和https共存
server { listen 80; listen 443 ssl; server_name localhost;        #ssl on; ssl_certificate /usr/local/Tengine/sslcrt/linuxyan.
4929 0
multiOTP配置安装
https://code.google.com/p/google-authenticator/ 是google提供的OTP解决方案。   http://www.multiotp.net/ 是一个开源otp验证解决方案,继承了google的OTP方案, 可以通过pam模块与Radius验证服务器集成,安装包已经包括了Radius和Google OTP 模块。
2465 0
基于NSGAII的的柔性作业调度优化算法MATLAB仿真,仿真输出甘特图
本程序基于NSGA-II算法实现柔性作业调度优化,适用于多目标优化场景(如最小化完工时间、延期、机器负载及能耗)。核心代码完成任务分配与甘特图绘制,支持MATLAB 2022A运行。算法通过初始化种群、遗传操作和选择策略迭代优化调度方案,最终输出包含完工时间、延期、机器负载和能耗等关键指标的可视化结果,为制造业生产计划提供科学依据。
基于RAG和LLM的水利知识大语言模型系统开发有感
在数字化时代,水利行业的智能化管理尤为重要。本文介绍了基于大语言模型(LLM)和检索增强生成(RAG)技术的水利知识问答系统的开发过程。该系统结合了前沿AI技术和水利专业知识,通过构建全面的水利知识库,优化用户体验,确保系统的灵活性和可扩展性。项目展示了AI技术在垂直领域的巨大潜力,为水利行业的智能化发展贡献力量。
推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate
今天给大家推荐一个**双语对照的 PDF 翻译工具**的开源项目:PDFMathTranslate 。
415 26
推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate
30分钟速成:IntelliJ IDEA 2024下载安装与多语言开发环境配置手册
IntelliJ IDEA是Java/Kotlin开发领域的旗舰级IDE,最新版本实现了AI全栈辅助、量子计算插件和多语言互操作三大技术突破。AI辅助提升代码生成与性能优化准确率40%,量子计算插件支持1024量子位模拟,多语言混合调试性能提升300%。系统要求包括i5以上CPU、8GB内存及Windows 7+等。安装流程涵盖获取Ultimate版、配置启动器及性能优化设置。核心功能包括AI编码助手和多语言开发环境配置。提供量子算法开发和AI代码审查实战案例,并附故障排查指南和学习资源。
【LLM】能够运行在移动端的轻量级大语言模型Gemma实践
【4月更文挑战第12天】可以运行在移动端的开源大语言模型Gemma模型介绍
481 0
图解一致性哈希算法,看这一篇就够了!
近段时间一直在总结分布式系统架构常见的算法。前面我们介绍过布隆过滤器算法。接下来介绍一个非常重要、也非常实用的算法:一致性哈希算法。通过介绍一致性哈希算法的原理并给出了一种实现和实际运用的案例,带大家真正理解一致性哈希算法。
21829 64
图解一致性哈希算法,看这一篇就够了!
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问