存储和服务器的三大件②

存储和服务器的三大件数据库

从底层原理实现角度来看,存储和服务器的物理硬件本质都是三大件:CPU、内存和I/O的组合运用。小程序

2、服务器对于三大件的组合运用

从电脑的角度看,服务器也是电脑,只是比普通的电脑更复杂更先进而已。服务器的诞生,是为了处理企业级的应用,使工做协同性变得更高。因此服务器和家用的电脑相比,最重要的一点就是要稳定、安全、少出错。服务器上面运行的应用程序、数据库对于企业来讲是很是重要的,因此服务器级别的内存、硬盘、网卡、CPU等等的性能和稳定性,理论上来讲会比普通电脑要高出一些。因此服务器CPU、内存、硬盘、网卡等配件均进行了技术升级,使之更加安全稳定。可是其针对CPU、内存及I/O设备的组合运用并没有区别。在高端的服务器中,因为支持多路CPU、内存及I/O设备,所以其组合运用方式会更加复杂。安全

1.系统总线组合阶段

在系统总线组合阶段,经过系统总线将CPU芯片、内存和I/O设备链接起来,实现相互间的通信和协同工做,实现了最原始的组合运用,也实现了最基础的计算功能。服务器

服务器或者电脑从最开始的架构设计之初,针对CPU、内存及I/O设备的组合运用是最粗暴简单的,其经过一条系统总线将CPU、内存及I/O设备链接起来,CPU、内存及I/O设备的通信必须经过系统总线进行传输和同步,因为设备之间的差别性,在这个简单的数字系统中,为了确保内部全部硬件单元可以协同快速工做,CPU架构工程师们就设计了一套时钟信号与系统同步进行操做,由CPU来决定其余设备工做在什么频率上,保证全部的设备都在同步的模式下面工做。在这样的模式下,全部的设备都会被限定在一个被全部设备所能承受的通用时钟频率上面,即产生所谓的"互锁"效应,木桶原理告诉咱们,这种状况下系统的总体性能会被最低频率的设备拉低。架构

下图显示了最开始的计算机系统的基本框图。它由CPU,内存(RAM)和许多I/O设备组成。全部这些都经过系统总线链接。CPU执行存储在内存中的指令。这些指令能够从内存或I/O设备中读取数据,并能够操做这些数据,以及将结果数据写入内存或I/O设备中。ide

clip_image002

这种体系结构的计算机第一次怎么启动,由于内存中并不存在启动代码。为了解决系统总线直连计算机的启动问题,最开始的解决方案是使用一个前面板(The front panel)来控制计算机的启动过程,以后才采用ROM方式来控制计算机的启动。性能

前面板架构设计图:操作系统

clip_image004

前面板的设计原理是,经过在一个金属面板上添加带有指示灯、拨动开关和按钮的设备,这些设备经过导线和总线相链接,而后使用一行灯来表示一个或多个硬件寄存器的内容,并容许在机器中止时直接读取内容。在计算机第一次启动时,经过前面板进行启动引导,一般须要执行一系列复杂的操做。首先操做员须要将具备包含一系列短引导指令的程序指令使用前面板的切换开关手动输入其中。第一步须要设置“地址”信息,并经过设置地址的开关将二进制形式的地址表示信息数据输入进去,前面板上会存在专门的二进制数字按钮,好比DEC PDP-8或MITS Altair 8800的二进制数字在前面板上分组为三个,每组灯或开关表明0到7之间的单个八进制数字。接下来,操做员将设置地址的“值”,经过“值”的开关而后输入用于该地址的值。而后操做员将设置引导程序的起始地址,并启动“RUN”开关开始执行程序。引导程序一般从打孔的纸带读取和加载程序,并最终将计算机运行起来。架构设计

前面板能够控制内存控制器、CPU寄存器合其余I/O设备的寄存器地址,用户能够设置要检查或更改的寄存器地址,将新数据写入寄存器位置,而且可复位、启动和中止CPU。大多数前面板提供了一种读取和写入单个CPU寄存器的方法,在经过前面板输入指令的状况下,CPU会一次一个指令地逐步执行程序。设计

下图展现了System/360 Model 91的前面板实物图(图片来自维基百科)

clip_image006

在20世纪50年代后期,计算机是一台至关庞大且昂贵的机器。它的成本在当时远远高于豪华轿车甚至是房子,并且一个面积庞大尽是开关和灯的前面板也相对地增长了计算机的成本。当计算机通电时,CPU还没有运行,操做员可使用前面板在没有CPU帮助的状况下读取和写入内存的内容。当合适的程序存储到内存中,操做员将前面板开关设置到RUN位置时,CPU就会开始运行。1975年以前制造的大多数计算机都有这样的前面板。

每次计算机上电时,操做员都必须将引导程序输入内存,该内存将从I/O设备(例如读卡器,磁带或磁盘)读取一些数据。加载的数据造成一个小程序,而后加载更多数据,直到加载整个操做系统或应用程序。根据当时的电子计算机架构和I/O设备的类型,这些指令大概有数十条指令数的规模,每次机器上电时都必须逐位输入。

为了解决繁琐的计算机系统启动问题,内存须要使用非易失性存储介质,保存位于内存中的启动代码数据,确保关机状态下启动指令仍然存储在内存中。当CPU启动时,计算机就开始从内存中明肯定义的位置读取并执行指令。从20世纪50年代后期到20世纪70年代早期,大多数计算机使用核心存储器来存储内存数据,这种存储是非易失性的。即当咱们启动计算机时,内存仍然包含上次使用机器时存储的内容。

系统启动以后,为了更进一步解决前面板后续的I/O设备初始化和操做繁琐的问题,有些计算机设计们向CPU添加了逻辑,这样CPU就能够本身从I/O设备中加载启动代码,而不须要内存中的任何指令。操做员只需按下正确的按钮,便可从正确的设备中选择自动启动加载代码和运行I/O设备。

当计算机的硬件成本由于科技的进步和工艺制做的提高而变得更加便宜时,费用昂贵、面积庞大且明显不友好的前面板就成为了急需解决的问题,此外,内存的保存特性使得内存的容量没法知足系统的需求,扩充容量就会形成成本居高不下。所以架构师们就设计出了ROM(只读存储器)以及CRT(显像管)用于替代前面板的功能,并使用大容量的内存元器件,将计算机运行所必需的程序放到ROM中。在20世纪70年代末和80年代初,除了一些早期微型计算机仍然有一个前面板外,绝大多数微型计算机都已经更换到ROM和CRT。

ROM的做用是:当计算机通电时,CPU开始从明肯定义的地址执行指令,该地址指向只读存储器(ROM),以下图所示。ROM中的程序控制计算机启动的功能。

clip_image008

ROM内部的数据是在ROM的制造工序中,在工厂里用特殊的方法烧录进去的,其中的内容只能读不能改,一旦烧录进去,用户只能验证写入的数据是否正确,不能再做任何修改。若是发现数据有错误,则只有舍弃不用,从新订作一份。ROM解决了前面板启动电子计算机繁琐的问题,使得计算机的启动变得便捷许多,可是,这样也存在着弊端。因为ROM定义了计算机内部元件的寄存器地址及启动地址信息等内容,计算机的功能就不在仅由其硬件决定,并且由存储在其ROM中的程序决定。简单来讲就是ROM限制了计算机的特定规格。

ROM中软件的范围在计算机系统之间差别很大。在某些机器中,ROM只是将软盘的第一个扇区加载到内存中,而后加载CPU跳转到内存中的这段程序去运行。刚加载的程序会将操做系统从软盘加载到内存。若是软盘中没有合适的系统盘,计算机就彻底没法启动了,会提示找不到启动文件。另外一方面,若是ROM可将硬盘的启动扇区加载到内存中并从这段程序运行,从而加载硬盘上的操做系统。在许多计算机中,ROM中的程序肯定了计算机能够作什么以及以以什么方式作事。通常来讲内存大小一般很是有限,若是将重要程序(或操做系统)存储在ROM中意味着能够为应用程序或数据提供更多内存空间,此外也能够加速操做系统的启动速度。基于这样的设计和理念,有些计算机就在ROM中嵌入了很是有限的固件,这些计算机在ROM上有大量程序,包括操做系统,这样的计算机将操做系统及功能实现均烧录在了ROM中。

从今天计算机的组件来看,组成计算机的每一个组件均包含了芯片、内存及I/O这三部分核心的基础元件。其中大部分模块或组件的操做系统均烧录在了组件自身的ROM中,ROM有些组件独立,有些组件和内存及芯片等彻底集成在同一个芯片模组中。

相关文章
相关标签/搜索