计算机基础系列之计算机硬件

what‘s the 计算机硬件?

  一套完整的计算机系统分为计算机硬件、操作系统软件。python是编程语言,通过语言得到的是软件,软件的最终目的是为了操控硬件的运行,而直接用软件操控硬件会造成很多不必要的麻烦,所以在软件和硬件之间还存在着操作系统。既然我们的最终目的是为了操控硬件运行以得到想要的结果,所以我们首先就得了解在一台计算机中,它的硬件主要是哪些。

  计算机硬件主要为CPU、内存、磁盘、输入设备和输出设备。这些都通过一条总线连接。

  CPU是计算机的大脑,任何软件的执行最终都要转化为CPU执行。因为CPU执行指令很快而访问内存以得到指令或数据的时间相对要久,所以,CPU内部有一个寄存器,用来保存关键变量和临时数据,最重要的寄存器是程序状态字寄存器(Program Status Word,PSW)。

  一般情况下的CPU只有两种状态——内核态用户态操作系统运行时处于内核态,在内核态情况下,整个系统的硬件都可以被调用。用户程序在运行时处于用户态,在用户态情况下硬件无法被操作,而用户程序在运行中肯定是需要对硬件进行操作的例如对文件的读取,所以用户态和内核态之间必须做到能够切换,此时用户程序使用系统调用,系统调用是一个特别的过程调用指令,该指令具有从用户态切换到内核态的特别能力。

  moore定律指出,芯片中的晶体管数量每18个月翻一倍,随着晶体管数量的增多,功能就会更强大。

I.第一步增强:在cpu芯片中加入更大的缓存,一级缓存L1,用和cpu相同的材质制成,cpu访问它没有时延

II.第二步增强:一个cpu中的处理逻辑增多,称为多线程或超线程,对用户来说一个有两个线程的cpu就相当于两个cpu,进程是资源单位而线程才是cpu的执行单位。

多线程运行cpu保持两个不同的线程状态,可以在纳秒级的时间内来回切换,速度快到你看到的结果是并发的,伪并行的,然而多线程不提供真正的并行处理,一个cpu同一时刻只能处理一个进程(一个进程中至少一个线程)

III.第三步增强:除了多线程,还出现了包含2个或者4个完整处理器的cpu芯片,如下图。要使用这类多核芯片肯定需要有多处理操作系统

  计算机中第二重要的是储存器。储存器的选择主要看三个因素:速度、容量和价钱。但是要做到每个都最优目前是不可能的,存储器系统的分层结构如下图所示

顶层的存储器速度较高,容量较小,与底层的存储器相比每位的成本较高,其差别往往是十亿数量级的。

  寄存器的材质与CPU相同,所以它的读写速度能做到与CPU一样快,是最高效的存储器。L1缓存指的就是寄存器。

  高速缓存即L2缓存,最常用的高速缓存一般都放在CPU内或者非常接近CPU的位置。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存)。

  内存是存储器系统的主力。内存是易失性存储,断电后数据就全部消失。可以理解为电脑进程开的太多使得运行变慢时,重启就可以解决问题。因为重启意味着一次断电的行为,进程会因为RAM数据消失而被迫结束,所以电脑变得流畅起来。

  EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的,不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了。

  另外还有一种特别与众不同的存储器叫CMOS,它是易失性的许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,因为它耗电非常少。

  磁盘是一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 )的速度旋转。因为磁盘旋转速度相对而言较慢,所以它的读写速度就较慢。每个磁头可以读取一段换新区域,称为磁道把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面每个磁道划成若干扇区,扇区典型的值是512字节,数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间,找到了磁道就意味着找到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置,机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间。

  虚拟内存的作用是可以使计算机运行大于物理内存的程序,方法是将正在使用的程序放入内存取执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存。

  磁带在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。

  随着处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,于是出现了下图的多总线模式,他们处理I/O设备及cpu到存储器的速度都更快。北桥即PCI桥:连接高速设备;南桥即ISA桥:连接慢速设备。



总结:

  计算机的启动流程如下:1、计算机加电;2、BIOS开始运行,检测硬件:cpu、内存、硬盘等;3、BIOS读取CMOS存储器中的参数,选择启动设备;4、从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位);5、根据分区信息读入bootloader启动装载模块,启动操作系统;6、然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI。

  应用程序的启动流程如下:操作系统找到硬盘上的应用软件,然后CPU取指——解码——执行文件。软件本身要运行一个文件,通过操作系统控制硬盘提取文件,这个过程要将CPU从用户态转换为内核态,CPU执行要运行的这个文件的过程中又将内核态转换为用户态。

时间: 2024-10-23 09:06:37

计算机基础系列之计算机硬件的相关文章

计算机基础系列一:计算机硬件 7月11日课堂随笔及作业

一.计算机硬件/操作系统/软件/网络 1.1软件的最终目的是控制硬件 1.2程序就是写的代码   就是为了更好的控制硬件    但是需要先控制    CPU 硬盘等硬件 1.3学习python语言的目的是为了写软件    python的单词就是关键词            模仿就是多练习熟练度 1.4 cpu主要关键功能就是计算(相当于人脑计算)   条件成立下的逻辑运算      人的数据(1+2)需要转化为电脑识别的指令 1.4.1  取指令(就是从内存里拿数据)->解码->执行 1.5 

计算机基础系列一:计算机硬件 (我觉得这个标题好)

一,编程语言的作用及与操作系统和硬件的关系 1.1 编程语言的作用 1 python是编程语言,即python是语言. 2 但凡是语言,都是用来沟通的介质. 3 程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质. 1.2 操作系统和硬件的关系 1 光有编程语言和硬件也并不能满足大家的编程需求,为什么这么说呢? 2 程序用编程语言写程序,最终开发出的结果就是一个软件,既然是软件,那就与腾讯qq.暴风影音.快播等软件没有区别了.这些软件必须运行在操作系统之上,你肯定会问:为

计算机基础系列一:计算机硬件

1.编程语言的作用及与操作系统和硬件的关系 一个完整的计算机系统包括硬件.操作系统.软件(即程序员开发的各种软件)三部分组成. 各程序员开发的软件若直接调用计算机的硬件,如硬盘读取.音频播放等,则软件不仅编写复杂同时影响开发效率,因此程序员开发的软件需通过计算机操作系统间接调用计算机各硬件.如下图:  即编写各种计算机软件的编程语言可看作程序员与计算机沟通的介质,程序员通过编程语言编写软件从而达到控制计算机的目的. 2.计算机硬件 计算机硬件(Computer hardware)是指计算机系统中

data 1 (05/18)计算机基础系列

一.编程语言的作用及与操作系统和硬件的关系 编程语言可以用来写操作系统,且编程语言开发的软件要通过操作系统进行运行:而操作系统是用来控制计算机硬件的,操作系统运行在硬件上面,当我们用编程语言进行研发时,只需要控制操作系统即可. 二.应用程序->操作系统->硬件 计算机=应用程序+操作系统+硬件:可将计算机分为三层,自而向上分别为:应用程序→操作系统→硬件. 硬件由运算器.控制器.存储器.输入设备和输出设备等五个逻辑部件组成.计算机运行时,运算器的操作和操作种类由控制器决定.运算器处理的数据来自

计算机基础系列之硬件

一.编程语言的作用及操作系统和硬件的关系   1,编程语言是计算机中的主要算法,一般应用于开发软件:如电脑游戏,手机游戏,网站,各类应用软件等等.   2,操作系统是管理计算机软硬件资源.控制程序运行,为应用软件提供支持的一种系统软件.操作系统可以管理整台计算机的硬件.  3,而编程语言所开发的软件不能直接在硬件上面使用,必须在操作系统的基础上面才能运行,而且软件不能直接向硬件发送命令,必须把命令发给操作系统,操作系统就像是软件和硬件之间的桥梁.     简单的比喻:软件像是人体的感官,操作系统

计算机基础系列之何为操作系统

what's the 操作系统? 首先,我们要知道,为什么要有操作系统.现代的计算机系统主要是由一个或者多个处理器,主存.硬盘.键盘.鼠标.显示器.打印机.网络接口及其他输入输出设备组成.现代计算机的组成部分极其复杂,我们不可能全部了解完再去写开发,所以就需要用到操作系统.程序员只需要做自己的本职开发工作,应用软件直接使用操作系统提供的功能来间接使用硬件. 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为

计算机基础一: 计算机硬件

前言: 相信到了2017年,如今的你我都会有一台属于自己的笔记本或者放学.下班回家后回到家里打开自己的台式机. 但是大家真的知道为什么我们轻轻一碰开机键就能开始网上冲浪,就能肆意在游戏的快乐里呢? 我们在玩游戏或者上网时我们的电脑本身在忙什么? 如果引起你的兴趣了,那么就继续读下去吧. ---------------------------------------------完美的分割线-------------------------------------------------------

计算机基础系列一:网络基础和python基础(变量和程序交互)7月13和14日课堂预习/随笔/作业

上节课回顾   - 操作系统的两大作用   - 多道技术   一.网络基础   -1.互联网协议---就是计算机的网络通信标准   -2.网络指的是-计算机于计算机 之间通过物理连接介质(网络设备连接到一起二.osi七层协议   -五层为 应用 传输 网络 数据链 物理   2.1-以太网协议规定电信号为一组数据帧  基于Mac地址通讯仅限局域网通信       -每一组帧分为报头head和数据date两部分      -报头长度是固定的包含数据的类型和地址      -规定接入互联网必须要有一

计算机基础之一:计算机硬件

计算机     计算机(computer)俗称电脑,计算机其实是:接受用户输入指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息.因此,只要有输入  设备(不管是键盘还是触摸式屏幕)及输出设备(屏幕或直接打印出来),让你可以输入数据使该机器产生信息,那就是一台计算机了. 计算机硬件的五大单元      计算机主要分为三部分:          1.输入单元:包括键盘.鼠标.扫描仪.手写板.触摸屏幕等.          2.中央处理器(CPU):含有算术逻辑.控制.记