计算机系统的硬件组成

1、总线
贯穿整个系统的是一组电子管道,称为总线(bus)。它携带信息字节并负责在各个部件之间传递。通常总线被设计成传送定长的字节快,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各个系统中都不尽相同。现在大多数机器字长要么是4个字节即32位,要么是8个字节(64位)。
2、I/O设备
输入设备:键盘、鼠标
输出设备:显示器
存储数据:磁盘
每个I/O设备都通过一个控制器或适配器与I/O总线相连。控制器与适配器之间的区别主要在于它们的封装方式。控制器是I/O设备本身或者系统的主印刷电路板(通常称作主板)上的芯片组。而适配器则是一块在主板插槽上的卡。无论如何,它们的功能都是在I/O总线和I/O设备之间传递信息。
3、主存:
或者叫内存,是一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。从物理上说,主存是由一组动态随机存取存储器(DRAM)芯片组成的。从逻辑上说,存储器是一个线性的字节数组,每个字节都有唯一地址(数组索引),索引地址从0开始。
4、中央处理器(CPU)
中央处理单元,简称处理器。是解释(或执行)存储在内存中的指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC)。在任何时刻,PC都指向内存中的某条机器指令。
从系统通电开始,直到系统断电,处理器一直不断地执行程序计数器指向的指令,再更新程序计数器,使其指向下一条指令。处理器看上去是按照一个非常简单的指令执行模型来操作的,这个模型是由指令集架构决定的。在这个模型中,指令按照严格的顺序执行,而执行一条指令包含执行一系列的步骤。处理器从程序计数器指向的内存处读取指令,解释指令中的位,执行该指令指示的简单操作,然后更新PC,使其指向下一条指令,而这条指令并不一定和在内存中的刚刚执行的指令相邻。
这样的简单操作并不多,他们围绕着内存、寄存器文件(register file)和算术/逻辑处理单元(ALU)进行。寄存器是一个很小的存储设备,由一些单个字长的寄存器组成,每个寄存器都有唯一的名字。ALU计算新的数据和地址值。
下图是一个典型的系统硬件的组成:
计算机系统硬件组成
根据机械原理,较大的存储设备要比较小的存储设备运行得慢,而快速设备的造价远高于同类的低速设备。比如说,一个典型系统上的磁盘启动器可能比主存大1000倍,但是对于处理器而言,从磁盘启动器上读取一个字的时间开销要比从主存中读取的开销大1000万倍。类似地,一个典型的寄存器文件值只存储几百字节的信息,而主存里可存放几十亿字节。然而,处理器从寄存器文件中读取数据比从主存中读取几乎要快100倍。随着这些年半导体技术的进步,这种处理器与主存之间的差距还在持续增大。加快处理器的运行速度比加快主存的运行速度要容易和便宜得多。
针对这种病处理器与主存之间的差异,系统设计者采用了更小更快的存储设备,称为高速缓存储存器,作为暂时的集结区域,存放处理器近期可能会需要的信息。
高速缓存器
5、操作系统管理文件
操作系统有两个基本功能:(1)防止硬件被失控的应用滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。操作系统通过几个基本的抽象概念(进程、虚拟内存和文件)来实现这两个功能。
进程:是操作系统对一个正在进行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。而并发运行,则是说一个进程的指令和另一个进程的指令交错执行的。操作系统实现这种交错执行的机制称为上下文切换。何为上下文?上下文就是操作系统保持跟踪进程运行所需的所有状态信息的状态。
线程:通常我们认为一个进程只有单一的控制流,但是在现代系统中,一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。由于网络服务器中对并行处理的需求,线程成为越来越重要的编程模型,因为多线程之间比多进程之间更容易共享数据,也因为线程一般来说都比进程更高效。
虚拟内存:虚拟内存是一个抽象概念,它为每个进程提供了一个假象,即每个进程都在独占地使用主存。每个进程看到的内存都是一致的,称为虚拟地址空间。在Linux中,地址空间最上面的区域是保留给操作系统中的代码和数据的,这对所有进程来说都是一样。地址空间的底部区域存放用户进程定义的代码和数据。
在这里插入图片描述
6、文件
文件就是字节序列,仅此而已。每个I/O设备,甚至网络,都可以看成是文件。系统中的所有输入输出都是通过使用一小组称为Unix I/O的系统函数调用读写文件来实现的。
7、网络通信
实际上,现代系统经常通过网络和其他系统连接到一起。从一个单独的系统来看,网络可视为一个I/O设备。当系统主从复制一串字节到网络适配器时,数据流经过网络到达另一台机器,而不是比如说到本地磁盘启动器。相似地,系统可以读取从其他机器发送来的数据,并把数据复制到自己的主从。

摘自《深入理解计算机系统》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值