zoukankan      html  css  js  c++  java
  • 计算机系统的硬件组成

      在《深入理解计算机系统》中,第一章主要讲的就是hello程序代码如何在计算机中执行,肯定离不开计算机的硬件支持,这里写下计算机系统中的硬件组成,主要就是下面四个大的方面。

    1、总线
    贯穿整个系统的是一组电子管道,称作总线,它携带信息字节并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各个系统都不尽相同。现在的大多数机器字长要么是是4个字节(32位),要么是8个字节(64位)。
    2、I/O设备
    I/O(输入/输出)设备是系统与外部世界的联系通道。我们的示例系统中包括四个I/O设备:作为用户输入的键盘和鼠标,作为用户输出的显示器,以及用于长期存储数据和程序的磁盘驱动器(简单来说就是磁盘)。最开始,可执行的程序hello就存放在磁盘上。
    每个I/O设备都通过一个控制器或适配器与I/O总线相连。控制器和适配器之间的区别主要在于它们的封装方式。控制器是I/O设备本身或者系统的主印制电路板(通常称作主板)上的芯片组。而适配器则是一块插在主板插槽上的卡槽。无论如何,它们的功能都是在I/O总线和I/O设备之间传递信息。
    3、主存
    主存是一个临时存储设备,在处理器临时执行程序时,用来存放程序和程序处理的数据。从物理来说,主存是由一组动态的随机存取存储器(DRAM)西片组成的。从逻辑上来说,存储器是一个线性的字节数组,每个字节都有其唯一的地址(数组索引),这些地址是从零开始的。一般来说,组成程序的每条机器指令都由不同数量的字节构成。
    4、处理器
    中央处理单元(CPU),简称处理器。是解释(或执行)存储在主存中的指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC)。在任何时刻,PC都是指向主存中的某条机器语言指令(即含有该条指令的地址)。
    从系统通电开始,直到系统断电,处理器一直在不断地执行程序计数器指向的指令,再更新程序计数器,使其指向下一条指令。处理器看上去是按照一个非常简单的指令执行模型来操作的,这个模型是由指令集架构决定的。在这个模型中,指令按照严格的顺序执行,而执行一条指令包括执行一系列的步骤。处理器从程序计数器指向的内存处读取指令,解释指令中的位,执行该指令的简单操作,然后更新PC,使其指向下一条指令,而这条指令并不一定是和内存中刚刚执行的指令相邻。
    这样的简单操作并不多,他们围绕着主存、寄存器文件和算术/逻辑单元(ALU)进行。寄存器文件是一个小的存储设备,由一些单个字节的寄存器组成,每个寄存器都有唯一的名字。ALU计算新的数据和地址值。下面是一些简单操作的例子。CPU在指令的要求下可能会执行这些操作。
    (1)加载:从主存复制一个字节或者一个字到寄存器,以覆盖寄存器原来的内容。
    (2)存储:从寄存器复制一个字节或者一个字到主存的某个位置,以覆盖这个位置上原来的内容。
    (3)操作:把两个寄存器的内容复制到ALU,ALU对这两个字做算术运算,并将结果存放到一个寄存器中,以覆盖该寄存器中原来的内容。
    (4)跳转:从指令本身中抽取一个字,并将这个字复制到程序计数器(PC)中,以覆盖PC中原来的值。

  • 相关阅读:
    17. Letter Combinations of a Phone Number
    16. 3Sum Closest
    15. 3Sum
    14. Longest Common Prefix
    13. Roman to Integer
    12. Integer to Roman
    11. Container With Most Water
    10. Regular Expression Matching
    9. Palindrome Number
    8. String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/ssh-html/p/8028805.html
Copyright © 2011-2022 走看看