计算机原理组成篇(1)

简介: 计算机的总线总线的概述举个栗子:USB-> Universal Serial Bus(通用串行总线)提供了对外连接的接口不同设备可以通过USB接口进行连接连接的标准,促使外围设备接口的统一

计算机的总线

总线的概述

举个栗子:

USB-> Universal Serial Bus(通用串行总线)

  1. 提供了对外连接的接口
  2. 不同设备可以通过USB接口进行连接
  3. 连接的标准,促使外围设备接口的统一

总线除了上面的USB,还有PCI总线ISA总线THunderbolt总线等等

5hWaBGXdj7DvNit.png

在没有总线时候,每个设备之间要互相连接,非常复杂

出现总线之后:

h5OFDks2oAqWvrN.png

总线的分类

片内总线

高集成度芯片内部的信息传输线
  1. 芯片内部的总线
  2. 寄存器与寄存器之间
  3. 寄存器与控制器、运算器之间

pSqDsEKeUlH9mR7.png

系统总线

CPU、主内存、IO设备、各组件之间的信息传输线

zNVUWHTJDk3PY1j.png

数据总线

一般与CPU位数相同(32位,64位)
  1. 双向传输各个部件的数据信息
  2. 数据总线的位数(总线宽度)是数据总线的重要参数

地址总线

地址总线位数=n,寻址范围:0~2�
  1. 指定源数据或目的数据在内存中的地址
  2. 地址总线的位数与存储单元有关

控制总线

  1. 控制总线是用来发出各种控制信号的传输线
  2. 控制信号经由控制总线从一个组件发给另外一个组件
  1. 比如从CPU发送到键盘
  1. 控制总线可以监视不同组件之间的状态(就绪/未就绪)

总线的仲裁

仲裁就是为了解决不同设备使用总线的先后冲突问题

我们有以下几种方法:

链式查询

O7XIxMTFHuaDBrL.png

假设设备2需要使用总线,就像仲裁控制器发送请求,得到请求后,会先发给设备1,看他用不用,他不用,就到接下来给设备2,发现设备2使用。同理,设备1和2同时发送,设备1先获取资格。

好处: 电路复杂度低,仲裁方式简单(串联的方式)

坏处: 优先级低的设备难以获得总线使用权

计时器定时查询

  1. 仲裁控制器对设备编号并使用计数器累计计数
  2. 接收到仲裁信号后,往所有设备发出计数值
  3. 计数值与设备编号一致则获得总线使用权

vDJ4kqcEoi3feu6.png

设备3要使用,顺着仲裁控制线请求,控制器收到后同时给3个设备发1,设备1没有使用,继续+1,设备2没有使用,继续+1,设备3使用,获得总线的使用权,(每次+1,都给这几个设备发送)

独立请求

  1. 每个设备均有总线独立连接仲裁器
  2. 设备可单独向仲裁器发送请求和接收请求
  3. 当同时收到多个请求信号,仲裁器有权按优先级分配使用权

swnD4Gjp2SHBVc6.png

好处:响应速度快,优先顺序可动态改变

坏处:设备连线多,总线控制复杂

计算机的输入输出设备

常见的输入输出设备

字符输入设备

键盘

薄膜键盘
机械键盘
黑轴
红轴
青轴
茶轴

图像输入设备

鼠标

数位板

扫描仪

图像输出设备

显示器

打印机

投影仪

输入输出接口的通用设计

数据线

是I/O设备与主机之间进行数据交换的传送线

单向传输数据线

双向传输数据线

状态线

  1. IO设备状态向主机报告的信号线
  2. 查询设备是否已经正常连接并就绪
  3. 查询设备是否已经被占用

命令线

  1. CPU向设备发送命令的信号线
  2. 发送读写信号
  3. 发送启动停止信号

设备选择线

  1. 主机选择l/O设备进行操作的信号线
  2. 对连在总线上的设备进行选择

例如对U盘进行操作

CPU与IO设备的通信

CPU速度与IO设备速度不一致

程序中断

提供低速设备通知CPU的一种异步的方式CPU可以高速运转同时兼顾低速设备的响应
  1. 当外围IO设备就绪时,向CPU发出中断信号
  2. CPU有专门的电路响应中断信号

image.png

注意:响应中断不一定是及时的。

DMA(直接存储器访问)

DMA直接连接主存与lO设备DMA工作时不需要CPU的参与


96BuN17z35waUZQ.png

当主存与IO设备交换信息时,不需要中断CPU,可以提高CPU的效率

硬盘,显卡都使用

计算机存储器

存储器的分类

按存储介质分类:

半导体存储器

内存,U盘,固态硬盘

磁存储器

磁带,磁盘

_

按存取方式分类:

随机存储器(RAM)

随机读取

与位置无关

串行存储器

与位置有关

按顺序查找

只读存储器(ROM)

只读不写

存储器的层次结构

读写速度↑,存储容量↑,价格↓

容量+价格 => 位价:每比特位价格


QzAmJNt1jKid8p2.png

容量从上到下增加

主存是上面提到的RAM与ROM


S9ja7s8hYlXKf6L.png

缓存-主存层次

原理:局部性原理实现:在CPU与主存之间增加一层速度快(容量小)的Cache 目的:解决主存速度不足的问题

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。


UGPc5oEMHQAW2uv.png计算机原理组成篇(1): https://developer.aliyun.com/article/1387186

目录
相关文章
ly~
|
11月前
|
存储 算法 编译器
游戏开发中,C 语言的性能优势体现在哪些方面?
在游戏开发中,C 语言凭借其对硬件的直接访问和内存操作的精准控制,能够显著提升性能。它允许开发者手动管理内存,优化数据存储和读取,充分利用显卡等硬件资源,实现流畅的图形渲染和音效处理。作为一种接近底层的语言,C 语言具有高效的执行速度,适用于物理引擎和碰撞检测等高性能需求模块,并且提供了丰富的运算符和数据类型,便于实现高效的算法。此外,C 语言代码具有良好的可移植性和跨平台性,支持多种操作系统和硬件平台,减少了多平台发布的开发成本。编译器提供的优化选项和手动代码优化的灵活性进一步提升了游戏的整体性能。
ly~
377 5
|
小程序 前端开发 开发者
【微信小程序】-- WXSS 模板样式- rpx & import (十三)
【微信小程序】-- WXSS 模板样式- rpx & import (十三)
|
算法 程序员
从《阴阳师》到《原神》,抽卡中的程序算法
收集类的抽卡手游,是玩家们喜闻乐见的一类游戏,他们背后又有哪些程序算法?我们一起来探讨
3467 0
从《阴阳师》到《原神》,抽卡中的程序算法
|
7月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
159 3
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
232 1
|
10月前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
379 5
|
移动开发 小程序 API
uniapp中uview组件库丰富的CountTo 数字滚动使用方法
uniapp中uview组件库丰富的CountTo 数字滚动使用方法
242 2
ENVI:如何进行遥感图像的分类?(决策树模型)
ENVI:如何进行遥感图像的分类?(决策树模型)
553 0
|
Dubbo Java 应用服务中间件
双活工作下的数据迁移:Nacos注册中心实战解析
这篇内容介绍了如何使用NacosSync组件进行双活项目中的注册中心数据迁移。首先,准备包括64位OS、JDK 1.8+、Maven 3.2+和MySQL 5.6+的环境。接着,获取并解压NacosSync安装包,配置数据库连接,启动服务,并通过访问特定URL检查系统状态。然后,通过NacosSync控制台进行集群配置,添加Zookeeper和Nacos集群,并设置同步任务。当数据同步完成后,Dubbo客户端(Consumer和Provider)更新配置以连接Nacos注册中心。最后,迁移完成后,原有的Zookeeper集群可下线,整个过程确保了服务的平滑迁移。
419 1
|
存储 缓存 NoSQL
Redis进阶-Redis集群原理剖析及gossip协议初探
Redis进阶-Redis集群原理剖析及gossip协议初探
244 0