计算机基础硬件知识
2017年3月10日
15:02
1. 编程语言的作用:
编程语言是一门语言,人类主要用编程语言来开发某种程序从而控制计算机的底层硬件。程序通过编程语言进行开发,最终得到一个软件,而人与计算机之间的沟通主要就通过开发而来的软件。
2. 操作系统:
1. 操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。
2. 操作系统是用户与计算机的接口,同时也是计算机硬件跟软件的接口。操作系统的功能包括管理计算机软件及数据资源、控制程序运行,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。
3. 操作系统应该分成两部分功能:
i. 控制计算机硬件(调用系统接口)
ii. 管理用户应用程序
3. 计算机硬件:
硬件指的是可以看得到、摸得到的物件,是一个具体的实物。如显示器、鼠标等,试着举例一下还有那些是硬件。所有硬件共同组合在一起,形成的一个整体系统,我们称为硬件系统。在计算机内部主机中都是通过一根系统总线来连接起来在通过系统总线与其他设备进行通信的。
硬件系统主要有五大部分组成:运算器、控制器、存储器、输入设备、输出设备。
运算器:是负责算术运算与逻辑运算。与控制器共同组成了中央处理器(CPU)。
控制器:是负责发送和接收指令。
存储器:是用来存储正在进行程序、将要进行程序的数据及刚处理完的数据。
输入设备:是用来进行输入的设备。如键盘,扫描仪等。
输出设备:是用来进行输出的设备。如显示器,音箱等。
4. 应用程序:
应用程序是程序员依据自己所学的编程语言,从而开发出来的一款应用与操作系统上的软件。
5. 应用程序、操作系统以及硬件之间的关系:
6. 计算机工作原理:
取出指令:从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂存。
分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作。
执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作。
为执行下一条指令作好准备,即取出下一条指令地址。
7. 内存、cpu、硬盘
内存:一时性的,断电数据就会丢失
cpu:主要负责执行指令运行
硬盘:数据永久存在,不易丢失
关系:硬盘数据发送给内存,在由内存发送相关指令付于cpu处理
8. 寄存器
1.除了用来保存变量和临时结果的通用寄存器外
2.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令
3.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量
4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入
9. 内核态与用户态
内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的
内核态与用户态的切换:
内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的
10. L1、L2缓存、内存
一级缓存即L1 Cache。集成在CPU内部中,用于CPU在处理数据过程中数据的暂时保存。由于缓存指令和数据与CPU同频工作,L1级高速缓存缓存的容量越大,存储信息越多,可减少CPU与内存之间的数据交换次数,提高CPU的运算效率。但因高速缓冲存储器均由静态RAM组成,结构较复杂,在有限的CPU芯片面积上,L1级高速缓存的容量不可能做得太大。
二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据。同样道理,三级缓存和内存可以看作是二级缓存的缓冲器,它们的容量递增,但单位制造成本却递减。需要注意的是,无论是二级缓存、三级缓存还是内存都不能存储处理器操作的原始指令,这些指令只能存储在CPU的一级指令缓存中,而余下的二级缓存、三级缓存和内存仅用于存储CPU所需数据。
11. EEPROM和闪存
flash是用来存储代码的,在运行过程中不能改;EEPROM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到6:00
12. bios和cmos
bios实际上就是微机的基本输入输出系统(Basic Input-Output System),其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动自举程序等。
cmos(本意是指互补金属氧化物半导体存储嚣,是一种大规模应用于集成电路芯片制造的原料)是微机主板上的一块可读写的ram芯片片,主要用来保存当前系统的硬件配置和操作人员对某些参数的设定。CMOS RAM芯片由系统通过一块后备电池供电,因此无论是在关机状态中,还是遇到系统掉电情况,CMOS信息都不会丢失
13. 平均寻道时间、平均延时时间
读写一次磁盘信息所需的时间可分解为:寻道时间、延迟时间、传输时间
14. 虚拟内存
许多计算机支持虚拟内存机制,该机制使计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存取执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存,在linux中成为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,成为存储器管理单元(Memory Management Unit MMU)
15. 磁带控制器、设备、总线
控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。
控制器的功能:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作系统一个简单而清晰的接口
设备本身:有相对简单的接口且标准的,这样大家都可以为其编写驱动程序了。要想调用设备,必须根据该接口编写复杂而具体的程序,于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程序安装到操作系统中。
总线:单总线很难处理总线的交通流量,现在都是使用多总线模式。
16. 南桥与北桥
北桥即PCI桥:连接高速设备
南桥即ISA桥:连接慢速设备
17. 操作系统的启动流程以及应用程序的启动流程
BIOS开始运行,检测硬件:cpu、内存、硬盘等
BIOS读取CMOS存储器中的参数,选择启动设备
从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
根据分区信息读入bootloader启动装载模块,启动操作系统
然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI