计算机硬件的基本组成-大框架的建立

目录

  • 计算机硬件的基本组成-大框架的建立

    • 一、计算机体系的三层结构
    • 二、计算机硬件的三大核心
      • 2.1 cpu
      • 2.2 存储器
      • 3.输入输出设备
    • 三、计算机是如何启动的
      • 3.1 BIOS
      • 3.2 计算机的启动流程

计算机硬件的基本组成-大框架的建立

首先看一下计算机大概体系。

一、计算机体系的三层结构

  软件相当于灵魂,向计算机发出指令。如果计算机没有运行软件,那么这台计算机是不能操作的。计算机大体上是分为两个部分:硬件和软件。但是为了更清晰的理解,把软件也大概分为了两个部分。

?  计算机在大方面上是由三部分组成的:

  1. 应用程序。位于计算机的上层。比如QQ,微信等,都是我们在计算机上运行的程序。
  2. 操作系统。位于计算机体系中间层。比如win7,mac等,也是属于软件部分,但是操作系统是直接和计算机硬件打交道的,一般我们说的重装系统就是这个操作系统。
  3. 计算机硬件。位于计算机体系的底层。是我们肉眼所能看到的机器各样的零件。

二、计算机硬件的三大核心

?  计算机硬件的核心一共有三种分别是cpu、存储器、I\O设备。

下面逐条分析。

2.1 cpu

  cpu是计算机的最最核心的硬件,相当于人的大脑,在接到软件下发的指令之后,向计算机各个部位发送指令,统筹协调各个部位的运转,共同完成下达的任务。

2.1.1 cpu内的指令集

?  cpu内含有丰富的指令集,软件下达的指令,会对比cpu内的指令集然后在去实现对应的功能。指令集分为两种:

  1. 精简指令集(SISC)。每一个指令都能实现简单的功能,执行效率高,一般手机上使用这种cpu.
  2. 复杂指令集(CISC)。每一个指令实现的功能较为复杂,相比较精简指令集,容易出错,执行效率较低,但是使用较为简单方便,一般用于电脑。

2.1.2 x-86 64位是什么意思呢

?  cpu在最开始被研究出来的所起的一种系列的名字, 然后后来就一直称为x-86。知道大概就可以吹了,不要过分深究,我也就知道这么多。

?  那么64位呢?就是说cpu一次从内存中取出来的二进制位数。32位,就是cpu一次取出32位二进制,现在32位基本淘汰了,大家可以放心大胆的使用64位的,而且64位还可以运行32位,会在前面补32个0.

2.1.3 cpu的内部构造

?  cpu内部有三种部件:

  1. 控制器。这是计算机最核心的功能,是计算机的司令部,控制各个硬件的运行。
  2. 运算器。只进行逻辑相关的运算和数学运算。
  3. 寄存器。属于内存,L1级别,但是在cpu内部,是采用与cpu相同的材质制成的,存放有cpu下步非常急需的变量等,存在的意义是为了加快运行速度。

  高度缓存也是内存的一种,属于L2级别,造价昂贵。有的位于cpu内部,有的位于外部,有三种级别的缓存。

2.1.4 cpu的两种状态

  cpu在运行的时候有两种工作状态:

  1. 内核态。此时cpu上运行的是操作系统。可以操控计算机的硬件和运算相关的指令。
  2. 用户态。此时cpu上运行的是应用程序。不能操控计算机硬件。

  cpu的工作状态在两者之间频繁切换,当我们运行程序时,处于用户态,但是一旦涉及到需要操控计算机硬件 ,那么计算机就会切换到内核态。

2.2 存储器

?  存储器分为寄存器、高速缓存、内存和外存等,功能也有多不同,我们主要说内存。

2.2.1 内存

?  理论上来说,cpu可以直接与硬盘进行沟通,但是运行速度太慢,就在中间加个内存。内存中的数据断电就会消失,不能永久保存。

2.2.2 内存被称为主存

?  程序的运行一般都先从硬盘里读取到内存,然后cpu提取到内存中的指令,然后开始运行,再讲运行结果返回给内存。同样地,输入设备等的信息都需要通过内存,然后在由cpu运行。所以,内存是沟通cpu和硬盘等的必经之路,所以称之为内存。

2.2.3内存的分类

?  内存主要分为RAM和ROM。

  1. RAM。可读可写的内存。
  2. ROM。可读不可写。在生产出来的时候已经由厂商制定好了。上面存放有BIOS系统,保证电脑在还没安装操作系统的时候能有个基本的输入输出的操作。

2.2.4 CMOS

?  CMOS也是属于内存RAM的一种,耗电量极低,且由主板上的电池供电,上面存放一些基本的配置信息,如时间等,电脑开机以后的时间之所以准确就是因为CMOS的原因。接下来在计算机的启动会详细讲解。

2.2.5硬盘

?  计算机的文件是保存在硬盘上的,硬盘上的数据被读取到内存上,然后cpu进行分析、识别、执行。所以,运行顺序是:硬盘==》内存==》cpu==》内存==》硬盘。硬盘的运行时间长主要是因为寻找数据的时间,被称为IO延迟。

?  IO延迟 = 平均寻道时间+平均延迟时间

?  平均寻道时间:机械手臂在硬盘上的不同磁道中发现数据所在磁道的时间。

?  平均延迟时间:是寻找所在磁道中该数据位置的时间,平均累计为半圈。

3.输入输出设备

  顾名思义,就是输入设备及输出设备,是计算机从外界获取和显示数据的设备。

  1. 输入设备:鼠标键盘等。
  2. 输出设备:打印机、显示屏等。

三、计算机是如何启动的

?  前面已经知道计算机的三层体系了,分别是计算机硬件、操作系统、应用软件。我们已经知道计算机是通过按开机键,然后就会显示操作系统的界面,那么,在这中间,又经历了什么呢?

3.1 BIOS

?  这时候要说一下BIOS ,当我们打开一个裸机,然后会出现一个类似于蓝白色(各个厂商不同,界面不同)的基本界面,只能进行一些键盘的输入,这个系统就是BIOS,存放在ROM中,就相当于内存。在这个时候BIOS就起到了操作系统的作用,然后会去CMOS读取一些配置信息。

  这是对应的关系

裸机的三大核心 计算机
CPU CPU
ROM(存放BIOS) 内存
CMOS 硬盘

3.2 计算机的启动流程

?  这个时候就可以讲一下计算机的启动流程了,注意:即使计算机装完系统,计算机开机依然要经历BIOS的阶段,因为这是计算机出厂就已经确定的过程。

  1. 计算机通电。
  2. 启动BIOS系统,检查计算机设备。
  3. BIOS读取CMOS中的一些配置信息,选择启动设备。
  4. 从启动设备中读取第一扇区的内容,称为MBR,内部含有分区信息。
  5. 根据分区信息,读入bootloader装载模块,启动操作系统。
  6. 操作系统询问BIOS获得配置的信息。检查每种设备的驱动程序是否存在,检测完毕会调入内核,然后初始有关的表格,传进已经设定好需要的进程,并在终端启动登陆程序。

原文地址:https://www.cnblogs.com/liqianxin/p/12409198.html

时间: 2024-10-14 01:38:26

计算机硬件的基本组成-大框架的建立的相关文章

php Laravel 框架之建立后台文件夹 二

在前面的章节中我们讲解过如何在 Laravel框架中建立后台文件夹. php Laravel 框架之建立后台文件夹 现在我们再添加一块内容.是关于自动加载的部分. 在我们app目录中还有个start目录.它里面这样写道: In addition to using Composer, you may use the Laravel class loader to load your controllers and models. This is useful for keeping all of

对比深度学习十大框架:TensorFlow 并非最好?

http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow 链接:https://www.tensorflow.org/ 对于那些听说过深度学习但还没有太过专门深入的人来说,TensorFlow 是他们最喜欢的深度学习框架,但在这里我要澄清一些事实. 在 TensorFlow 的官网上,它被定义为「一个用于机器智能的开源软件库」,但我觉得应该这么定义:Te

php Laravel 框架之建立后台文件夹

今天研究了在Laravel框架中的控制器中添加后台的文件夹.发现了一些小的规律,拿来和大家分享一下吧. 通常情况下,我们是直接在controllers文件夹中添加我们的控制器,然后再routes.php 路由表中寻找相应的控制器和action进行处理.但是现在有个问题,如果我们的前台和后台同在一个项目中,也就是说前台和后台的控制器会在一块.当然不是没有办法进行区分.我们可以在控制器前面加上Front,Admin等标记来分别前台控制器和后台控制. 这里我给大家提供一种方法来将前后台的控制器进行分离

web前端之HTML的大框架(body元素与frameset元素)

web前端之HTML的大框架      body元素与frameset元素 对于从事html的人员来说,我们一般熟悉的框架是先声明html ,然后在<html>标签对里包着<head>标签对和<body>标签对,body元素定义文档的主体,包含文档的所有内容(比如文本.超链接.图像.表格和列表等等).而我们想要在页面中显示出来的内容全部写在<body>标签对里. 例如: <!DOCTYPE html> <html> <head&

AngularJS - 下一个大框架

AngularJS AngularJS是web应用的下一个巨头. AngularJS如果为创建web应用而设计,那它就是HTML的套路了.具有数据绑定, MVW, MVVM, MVC, 依赖注入的声明式模板和出色的可测试性都是用纯客户端 JavaScript来实现的! AngularJS 是一个创建富客户端应用的JavaScript MVC框架,它组织良好,经过严格测试,多功能,强大并且十分灵活.你仍然需要具有服务端后台,但大多数的用户交互逻辑将优雅地放到客户端上处理. AngularJS是一个

mybatis大框架

MyBatis   开源的数据持久化层框架 实体类与SQL语句之间建立映射关系 一:MyBatis前身是IBatis,本是Apache的一个开源的项目, 基于SQL语法,简单易学 ,是耦合度降低,方便程序调式 二:搭建Mybatis的开发步骤: a:下载mybatis-3.3.3.jar包并导入工程 b.编写MyBatis核心配置文件(configuration.xml) c.创建实体类-POJO d.DAO层-SQL映射文件(mapper.xml) e.创建测试类 读取全局配置文件mybati

2015前端各大框架比较(angular,vue,react,ant)

前端流行框架大比拼 angular vue react ant-design angularjs angular是个MVVM的框架.针对的是MVVM这整个事.angular的最主要的场景就是单页应用,或是有大量数据绑定的情况. 特性 双向数据绑定 ioc依赖注入 指令 上面这几点用起来确实很爽,随便指定个区域,配一个controller,然后里面的东西就都在scrope里了,确实很方便 如果各位想看,参见 https://github.com/i5ting/ionic_ninja/blob/ma

php Laravel 框架之建立后台目录

今天研究了在Laravel框架中的控制器中加入后台的目录.发现了一些小的规律,拿来和大家分享一下吧. 通常情况下,我们是直接在controllers目录中加入我们的控制器,然后再routes.php 路由表中寻找对应的控制器和action进行处理.可是如今有个问题,假设我们的前台和后台同在一个项目中,也就是说前台和后台的控制器会在一块.当然不是没有办法进行区分.我们能够在控制器前面加上Front,Admin等标记来分别前台控制器和后台控制. 这里我给大家提供一种方法来将前后台的控制器进行分离.

大数据需要建立规则和标准

作为在上世纪90年代就提出可穿戴设备概念的潘特兰教授,在大数据方面也享有卓著声誉,但他对大数据的看法,站在互联网业者的角度来看略显保守.因为他最为人称道的几个研究方向并非大数据的应用,而是个人数据采集规则,大数据安全和隐私等. 潘特兰的学生中牛人辈出,有发明谷歌眼镜的,也有发明面部识别技术的.潘特兰本人则较为热衷于为大数据采集和应用制定规则,设立标准,甚至还在世界经济论坛这种重大场合为政治及经济人物提供各种与此有关的建议,可以看得出,大数据的规则和秩序是他更为看重的主题.这在当前整个社会对大数据