zoukankan      html  css  js  c++  java
  • 计算机硬件及组成

     目录

    一、计算机的组成

     现在计算机由5个部分组成:CPU、存储器、输入设备、输出设备、总线。

     CPU:由运算器和控制器组成。

     存储器:计算机中的存储器包括内存和磁盘。

     输入设备:如鼠标、键盘、扫描仪等。

     输出设备:打印机、显示器等。

     总线:负责计算机各种功能部件之间信息的传输。

    二、处理器

    计算机的核心CPU,其作用是从内存中取指令->解码->执行。

    取指令:将程序从内存取到指令寄存器的过程。

    解码:指令解码器对取出来的指令进行拆分解释。

    执行:将解码以后的命令进行执行。

    cpu会因为架构的不同,导致它的指令集会有所不同,所能执行的操作也会不一样。

    由于访问内存得到指令或数据这个过程话费的时间要比cpu执行指令花的时间多很多,所以每个cpu都有单独用来存储变量和临时数据的寄存器。

    计算机中的寄存器有4种:

    通用寄存器:用来保存运算过程中所产生的变量和临时结果。

    程序计数器:为了保证程序能执行下去,cpu需要有能存储下一条指令的功能,这也就是程序计数器的作用。

    堆栈指针:用来保存有关参数、局部变量,以及没有存储在通用寄存器里的临时变量。其中,栈具有后面先出的特性;堆则是先进先出。

    程序状态字寄存器(Process Satue Word,PSW):当程序运行的过程中,涉及到对硬件的访问时,cpu需要用它来控制程序访问权限的功能。

    计算机同一时刻只能运行一个程序。在计算机运行多个程序的过程中,由于时间片的轮转,当程序停止运行时,会将所有寄存器都停止并保存,供下一次程序运行时调用。

    处理器的演变:

    1.最初的处理器由取指、解码和执行三个过程,但当执行其中一个过程时,另外两个过程都会停止,时间浪费严重。

    2.后来采用流水线的方式,取指令n时,可以对指令n+1解码,执行n+2指令。

    3.多条指令同时被取出、解码,并把这些指令保存在同一个缓冲区,直到他们都被执行。在执行效率比2更高的同时,但有可能出现程序的指令不按顺序执行的问题

     

    内核态和用户态:

    内核态:当cpu处于该状态时,程序可以执行所用的cpu指令集,包括对硬件的访问

    用户态:与内核态相比,只能使用cpu部分指令集,不包括操作硬件的部分。同时也不能访问操作系统所占用的那部分内存。

    用户态和内核态的切换,当用户程序要访问磁盘的文件时,该过程需要系统调度(system call),系统调用陷入内核态并调用操作系统,TRAP指令把用户态切换为内核态,并启用操作系统从而获得服务。

    三、存储器

    常用的存储器

    1.寄存器:即L1缓存,位于cpu内。采用了和cpu同材质,可以匹配cpu的访问速度。

    2.高速缓存:即L2缓存。经常用使用的数据存在里面。当程序要读取一个字,首先查找的是高速缓存,如果要查找的内容在高速缓存,则称之为“高速缓存命中”,该过程通常需2个时钟周期。若未找到,则会到内存中去找。

    3.内存:计算机里的主存,也叫随机访问存储RAM,具有易失性,在断点以后数据会丢失。

            除了上述RAM,还有非易失性随机访问存储ROM,典型的例子BIOS里的程序。还有EEPROM(电可擦除可编程ROM)和闪存(flash memory)都是非易失性的。

           还有CMOS存储器,也具有易失性,主板上的CMOS需要额外电池供电,保存当前时间,BIOS的配置等。

    4.磁盘:数据存放在一段一段的扇区,即一圈一圈的磁道里。

      8bit=1bytes

      1024bytes=1kb

      1024kb=1Mb

      1024Mb=1Gb

           Linux中:一个扇区是512字节

                       8个扇区为1个block(512bytes*8=4kB)

          从磁盘中读取数据需要经历寻道时间和延迟时间

      平均寻道时间:机械手臂移动到相邻的柱面,到读取到所需数据的圈圈所需的最长时间和最短时间的均值。

      平均延迟时间:机械臂到达正确的磁道后,仍要等待旋转到说要读取的数据的扇区的时间。

      虚拟内存:在磁盘上划出一片区域充当内存的作用,但因磁盘访问速度比较慢,所以会将不怎么重要的数据存储到虚拟内存。但两者之间也保持映射关系,由cpu的一个部件MMU(Memory management unit)负责.

      PS:从一个程序切换到另一个程序的过程叫“上下文切换”。

      5.磁带:相比硬盘有更高的存储容量,但速度比较慢。常用在服务器或图书馆的重要文件备份。

    四、I/O设备

    I/O设备主要有两个部分:设备控制器和设备本身。

    控制器主要负责控制设备的连接,从操作系统接收命令,数据交换。

    设备本身:根据该接口的标准编写相应的驱动程序,安装到操作系统供调用。

    五、总线

    总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。

    计算机的总线可以划分为数据总线、地址总线和控制总线.

    • 数据总线(Data Bus):在CPU与RAM之间传送需要处理或需要储存的数据。
    • 地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
    • 控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号传送到周边设备,一般常见的为 USB Bus和1394 Bus。

    PCI桥即北桥:连接高速设备

    ISA桥即南桥:连接慢速设备

     

    六、启动计算机

         1.计算机通电。

         2.BIOS开始运行,检测硬件:cpu、内存、硬盘等。

         3.CMOS里保存的参数就会被调用,并启动相应的设备。

         4.然后起动设备读取第一个扇区里的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)。

         5.根据分区信息启动bootloader启动加载模块,启动操作系统。(同时这一块内存被保护起来)

         6.操作系统询问BIOS,获取配置信息。检测每种硬件是否存在,若存在则操作系统就把他加载到内核。然后初始化有关表格,加载进程。

    七、启动应用程序

    1.双击桌面图标

    2.操作系统切换到内核态从磁盘找到应用程序,并读入内存。

    3.cpu从内存读取指令,并执行。

    4.将结果显示在显示器。

    新的知识来源于对现有资源最广泛的认识,和最有创新的运用 --富兰克林
  • 相关阅读:
    正则表达式的学习笔记
    apply()的使用
    for循环性能测试
    js基础复习~Array对象
    判断值是否为undefined
    layui 单选框取消选中
    layui 表单验证
    火狐浏览器下,表头边框无效
    css3 宽度百分比减去固定宽度 无效问题
    javaScript中的 call 和 apply
  • 原文地址:https://www.cnblogs.com/yangzhenwei123/p/6532617.html
Copyright © 2011-2022 走看看