学习下面的内容,一定要有耐心,你可能上来有些名词搞的不太请求,但是一定要静下心来学习,目前的目标,就是知道一下计算机各个部件都是干什么的就可以了。
计算机硬件是人类处理运算与储存资料的重要元件,在能有效辅助数值运算之前,计算机硬件就已经具有不可或缺的重要性。最早,人类利用类似符木的工具辅助记录,像是腓尼基人使用黏土记录牲口或谷物数量,然后藏于容器妥善保存,米诺斯文明的出土文物也与此相似,当时的使用者多为商人、会计师及政府官员。
辅助记数的工具之后逐渐发展成兼具记录与计算功能,诸如算盘、计算尺、模拟计算机和近代的数字电脑。即使在科技文明的现代,老练的算盘高手在基本算数上,有时解题速度会比操作电子计算机的使用者来得快──但是在复杂的数学题目上,再怎么老练的人脑还是赶不上电子计算机的运算速度。
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。
一套完整的计算机系统分为:计算机硬件,操作系统,应用软件。
下面我们先从计算机硬件学起吧,内容不是很多,首先看一下计算机硬件组成,看下图。
计算机硬件分五大部分:
CPU、内存(主存储器)以及其他I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信,现代计算机的结构更复杂,包括多重总线。
下面我们针对上图,将内部设备和外部设备中的主要部分简单介绍一下。
定义:中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。
功能:解释计算机指令以及处理计算机软件中的数据。
有关cpu其他参数的一些介绍:
目前世界上的主流CPU有哪些呢?我们笔记本上贴的Intel、AMD是怎么回事呢?下面我们来认识一下:(了解)
运算器+控制器
cpu有向下兼容性,比如64位(bit)的可以兼容32位的,一次性取64位的数据,那么如果你的软件是32位一组的指令组成的,那么一次取64位,前面剩下的32位补0,补成64位,所以不影响你的取指令,但是32位的不能兼容64位的,因为我的软件要求,你一次取出的要拿到cpu里面运行的指令是64位的,但是你cpu是32位的,所以一次不能取出64位的数据,那么我的软件就不能够正常运行。
二进制和十进制转换,拿十进制的13举例:
十进制转二进制计算方法
二进制转十进制
定义:内存储器是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存储器中进行的,因此内存储器的性能对计算机的影响非常大。
功能:内存储器(Memory)也被称为内存,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
有关内存的其他参数介绍(了解)
定义:向计算机输入数据和信息的设备。
概念:是计算机与用户或其他设备通信的桥梁,说白了就是人类向计算机发送命令传输信息的设备,是人类控制计算机的工具。
现在的计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。
常见的输入设备:
定义:输出设备(Output Device)是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。
常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
输出设备和输入设备是对应的设备,用户使用输入设备给计算机发送指令之后便需要有输出设备来把执行结果展现给用户,所以输出设备同样是计算机硬件系统中必不可少的部分。
定义:外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据(与内存断电数据就丢失不同)。
常见的外存储器:
硬盘的基本参数:
硬盘接口类型:
存储新宠——固态硬盘
定义:固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。
和传统机械硬盘的区别
优点:
缺点:
说白了,网卡就是帮你接收网络传出过来的电信号,接收到你的电脑中,而MAC地址就是你这个网卡在整个互联网网络中的身份标识,就像你的身份证号一样。有了身份,别人才能和你通信。
关于计算机硬件我们就暂时介绍到这里,下面做一些其他内容补充。
存储器系统采用如上图的分层结构,顶层的存储器速度较高,容量较小,与底层的存储器相比每位的成本较高,其差别往往是十亿数量级的。
有关磁盘的介绍,磁盘构成看下图:
磁盘参数和一些名字介绍:
磁带
PS:从一个程序切换到另外一个程序,成为上下文切换(context switch),缓存和MMU的出现提升了系统的性能,尤其是上下文切换
定义:显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,在游戏开发水平与日俱增的今天,显卡是计算机最基本最重要的配件之一
功能:显卡作为电脑主机里的一个重要组成部分,是电脑进行数模信号转换的设备,承担输出显示图形的任务。
基本参数:
显卡分类
其实独立显卡也分为两类,一类是专业的图形卡,一类是娱乐用的游戏卡,如同CPU的至强和酷睿一样,需求不同性能侧重点不同。
独立显卡是多个部件组合而成协同工作,更像是一个将数字信号转换为模拟信号的硬件系统。虽然独立显卡有诸多缺点,但是独立显卡市场依然火热,究其原因还是因为独立显卡拥有集成显卡核心显卡难以企及的强大性能,在用户眼中只要拥有强大的性能,其他那些缺点却是不太在乎。
根据总线接口类型也可以将显卡分成下面几类:
总线是一种共享型的数据传送设备。虽然总线上可联接多个设备,但任一时刻通常只能有一对设备参与数据传输。按信息传输的形式,总线可分为并行总线和串行总线两种。并行总线对n位二进制信息用n条传输线同时传送,其特点是传输速度快,但系统结构较复杂,它用于计算机系统内的各部件之间的连接;串行总线对多位二进制信息共用一条传输线,多位二进制信息按时间先后顺序通过总线,它的特点是结构简单,但其传输速度较慢。总线必须有明确的规范: 总线定时协议,即在总线上传送信息时必须遵守一定的定时规则,例如同步总线定时,异步总线定时,半同步总线定时等。总线的物理特性,包括信号、电源、地址的电气特性,以及连线、接插件的机械特性。总线带宽,它是总线所能达到的最高传输率,其单位是MB/S。
说了这么多的计算机硬件,那么他们是怎么一起工作的呢?这就不得不说一下我们主板了。
主板就像是一座城市的管理者,而总线就像是我们公交车,并且有着自己路线,其他各个部件都享是城市中的店面,每个店面都有自己的站点,那么主板就控制着所有的硬件系统,让他们协同并维持着自己的工作。
定义:主板(英语:Motherboard,Mainboard,简称Mobo),又称主机板、系统板、逻辑板、母板、底板等,是构成复杂电子系统的中心或者主电路板。
功能:在计算机中主板的功能便是将所有的硬件连接到一起构成计算机硬件系统,协同并维持各硬件的工作。
它是一组固化到计算机内主板上一个ROM芯片(只读,不能写,也就是不能改)上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS(易失性的,断电就失去了数据)中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。说白了就是一个基本的输入输出的操作系统,能够支持基本的一些功能,能控制计算机开机时的一些简单功能,并且通过bios来控制从哪一个磁盘上读取启动操作系统代码程序(win7,win10,linux等),然后让操作系统来接管整个电脑的运作,然后bois就退出了,只在开机的时候起到了作用,然后就没它的事儿了,所以我们应该让bios知道从哪个磁盘上来启动操作系统,我要让bios知道哪个磁盘是我们的系统盘,比如win10的c盘一般是系统盘,也就是安装了我们操作系统的磁盘,系统到底安装到哪一个盘里面,这个能在一出厂的时候设置好吗,不能,是允许我们用户进行自己的配置的,我想将系统放到哪个盘就装到哪个盘,所以我们需要告诉bios从哪个盘(可以是电脑的磁盘,可以是外接的硬盘,光盘等,里面有别人写好的操作系统的程序代码)来启动系统,其实也就是安装操作系统,你们自己安装过吗?其实就和安装一个软件是一个道理,怎么叫做安装,其实就是将别人的程序安装自己电脑的本地磁盘上,这就叫做安装,但是如果你买的电脑本身没有操作系统的时候(裸机),所以我们开机的时候先进入bios系统(这个系统只有一些简单的功能,并且肯定不可能在这个系统里面安装东西的),然后指定某个盘来启动操作系统,然后由指定的操作系统来接管你整个电脑的运行,然后我们使用的这个盘里面有响应的程序来给我们自己的电脑安装操作系统,其实就将你某个系统盘的系统软件安装到我们自己电脑的磁盘上,然后我们再启动系统的时候,进入bios系统,指定我们自己本机电脑安装了操作系统的磁盘来启动操作系统就可以了。并且我们的bios也是可以设置密码的,也就是别人想登录bios也是需要输入密码才能进入bios系统的,能不能破解呢,可以的,把主板的电源抠出来就可以了,因为这个这个系统是存在在CMOS上的,而CMOS是易失性的,bios中相关数据断电后就消失了,也就是说设置的那些密码也就跟着消失了,所以,没有绝对安全的。双系统其实就是在电脑上安装两个操作系统软件,但是同时只能启动一个,看你自己启动的时候选择哪一个,当然了,如果大家知道虚拟技术,那么其实我们是可以通过虚拟机来同时启动多个系统。
当BIOS激活时会先去确认CMOS中的资料是否正确。如果正确,便会将之前用户存储在CMOS的资料,加上已存或找到的硬件信息,整合成一个表格,写到内存中,也就是所谓的SMBIOS。如果发现错误,则会自动以默认值取代CMOS提供的资料。所以这份写入内存的SMBIOS表格,就是用户进入BIOS选项后,可以看到或选择的所有信息。
所有会在BIOS之前发生的操作就只有Power On,也就是按下计算机上电源开关的那一瞬间。在Power On阶段一开始,会进入BIOS的激活流程,当用户一按下电源开关,CPU会先被激活去寻找BIOS,接着BIOS会先在Flash Memory中执行,再加上CMOS中用户所喜好的设置,然后BIOS将自己解压缩到计算机的主存储器中。此时,用户若按下DEL键,就可以进入BIOS所提供的设置选项,从而看到所有的设置值;或是当用户进入操作系统后,操作系统就可以参考内存中的BIOS资料,访问到每一个硬件地址。
1.计算机加电
4.从启动设备上读取第一个扇形区的内容(MBR主引导记录512字节,前446为操作系统的引导信息,先启动谁后启动谁,因为操作系统的程序也很多,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统(读取操作系统内容,结果BIOS的任务,来控制计算机)
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序(驱动某个硬件的使用,所有我们使用不同的硬件之后,需要安装一些驱动程序 )是否存在,如果没有,系统则会要求用户安装设备驱动程序,一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),传进需要的进程,并在终端上启动登录程序或GUI
其实我们如果为了学习编程语言,那么我们目前需要掌握的硬件知识其实就是三大项:CPU、内存、硬盘。硬盘中读取程序到内存中,CPU从内存中获取程序来运算。然后知道一下二进制,二进制和十进制的换算等其他的都作为了解吧。