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

1、编程语言的作用及与操作系统和硬件的关系

  一个完整的计算机系统包括硬件、操作系统、软件(即程序员开发的各种软件)三部分组成。

  各程序员开发的软件若直接调用计算机的硬件,如硬盘读取、音频播放等,则软件不仅编写复杂同时影响开发效率,因此程序员开发的软件需通过计算机操作系统间接调用计算机各硬件。如下图:

   即编写各种计算机软件的编程语言可看作程序员与计算机沟通的介质,程序员通过编程语言编写软件从而达到控制计算机的目的。

2、计算机硬件

  计算机硬件(Computer hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。简言之,计算机硬件是构成计算机的物质基础,是计算机系统的核心。从外观上来看,微机由主机箱和外部设备组成。

  根据计算机之父冯·诺依曼的划分,计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成。通常把运算器与控制器合称为中央处理器(Central Processing Unit,CPU)。

其中:

CPU是计算机的核心,负责计算机的运算及程序控制;

存储器是计算机的记忆设备,用来存放程序和数据

输入设备是计算机接收外部信息和数据的设备。常用输入设备有:键盘、鼠标、扫描仪等

输入设备是输出计算机处理后的数据。常用的输出设备有:显示器、打印机等

在计算机中,计算机各硬件是通过各类总线连接在一起的。

2.1处理器(cpu)

CPU是计算机的核心,负责处理计算机的各种逻辑运算和程序控制等。CPU处理的流程是:从内存读取指令->解析指令->执行指令,执行完之后继续从内存读取指令->解析指令->执行指令,知道所有的程序被执行完毕。

  由于CPU的读写速度远大于内存的读写速度,为最大限度发挥CPU的效率,将CPU的一些常用指令集存入一个能够快速读写设备中,即寄存器

  寄存器的读写速度介于CPU和内存之间。

(计算机处理应用程序流程图)

寄存器分类:

1) 通用寄存器:用来保存变量和临时结果

2) 程序计数器:保存将要取出的下一条指令的内存地址。在指令取出后,程序计数器就被更新以便执行后期的指令

3)堆栈指针:它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量

4)程序状态字寄存器(Program Status Word, PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。

3、内核态与用户态

由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络,因此CPU划分出两个权限等级 -- 用户态 和 内核态

在程序状态字寄存器中与一个二进制位用来控制CPU的模式,

  内核态: 当CPU在内核态运行时,CPU可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)

  用户态: 用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用)

内核态与用户态的切换:

  用户态程序发出使用操作系统的需求(使用硬件设备)

->用户程序启用系统调用

->寄存器执行指令

->CPU切换到内核态

-> 启用操作系统获得服务

-> 操作系统重置CPU为用户态并返回系统调用结果

4、存储器

  存储器(Memory)是计算机中用于保存信息的记忆设备。广义概念中只要能保存二进制数据的都可以是存储器。

常用存储器有:

  寄存器即L1缓存:用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延。

  高速缓存即L2缓存:主要由硬件控制高速缓存的存取,最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。

  L1L2的差别在于对cpuL1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。

内存(RAM):既能读取也能写入的存储器,存储速度快,断电后数据全部消失

EEPROM(Electrically Erasable PROM,电可擦除可编程ROM):具有非易私性,擦除和重写。不过重写时花费的时间比写入RAM要多。

闪存(flash memory):闪存通常作为存储媒介,多应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了

只读存储器(ROM):储的内容是固定不变的,只能读出而不能写入的半导体存储器。通常用于BIOS中。

CMOS存储器:易失性,多用来存储计算机bios的设置,如当前时间日期、系统启动盘信息等。

Bios电池:用于CMOS存储器供电

磁盘:磁盘结构如下图:

(常见计算机硬盘结构)

(磁盘结构图)

磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计便,8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。

每个磁头可以读取一段换新区域,称为磁道

把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面

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

硬盘读写的基本单位是扇区

操作系统中磁盘文件存储管理的最小单位叫:“簇”,一般一个簇为8个扇区

数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间

平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置

平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

6、虚拟内存与MMU

  虚拟内存:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间)。在CPU中将正在使用的程序放入内存去执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存。

  MMU即存储器管理单元(Memory Management Unit):是CPU中负责在虚拟内存中将不需要执行的磁盘程序快速映射到内存地址的部件

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

7、设备驱动与控制器

  设备驱动:即设备驱动程序,是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作,是硬件和系统之间的桥梁。

  控制器:是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令. 主要功能:从内存中取出一条指令,并指出下一条指令在内存中位置,对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。

8、总线与南桥和北桥

  总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

  北桥即PCI桥:是电脑主板芯片组中的一枚。北桥被用来处理高速信号、通常处理CPU(处理器)、RAM(内存)和南桥芯片之间的通信。

  南桥即ISA桥:连接慢速设备,南桥芯片主要是负责I/O接口等一些外设接口的控制、IDE设备的控制及附加功能等。

9、操作系统的启动流程

启动流程

1)       计算机加电

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

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

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

5)       根据分区信息读入bootloader启动装载模块,启动操作系统

6)       然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI

10、应用程序的启动流程

1)       启动应用程序

2)       应用程序将需求传递给内存

3)       CPU从内存中读取指令、解析指令、执行指令

4)       操作系统输出CPU执行结果

时间: 2024-08-05 15:11:51

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

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

what's the 计算机硬件? 一套完整的计算机系统分为计算机硬件.操作系统和软件.python是编程语言,通过语言得到的是软件,软件的最终目的是为了操控硬件的运行,而直接用软件操控硬件会造成很多不必要的麻烦,所以在软件和硬件之间还存在着操作系统.既然我们的最终目的是为了操控硬件运行以得到想要的结果,所以我们首先就得了解在一台计算机中,它的硬件主要是哪些. 计算机硬件主要为CPU.内存.磁盘.输入设备和输出设备.这些都通过一条总线连接. CPU是计算机的大脑,任何软件的执行最终都要转化为CP

计算机基础系列一:计算机硬件 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.暴风影音.快播等软件没有区别了.这些软件必须运行在操作系统之上,你肯定会问:为

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):含有算术逻辑.控制.记