Fork me on GitHub

冯.诺依曼结构 总线 接口 南桥 北桥

冯.诺依曼体系结构

从Linux 服务器开发视角来看计算机,都是符合冯.诺依曼体系结构的。

共分为4大部分:

①输入、输出设备

输入设备:向计算机输入数据,比如

通过摄像头、MIC,将图像/声音等转成二进制数据给计算机

从网卡输入数据给计算机等

其它

输出设备:从计算机输出数据,比如

通过显示器、扬声器,将二进制数据翻译成为图片/视频/声音等让人能够识别

或者通过网卡输出数据给别的计算机

其它

②存储器:实现程序和数据存储

③运算器(ALU):进行算术运算和逻辑运算

④控制器:解释(理解)程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制运算器等部件工作,进行比如

数据的算术、逻辑运算

数据的搬移,比如从CPU的寄存器搬移到内存,或者从内存的某个位置搬移到内存的另一个位置。

等等

存储器既能充当输入设备,也能充当输出设备。因为其比较关键所以单独拎出来强调。控制器、运算器被统一做到了CPU里面。因此计算机体系结构再精简就只有3大块:CPU,总线与接口、外部设备(输入输出设备)

计算机详细体系结构

三大总线(并行通信):

地址总线:传输地址信号,通过地址信号找到要操作的寄存器、内存单元等

控制总线:传输控制信号,比如通过地址总线找到内存的某位置了,接下来到底是进行读还是写,就由控制总线发控制信号决定

数据总线:传输数据信号,比如通过地址找到内存的某个位置了,控制总线发出写的控制信号,希望对其写数据,那么写数据时,数据信号就是在数据总线上传输的

IO总线

系统总线在较新的设计中,它被称为前端总线(front side bus (FSB))。

桥间链接线一般是PCI总线。

除了常见的IDE总线,PCI总线,SCSI总线,还有很多其他技术规格的总线。这些总线往往用于IO总线。见下图

ISA总线:一种老旧的低速总线,即将被排除在PC设计之外。

PCI总线:这是一种新的高速总线。PCI总线可以终结于一个插槽(eg 单独的声卡),也可以直接与设备项链(主要指集成在主板上的设备)。

USB总线(通用串行总线):这是一种新的低速总线。

AGP总线:仅用于显卡。

每一种总线可以认为其上传输一种协议

CPU位数怎么确定?

内部寄存器到运算单元之间总线位数来确定

如何确定设备位宽?

根据数据总线

总线频率 与 CPU自身频率?

这是2个不同的概念。总线频率一般指FSB频率,相当于CPU向外部存取数据时的数据传输速率

CPU自身频率则表示CPU运算时电路产生的频率

计算机总线 对比 OSI模型

计算机总线是一个只有物理层、网络层和上三成的网络

主机 如何 寻找设备?

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

IO接口

什么是接口?

PC是所有子系统的总和。在一个子系统和另一个子系统之间的边界处,就存在接口(Interface)。接口——将两个子系统连接在一起并使它们能够交换数据的电气系统。

接口的概念有点抽象,因为它最准确地指的是一个标准(一组数据交换规则)。实际上,一个接口可以包含,例如:
  两个控制器(controllers)(连接的每一端都有一个控制器);
  一根电缆;
  包含在控制器中的一些软件(协议等)
程序员如何理解接口?
程序员只需要理解到协议一层即可,或者把接口就当成协议

 

IO桥这里指南桥 北桥

可以不用IO桥吗

可以,如果没有IO桥,所有的“外设IO接口”都是直接挂接在三大高速总线上的,但是随着发展,挂接的外部设备越来越多,直接挂接在总线上,太多了,管理是一个麻烦,慢慢的才有了IO桥这个管理者。

IO桥的好处

设备的IO接口直接挂接在IO桥上,IO桥有效的管理着众多的外设IO接口,IO桥里面会有相应的控制芯片,控制IO桥的工作。

并不是计算机都需要IO桥

IO桥是PC机特有的,并不是所有的计算机都有的,比如我们后面讲的ARM的开发板,就没有明显的IO桥这个东西。

posted @ 2018-08-21 13:50  克拉默与矩阵  阅读(3561)  评论(0编辑  收藏  举报