初识体系结构

来源:互联网 发布:photoshop cc mac补丁 编辑:程序博客网 时间:2024/05/01 07:32

通过前面的解读,我们对计算机的体系结构有了一定的了解,特别是通过对硬盘读写的跟踪,我们知道了计算机里除了cpu外,还有一些设备控制器,和一系列设备,其中cpu指令控制设备控制器,设备控制器再控制设备完成具体的工作。

cpu寻址原理
现在,我们可以再往细里推进。我们现在更加认识到,cpu的核心功能是控制软件的自动执行以及完成计算指令,计算机指令中除了计算指令外,最重要的即使寻址指令了,也就是控制对存储空间的读写

cpu能够直接通过指令读写的存储空间是主存空间和控制器里的寄存器空间,如果在统一内存编址模式下,首先扫描一下总线上所有需要编址的设备以及需要的地址空间大小,然后进行统一管理,告诉他们自己的基址,然后,cpu读写指令,只需要往总线上发地址以及读写信号,这些数据首先流到北桥芯片中,北桥芯片判断总线上的地址空间是是否在pci等局部总线地址空间里,如果是,则数据读取由pci总线控制器来完成(这个以后再讲pci总线时再讲),如果不是,则由存储控制器来完成对主存的读写。

cpu设备控制的实现
再往细节跟踪cpu对io设备的读写。首先cpu一条读写指令传到北桥,北桥发现其在某个pci总线空间里,指令传到总线控制器,由总线控制器将指令数据往总线上发送,某个总线上的设备控制器发现这个地址在自己的地址空间里,则认领这个指令,然后解析指令,翻译成对设备的一系列指令。如读取指令,设备读取数据之后,发送到设备控制器的地址空间里,然后数据就可以被cpu读取了,或者由DMA控制器将数据直接发往主存。

cpu与设备,设备控制器的关系
可见,在这几个回合中,cpu, 控制器,设备都有自己的重要功能。cpu自动执行程序中一条条指令,如果是设备存储空间的读写命令,只管把命令编码之后往总线上发,这样减轻了cpu的复杂度。从cpu到设备管理器,则经过了北桥以及总线的路由,他们不具体执行指令,只是做路由。路由的前提是对每个设备管理器的空间进行了编址。设备管理器真正开始执行cpu的指令,但其实他只是将指令翻译成对具体设备的控制指令,他是一个商人或者贩子,不生产。而具体的设备则真正是功能的实现体。计算机能干什么事,靠的是他们,如打印机可以完成打印,硬盘可以完成存储,显示器可以完成数据的显示,扫描仪可以完成扫描。他们都有自己的功能设计,最后通过设备管理器来接收cpu指令控制,成为计算机的重要组成部分。

0 0