zoukankan      html  css  js  c++  java
  • 计算机硬件组成(2)

    上节课回顾:

    一.软件的开发流程:

    1.需求分析阶段:

    PM产品经理调研市场,分析需求,画出原型草图,召集相关技术人员开需求分析会,明确需求。

    2.项目开发阶段

    2.1项目设计

    大家分头行动,UE与PM经常沟通,出交互原型图,UI根据原型图画出设计图,FE拿到设计图,理解需求设计前端,RD后端技术设计,QA设计测试用例,运维人员要设计好架构设计。

    2.2项目开发

    前后端确定开发项目整体结构,前端、程序、数据库之间的对接方式,定制开发规范、代码规范、源码管理、版本管理,然后分头开发。

    2.3项目测试
    开发人员进行code review,过一遍代码,审查一下,开发人员自测,改bug,QA专业测试,开发人员改bug

    2.4项目上线
    运维人员编写上线方案,测试

    2.5环境
    测试、staging、线上1:1

    2、服务器的分类
    尺寸:1u=4.45cm
    外形:机架
    刀片:集群

    塔式

    小型机:高端定制

    ps:云主机(虚拟机)
    阿里云、腾讯云、青云、ucloud

    今日内容

    一 计算机的硬件组成

    计算机(电脑)====》模仿人

    大前提:计算机的所有组成都是模仿人的某一器官或者功能去设计的

    五大组成部分:


    控制器:是计算机的指挥系统,负责控制所有其他硬件的运行————-》大脑

        (控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根据指令分析结果产生相应的操作控制信号作用于其他部件,使得各部件在控制器控制下有条不紊地协调工作。)

    运算器:负责数学运算与逻辑运算—————————————–》大脑

    控制器+运算器=》cpu (中央处理器)

    其中运算器用来主要负责程序运算与逻辑判断,控制器则主要协调各组件和各单元的工作,所以CPU的工作主要在于管理和运算。可以说计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。 

    既然CPU的重点在于进行运算和判断,那么要被运算与判断的数据是从哪里来的?CPU读取的数据都是从主存储器(内存)来的!主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。

    存储器:存取数据
    内存:比如内存条—————————————-》大脑的记忆功能
    基于电存取数据,断电数据全部丢失
    用于临时保存数据,存取速度都快

    外存:比如磁盘——————————————》本子
    基于磁存取数据,断电数据仍然存在
    用于永久保存数据,存取速度都慢

    输入设备:键盘、鼠标

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

    总结1:
    人——-程序———》计算机硬件
    人——-程序———》cpu——》计算机其他硬件

    总结2:

    程序的运行与计算机三大核心硬件:cpu、内存、硬件的关系:
    程序首先是存放于硬盘中的
    程序的运行需要先经历加载的过程——》程序的代码/数据从硬盘读入内存
    然后cpu再从内存中读取指令来运行

    总结3:

    CPU、内存(主存储器)以及其他I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信 

    案列:

    cpu是人的大脑,负责控制全身和运算

    内存是人的记忆,负责临时存储

    硬盘是人的笔记本,负责永久存储

    输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存

    输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果

    以上所有的设备都通过总线连接,总线相当于人的神经

    上课开始,老师讲课,学生听课,老师是程序员,学生是计算机,学生的器官都是计算机各部分组成

    1.你通过耳朵接收老师讲的知识->输入

    2.通过自己的神经,将接收的数据存入自己的内存/短期记忆(总线、内存)

    3.光听不行,你还需要反应/处理老师讲的知识,于是你的大脑/cpu从短期记忆里取出知识/指令,分析知识/指令,然后学习知识/执行指令 (cpu取指、分析、执行)

    4.你通过作业或者说话输出你学到的结果

    5.你想要永久将知识保存下来,只能拿出一个笔记本,把刚刚学会的知识都写到本子上,这个本子就是硬盘(磁盘)

    ps:
    安装软件都装到硬盘里,软件的运行都是把数据加载到内存中了
    所以说计算机硬盘的大小决定了能够安装的软件数目
    而计算机内存的大小决定了计算机能够同时运行的软件数目

    二 cpu详解

    取指—-》解码—-》运行

    寄存器=》与cpu一样的材质制成,速度非常快,无延迟

    CPU分为精简指令集,复杂指令集

    cpu 32位(二进制)-》只能运行32位的软件
    cpu 64位-》既能运行32位的软件又能运行64位的软件

    64位  
    cpu的位数指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
        在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,到现在,个人计算机CPU通常都是x86_64的架构。
        cpu具有向下兼容性,指的是64位的cpu既可以运行64位的软件,也可以运行32位的软件,而32位的cpu只能运行32位的软件。这其实很好理解,如果把cpu的位数当成是车道的宽,而内存中软件的指令当做是待通行的车辆,宽64的车道每次肯定既可以通行64辆车,也可以通信32辆车,而宽32的车道每次却只能通行32辆车
     

    cpu具有向下兼容性

    x86(CPU型号)=》复杂指令集

    x86是针对cpu的型号或者说架构的一种统称,详细地讲,最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386....,因此这种架构的CPU就被统称为x86架构了。
            
        由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机!
        程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合,举个例子,我们在MySQL官网下载软件MySQL时名字为:
          Windows(x86,32-bit),ZIP Archive
          (mysql-5.7.20-win32.zip)  
    我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。

    x86-64(*****)

    摩尔定律:CPU有多条线程

    cpu:2核4线程(****)

    2核-》2个cpu核心

    每个核内部有两条流水线=》2核有4条流水线

     

     

     

     

    三 存储器详解

    寄存器-》L1
    高速缓存-》L2

    内存
    RAM=》内存
    ROM=》只读内存,存取速度与内存一样,只能用于读,断电数据不丢失

    内存中存放都是cpu要运行的程序
    RAM=》qq、暴风影音、微信、爱奇艺视频
    ROM=》BIOS(操作系统)(Basic Input Output System基本的输入输出操作系统)

    cpu (计算机启动CPU先运行BIOS系统,再去安装硬盘启动win系统)

    ROM(BIOS系统)             RAM(windows系统)

    硬盘(windows系统)

    CMOS(耗电低,断电即消失)

  • 相关阅读:
    16平衡树
    15二叉检索树
    11用户权限
    10触发器
    8函数
    8存储过程
    linux下如何进入单用户模式
    RHEL6.4 字符模式下安装图形界面图文教程
    杂记
    Java内存管理(一):深入Java内存区域
  • 原文地址:https://www.cnblogs.com/taoxiaoxin/p/13758931.html
Copyright © 2011-2022 走看看