大话存储 1 - 走进计算机IO世界

组成计算机的三大件:CPU,内存和IO。

1 总线

总线就是一条或者多条物理上的导线,每个部件都接到这些导线上,同一时刻只能有一个部件在接收或者发送。

仲裁总线:所有部件按照另一条总线,也就是仲裁总线或者中断总线上给出的信号来判断这个时刻总线可以由哪个部件来使用。产生仲裁总线或者中断电位的可以是CPU,也可以是总线上的其他设备。

如上图所示,主板上的每个部件都是通过总线连接起来的。

PCI总线:目前台式机与服务器所普遍使用的一种南桥与外设连接的总线技术。

北桥芯片:IO总线和以太网HUB模型的区别在于多了一个北桥芯片。因为CPU和内存足够快,他们之间单独用一个总线连接,这个总线和慢速IO总线之间通过一个桥接芯片连接,也就是主板上的北桥芯片。这个芯片连接了CPU、内存和IO总线。

前端总线:CPU与北桥连接的总线叫做系统总线,也叫作前端总线。

内存总线:内存与北桥连接的总线叫做内存总线。

由于北桥速度太快,而IO总线速度相对北桥显得太慢,所以北桥和IO总线之间,往往要增加一个网桥,叫做南桥,在南桥上一般集成了众多外设的控制器,比如磁盘控制器、USD控制器等。

总线位数:系统总线的条数,比如64条或者128条,叫做总线的位数。

CPU位数:寄存器和运算单元之间总线的条数。

IO总线分成数据总线、地址总线和控制总线。寻址用地址总线,发数据用数据总线,发中断信号用控制总线。IO总线是并行而不是串行的。

2 CPU、内存和磁盘之间通过网络来通信

因为主板上的总线很短、很稳定,所以CPU和存储设备之间组成的一个“网络”不需要运输层,而只需要物理层、网络层和上三层的网络。

设备映射:每个IO设备在启动时都要向内存中映射一个或者多个地址,这个地址有8位长,又被称做IO端口。针对这个地址的数据,统统被被北桥芯片重定向到总线上实际的设备上。

CPU在对磁盘发送指令的时候,这些指令其实是发给了主板南桥上集成的控制器,比如ATA控制器或者SCSI控制器。让磁盘读取或者写入某个磁道、某个扇区等,CPU不需要知道这些,CPU只需要知道逻辑块地址是读还是写就可以了,让CPU产生这些信息的是磁盘控制器驱动程序。

?

3 小结

CPU、内存和磁盘之间组成的网络可以用下面图抽象:

?

参考资料

《大话存储2-存储系统架构与底层原理极限剖析》?

时间: 2024-07-30 05:38:58

大话存储 1 - 走进计算机IO世界的相关文章

《大话存储2》读书笔记——第2章 IO大法 走进计算机IO世界

IO的通路——总线 预备知识 大脑利用神经网络,将计算好的信息传递给手臂.腿.肌肉等这些“设备”,从而驱动这些“设备”运动.而计算机利用总线,将计算好的数据传递给外部设备,比如显示器.打印机等. 1.单工 单工就是指A只能发信号,而B只能接收信号,通信是单向的,就象灯塔之于航船——灯塔发出光信号而航船只能接收信号以确保自己行驶在正确的航线上. 2.半双工 半双工就是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行. 最典型的例子就象我们在影视作品中看到的对讲机一样: 007:呼叫总部

走进C++程序世界------IO标准库介绍

流概述 流是C++标准的组成部分,流的主要目标是,将从磁盘读取文件或将输入写入控制台屏幕的问题封装起来,创建流后程序员就可以使用它,流将负责处理所有的细节. IO类库 在C++输入?输出操作是通过C++系统提供的完成I/O操作的一组类实现的.主要包括: 标准流类:处理与标准输入设备(键盘)和输出设备(显示器)关联的数据流 文件流类:处理与磁盘文件关联的数据流 字符串流类:利用内存中的字符数组处理数据的输入输出 异常类等:处理异常错误. 标准IO对象: 包含iostream类的C++程序启动时,将

我理解的这个世界--计算机的世界

人类的世界,太复杂,涉世未深,未敢造次.但作为毕业一年多的小白,小小码童,带着对计算机的理解,写下这篇浅薄的文章,工作当中的一点感悟,也是一些总结.讲个就是这个熟悉又陌生的计算机的世界.就当是茶余饭后的笑料,也希望有大神指正. 从一个程序员的角度看这个世界.粗点分,就是硬件和软件,类似于太极,二者相生相息. 觉得这个话题太庞大了.我只能先瞎扯一些. 现在讲的最多的云计算.到底什么是云计算呢,我理解就是把硬件资源虚拟化,分为计算虚拟化,存储虚拟化,网络虚拟化.计算虚拟化就是指内存,cpu的虚拟化.

走进缓存的世界(三) - Memcache

系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它基于一个存储key/value对的hashmap,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. 它的工作机制是在内存中开辟一块空间,然后建立一个HashTable并自己管理,使用非阻塞的网络IO. 更多详细的信息参阅Memcache官方网

大话存储 2 - 磁盘原理与技术详解

磁盘大致由盘片.读写头.马达.底座.电路板等几大项组合而成. 磁头运行时距离磁盘表面的高度由下图可以随意感受一下: 1 磁盘上的数据组织 磁盘在逻辑上被划分为磁道.柱面以及扇区. 启停区:每个盘片的每个面都有一个读写磁头,磁头期初停在盘片的最内圈,即线速度最小的地方.这是一个特殊区域,它不存放任何数据. 0磁道:在最外圈,离主轴最远的地方是0磁道,硬盘数据的存放就是从最外圈开始的.有一个0磁道检测器,由它来完成硬盘的初始定位. 0磁道存放着用于操作系统启动所必需的程序代码,因为PC启动后BIOS

【大话存储】学习笔记(一),磁盘

第一章 计算机的IO世界 1.1 总线 1.1.1 总线的概念 计算机中所有的IO都通过共享总线的方式来实现. 总线实际上就是一条或多条的物理导线.密密麻麻的印到电路板上,而且为了避免高频振荡的干扰,一般都会分组印刷到不同的电路板上,然后压合起来. 1.1.2 总线的分类 PCI总线是目前PC机与x86服务器普遍使用的南桥与外设连接的总线技术. PCI总线的地址总线和数据总线是分时复用的,这样可以节省管脚数量. 在数据传输时,PCI协议上有三种不同的角色 主,也就是发起者 从,Target或者S

SQL SERVER大话存储结构(5)

阅读目录(Content) 1 基本介绍 2 对数据库启动的影响 3 日志文件添加方式 4 物理结构 5 延迟日志截断原因 6 管理事务日志 本系列上一篇博文链接:SQL SERVER大话存储结构(4)_复合索引与包含索引 回到顶部(go to top) 1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录形式需要根据数据库的恢复模式来确定,数据库恢复模式有三种: 完整模式,完全记录事物日志,需要定期进行日志备份. 大容量日志模式,适用于批量操作的

SQL SERVER大话存储结构(3)

阅读目录(Content) 1 引入 2 数据行 2.1 数据行结构 2.2 特殊情况(大对象.行溢出及forword) 2.2.1 大对象 2.2.2 行溢出 2.2.3 forword 3 测试存储情况 3.1 堆表分析 3.2 添加主键 3.3 增加一列:可空变长列 3.4 增加一列:非空变长列+默认值 3.4.1 非大对象列 3.5 删除无数据的列 3.6 删除有数据的列 3.7 行溢出 3.8 Forword 4 行结构与DDL 一行数据是如何来存储的呢? 变长列与定长列,NULL与N

【密码学】一万字带您走进密码学的世界(下)

引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 在<一万字带您走进密码学的世界(上)>的文章中我们探讨了对称密码体系,哈希函数等技术,本文继续探讨密码学剩余的部分,本文的主要内容包括,非对称密码体系,签名算法等,因为本部分是区块链技术的基石,所以我会讲的更加详细一点,虽然我已经尽最大努力使思想简化,但是其中的数学理论对于很多人还是很晦涩,建议读者开始之前先读下数论的有关