• 计算机硬件


    1,cpu内存硬盘                                                                        

       CPU(中央处理器)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算

    机软件中的数据。CPU主要包括运算器和高速缓存存储器及实现它们之间联系的数据、控制及状态的总线。它与内部存储器和输入/输出

    (I/O)设备合称为电子计算机三大核心部件。

      内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计

    算机的影响非常大。内存也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计

    算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳

    定运行。

      硬盘有机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD

    采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,

    永久性地密封固定在硬盘驱动器中。

    如上图所示,CPU与内存和硬盘之间的关系是:CPU如果要运行一个程序,那么他需要到内存(临时性,断电则信息全部丢失)中去找

    到需要运行的文件,硬盘则需要将CPU要运行的文件放入内存中待CPU运行,CPU运行的结果最后存到具有永久保存性的硬盘之中。

    2,cpu之寄存器                                                                         

      寄存器是CPU内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。

      寄存器可以分为通用寄存器、程序计数器、堆栈指针、程序状态字寄存器(PSW)这几类。

      通用寄存器:保存变量和临时结果,存一些关键数据和变量的寄存器。

      程序计数器:保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令。(旁白:CPU要运行

    很多或者一些时间较长的程序时,CPU的工作是每一个程序多一部分,然后停止这是程序计数器负责保存这个工作记录,CPU再去做下一

    件事情,再这样的分布多点的工作时,需要程序计数器帮忙保存CPU工作记录和调取保存的工作记录以便CPU继续行。)

       堆栈指针:指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关

    的输入参数、局部变量以及那些没有保存在寄存器中的临时变量。(旁白:堆栈就是先进后出,队列先进先出。吃拉吐举例,汗~~!)

      程序状态字寄存器(PSW):一个非常重要的寄存器,这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),

    以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW狠重要。

     由PSW引出用户态和内核态,多数CPU都有两种模式,即内核态与用户态。

      内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,包含使用硬件的所有功能。

      用户态:程序在用户态下运行,只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在

    用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成

    内核态也是禁止的。

      (旁白:当操作系统对CPU发号施令来执行操作时,CPU是允许其执行任何操作的,包括操作硬件,任何操作都可以执行,这就是内核态,

    当应用程序给CPU发指令来执行操作时,CPU是会限制其操作硬件的,这就是用户态。我们平时的操作时会有许多内核态与用户态的状态

    变化,就是一会要内核态执行操作一会要用户态执行操作,这中间程序状态字寄存器就起到重要作用,方便我们来回切换两种操作状态。)

    3,cpu的设计演变                                                                       

     

      CPU内部指令集执行命令的过程是取指-解码-执行,如上图所示。

      CPU的演变进程中,它的运行效率一直再提升,运行方式也是一直在优化。最开始取值、解码、执行这三个过程是同时进行的,其中一个

    过程完成都需要等待其余两个过程执行完毕,会造成时间浪费;后来被设计成了流水线式的设计;再后面是超变量cpu,比流水线更加先进,

    有多个执行单元,可以同时负责不同的事情。

    4,cpu的向下兼容型                                                                    

      兼容性是指硬件之间、软件之间或是软硬件组合系统之间的相互协调工作的程度。兼容的概念比较广,相对于硬件来说,几种不同的电脑

    部件,如CPU、主板、显示卡等,如果在工作时能够相互配合、稳定地工作,就说它们之间的兼容性比较好,反之就是兼容性不好。

      CPU的向下兼容性,是指64位CPU能处理32位CPU的任务,但反之32位CPU能不能处理(或者处理时会出错)64位CPU的任务。级别高

    的可以包含级别低的,反之则会出错。

    5,存储器                                                                                   

     

      寄存器:L1缓存,位于CPU内部,与cpu同材质,与cpu一样快,cpu访问它无时延,容量小,存放CPU立即要用的数据。

      缓存:即使L2缓存(也叫高级缓存),价格昂贵,所以其大小有限,有些机器具有两级甚至三级高速缓存,每一级高速缓存比前一级

    慢但是容量大。它的存在也是分担CPU使用缓存的压力,CPU经常要用的一些数据就是放于L2缓存。这里又分为两种:高速缓存命中和

    高速缓存未命中。高速缓存命中:当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中,找到了

    就是命中。高速缓存未命中:高速缓存硬件检查所需要的高速缓存行未找到需要读取的存储字,则是未命中,这是就必须访问内存,当

    然这样时间也会浪费大量时间。

      主存:也就是内存,是存储器系统的主力,主存通常称为随机访问存储RAM,就是我们通常所说的内存,容量一直在不断攀升,所有不

    能再高速缓存中找到的,都会到主存中找,主存是易失性存储,断电后数据全部消失。

      EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的但是与ROM相

    反,他们可以擦除和重写。不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中

    的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,

    就被磨损了。

      还有一类存储器就是CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由

    一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,哪一个是启

    动磁盘等,之所以采用CMOS是因为它耗电非常少,一块工厂原装电池往往能使用若干年,但是当电池失效时,相关的配置和时间等都将

    丢失。

    6,磁盘                                                                                     

    磁盘,分为5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 ),内部有机械臂、磁头、盘片、转轴等,

    信息存在磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计方法,8个bit称为一个字节bytes,1024bytes=1k,

    1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。每个磁头可以读取一段换新区域,

    称为磁道,每个磁道划成若干扇区,扇区典型的值是512字节

      虚拟内存:许多计算机支持虚拟内存机制,该机制使计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存取执行,

    而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存,在linux中成为swap,这种机制的核心在于快速地映射内存

    地址,由cpu中的一个部件负责,成为存储器管理单元(Memory Management Unit MMU)如上图所示,缓存和MMU的出现提

    升了系统的性能。

    7,磁带                                                                                     

    价钱相同的情况下比硬盘拥有更高的存储容量,速度低于磁盘,但容量大,可移动性强,常被用来做备份,常见于大型数据库系统。

    8,控制器与多总线                                                                       

     cpu和存储器并不是操作系统唯一需要管理的资源,I/O设备也是非常重要的一环。

      I/O设备一般包括两个部分:设备控制器和设备本身。

      I/O:Input/Output,输入/输出。

      控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制

    连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。

      控制器的功能:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作

    系统一个简单而清晰的接口

      多总线连接,是指计算机内部的各个部件串联起来,每一个构建都有线路连接起来,构成了整个线路网,分为北桥和南桥。

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

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

    9,操作系统的启动原理                                                                 

     计算机加电之后开始启动:

    ⑴计算机首先会运行一个程序(小的操作系统),即BIOS(Basic  Input Output system),它有底层的I/O软件,包括读键盘,写

    屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。

    ⑵BIOS开始运行,会检测硬件如cpu、内存、硬盘等一些硬件的性能运行是否正常,正常的话就会顺利运行,不正常则无法继续进行。

    ⑶BIOS读取CMOS存储器中的参数,选择启动设备。

    ⑷从启动设备上读取需要的内容,然后根据信息启动预先设置的好的模块,启动操作系统。

    ⑸然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按

    照设备装在驱动程序。当所有驱动程序都完毕,则继续进行到登入程序,并最终显示计算机桌面。

    10,应用软件的启动流程                                                              

    ⑴双击应用程序,将命令交给输入设备,输入设备再交给设备控制器,设备控制器再交给操作系统。(相当于我们给操作系统发送了一个

    要操作硬件的请求,因应用程序的文件存储于硬盘中)

    ⑵操作系统去硬盘中找到需要文件独到内存中

    ⑶操作系统支配CPU去内存中找到需要的文件解码后并执行

    ⑷应用程序启动起来

  • 相关阅读:
    ffmpeg rtmp推流 视频转码
    java日志发展史 log4j slf4j log4j2 jul jcl 日志和各种桥接包的关系
    nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
    java web http 转https 通过nginx代理访问
    linux 服务器磁盘挂载
    novnc 通过websockify代理 配置多点访问
    linux 文件服务 minio 安装部署配置
    AOP实现原理,手写aop
    java 泛型
    JAVA反射getGenericSuperclass()用法
  • 原文地址:https://www.cnblogs.com/wangyongsong/p/6536862.html
Copyright © 2020-2023  润新知