俗话说:基础不牢,地动山摇!不说多的啦,以后会陆续更新网络基础和计算机硬件基础的知识,把K8S的课程往后放一放。
想到鸟哥的私房菜这本书,好久没静下心来专研它了,发现这本书写的还是很好的,我就自己整理了这本书的计算机硬件基础知识,好好理解一下然后打好基础慢慢变的更强。我干了兄弟们奥里给!
1、电脑是什么?
接受使用者输入指令与资料, 经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的资讯’。
因此,只要有输入设备(不管是键盘还是触控式荧幕)及输出设备(荧幕或直接列印出来),让你可以输入资料使该机器产生资讯的, 那就是一部计算机了。
实例:一般商店用的简易型加减乘除计算机、打电话用的手机、开车用的卫星定位系统(GPS)、提款用的提款机(ATM)、你常使用的桌上型个人电脑、可携带的笔记型电脑**等等,这些都是计算机!
2、计算机组成原件?
电脑硬体的五大单元
如果我们看外观的话,可能只能发现3个部分:
-
输入设备:包括键盘、鼠标、读卡器、触控屏幕等等一堆
-
主机部分:这个就是系统单元,被主机机壳保护住了,里面含有CPU与主内存(RAM)等;
-
输出设备:例如屏幕、打印机等等
其实在电脑主机机壳里面可以看到最重要的就是一片主机板,上面安插了中央处理器(CPU)以及主内存还有一些介面卡装置等等
整部主机的重点在于中央处理器 (Central Processing Unit, CPU),CPU 为一个具有特定功能的晶片, 里头含有微指令集,如果你想要让主机进行什么特异的功能,就得要参考这颗 CPU 是否有相关内建的微指令集才可以。
CPU 的工作主要在于管理与运算,CPU可以在进行细分
算数逻辑单元与控制单元
-
算数逻辑单元主要负责程式运算与逻辑判断
-
控制单元则主要在协调各周边元件与各单元间的工作。
CPU 的重点是在进行运算与判断,被运算与判断的资料是从哪里来的?
**CPU 读取的资料都是从主内存(RAM)来的!**主内存内的资料则是从输入单元所传输进来!而 CPU 处理完毕的资料也必须要先写回主内存中, 最后资料才从主内存传输到输出单元。
所有的单元都是由CPU内部的控制单元来负责协调的,因此CPU是整个电脑系统的最重要部分!
2、CPU种类
- 精简指令集(Reduced Instruction Set Computing, RISC):
它是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器,每个指令的执行时间都很短,完成的动作也很单纯,指令的执行效能较佳;
常见的RISC微指令集CPU主要例如升阳(Sun)公司的SPARC系列、 IBM公司的Power
Architecture(包括PowerPC)系列、与ARM系列等。
- 复杂指令集(Complex Instruction Set Computer, CISC):
CISC在微指令集的每个小指令可以执行一些较低阶的硬体操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。
新知识:
1、什么是x86架构?
由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人电脑(Personal computer)用途上面, 因此,个人电脑常被称为x86架构的电脑!那为何称为x86架构(注6)呢? 这是因为最早的那颗Intel发展出来的CPU代号称为8086,后来依此架构又开发出80286, 80386…, 因此这种架构的CPU就被称为x86架构了。
2、什么是64位?
这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。在2003年以前由Intel所开发的x86架构CPU由8位元升级到16、32位元,后来AMD依此架构修改新一代的CPU为64位元, 为了区别两者的差异,因此64位元的个人电脑CPU又被统称为x86_64的架构喔!
3、不同的X86架构的CPU有什么差异?
除了CPU的整体结构(如第二层快取、每次运作可执行的指令数等)之外, 主要是在于微指令集的不同。新的x86的CPU大多含有很先进的微指令集, 这些微指令集可以加速多媒体程式的运作,也能够加强虚拟化的效能,而且某些微指令集更能够增加能源效率, 让CPU耗电量降低呢!由于电费越来越高,购买电脑时,除了整体的效能之外, 节能省电的CPU特色也可以考虑喔!
3、周边设备
单有CPU也无法运作电脑的,所以电脑还需要其他的周边设备才能够实际运作。 除了前面稍微提到的输入/输出设备,以及CPU与主内存(RAM)之外,还有什么周边设备呢? 其实最重要的周边设备是主机板!因为主机板负责将所有的设备通通连接在一起,让所有的设备能够进行协调与沟通。 而主机板上面最重要的元件就是主机板晶片组!这个晶片组可以将所有的设备汇集在一起!
其他重要的设备还有:
-
储存装置:储存装置包括硬盘、软碟、光碟、磁带等等;
-
显示装置:显示卡对于玩3D游戏来说是非常重要的一环,他与显示的精致度、色彩与解析度都有关系;
-
网路装置:没有网路活不下去啊!所以网路卡对于电脑来说也是相当重要的!
4、电脑运作流程
如果电脑对应的是一个人体,那么就算机分别可以对应到这些地方:
-
CPU=脑袋瓜子:每个人会作的事情都不一样(微指令集的差异), 但主要都是透过脑袋瓜子来进行判断与控制身体各部分的活动;
-
内存=脑袋中的记录区块:在实际活动过程中,我们的脑袋瓜子能够将外界的互动暂时记录起来, 提供CPU来进行判断;
-
硬盘=脑袋中的记忆区块:将重要的资料记录起来,以便未来将这些重要的经验再次的使用;
-
主机板=神经系统:好像人类的神经一样,将所有重要的元件连接起来,包括手脚的活动都是脑袋瓜子发布命令后,透过神经(主机板)传导给手脚来进行活动啊!
-
各项周边设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!
-
显示卡=脑袋中的影像:将来自眼睛的刺激转成影响后在脑袋中呈现,所以显卡所产生的资料来源也是CPU控制的。
-
电源供应器 (Power)=心脏:所有的元件要能运作得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力,那么全身也就无法动弹的!心脏不稳定呢?那你的身体当然可能断断续续的~不稳定!
我们知道整个活动中最重要的就是脑袋瓜子!而脑袋瓜子当中与现在正在进行的工作有关的就是CPU与内存(RAM)!任何外界的接触都必须要由脑袋瓜子中的内存记录下来,然后给脑袋中的CPU依据这些资料进行判断后,再发布命令给各个周边设备!如果需要用到过去的经验, 就得由过去的经验(硬盘)当中读取啰!
整部主机当中最重要的就是CPU与内存(RAM), 而CPU的资料来源通通来自于内存,如果要由过去的经验来判断事情时, 也要将经验(硬盘)挪到目前的记忆(内存)当中,再交由CPU来判断
个人理解:比如说我们要在电脑写入一个文本,首先通过输入设备键盘,把内容输入,输入的内容会被发送到内存中,内存收到后会在传给CPU逻辑判断后在发布命令给各个周边设备,通过设备显示给user看到!
5、电脑的分类
- 超级电脑(Supercomputer)
超级电脑是运作速度最快的电脑,但是他的维护、操作费用也最高!主要是用于需要有高速计算的计划中。 例如:国防军事、气象预测、太空科技,用在模拟的领域较多。
- 大型电脑(Mainframe Computer)
大型电脑通常也具有数个高速的CPU,功能上虽不及超级电脑,但也可用来处理大量资料与复杂的运算。 例如大型企业的主机、全国性的证券交易所等每天需要处理数百万笔资料的企业机构, 或者是大型企业的资料库伺服器等等。
- 迷你电脑(Minicomputer)
迷你电脑仍保有大型电脑同时支援多使用者的特性,但是主机可以放在一般作业场所,不必像前两个大型电脑需要特殊的空调场所。通常用来作为科学研究、工程分析与工厂的流程管理等。
- 工作站(Workstation)
工作站的价格又比迷你电脑便宜许多,是针对特殊用途而设计的电脑。在个人电脑的效能还没有提升到目前的状况之前, 工作站电脑的性能/价格比是所有电脑当中较佳的,因此在学术研究与工程分析方面相当常见。
- 微电脑(Microcomputer)
又可以称为个人电脑,也是我们这里主要探讨的目标!体积最小,价格最低,但功能还是五脏俱全的! 大致又可分为桌上型、笔记型等等。
所以可以得出结论,配置越好,电脑越贵(皮一下很开心)
6、电脑上面常用的计算单位 (容量、速度等)
电脑的运算能力是由速度来决定的,而存放在电脑储存设备当中的资料容量也是有单位的。
- 容量单位
电脑依有没有通电来记录资讯,所以理论上它只认识 0 与 1 而已。0/1 的单位我们称为 bit。但 bit 实在太小了,并且在储存资料时每份简单的资料都会使用到 8 个 bits 的大小来记录,因此定义出 byte 这个单位,他们的关系为:
1 Byte = 8 bits
不过同样的,Byte 还是太小了,在较大的容量情况下,使用 byte 相当不容易判断资料的大小,举例来说,1000000 bytes 这样的显示方式你能够看得出有几个零吗?所以后来就有一些常见的简化单位表示法,例如 K 代表 1024,M 代表 1024K 等。 而这些单位在不同的进位制下有不同的数值表示,底下就列出常见的单位与进位制对应:
一般来说,档案容量使用的是二进位的方式,所以 1 GBytes 的档案大小实际上为:1024x1024x1024 Bytes 这么大! 速度单位则常使用十进位,例如 1GHz 就是 1000x1000x1000 Hz 的意思。
- 速度单位
CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。而在网路传输方面,由于网路使用的是 bit 为单位,因此网路常使用的单位为 Mbps 是 Mbits per second,亦即是每秒多少 Mbit。举例来说,大家常听到的 8M/1M ADSL 传输速度,如果转成档案容量的 byte 时,其实理论最大传输值为:每秒 1Mbyte/ 每秒125Kbyte的上传/下载容量喔!
实例说明:
今天你买了一块500G的硬盘,但是格式化后发现却只有4600GB的容量,这是为什么?
因为一般硬盘制造商会使用十进位的单位,所以500GByte代表为500_1000_1000*1000Byte之意。 转成档案的容量单位时使用二进位(1024为底),所以就成为466GB左右的容量了。
7、个人电脑架构及周边设备
1、CPU详解
主要的元件为:
CPU、内存、磁碟装置(IDE/SATA)、汇流排晶片组(南桥/北桥)、显示卡介面(PCI-Express)与其他介面卡(PCI)。 底下的各项元件在讲解时,请参考Intel晶片组架构与技嘉主机板各元件来印证喔!
位置:
如同技嘉主机板示意图上最上方的中央部分,那就是CPU插槽。 由于CPU负责大量运算,因此CPU通常是具有相当高发热量的元件。所以如果你曾经拆开过主机板, 应该就会看到CPU上头通常会安插一颗风扇来主动散热的。
多核:
x86个人电脑的CPU主要供应商为Intel与AMD, 原本的单核心CPU仅有一个运算单元,所谓的多核心则是在一颗CPU封装当中嵌入了两个以上的运算核心, 简单的说,就是一个实体的CPU外壳中,含有两个以上的CPU单元就是了。
运行速率:
CPU内部含有微指令集,不同的微指令集会导致CPU工作效率的优劣。除了这点之外, CPU效能的比较还有什么呢?那就是CPU的时脉了!什么是时脉呢?简单的说, 时脉就是CPU每秒钟可以进行的工作次数。 所以时脉越高表示这颗CPU单位时间内可以作更多的事情!
3.0GHz, 表示这颗CPU在一秒内可以进行3.0x109次工作,每次工作都可以进行少数的指令运作之意。时脉目前仅能用来比较同款CPU的速度!
- CPU的‘外频’与‘倍频’:
CPU与外部各元件的速度理论上应该要一致才好。但是因为CPU需要较强大的运算能力, 因为很多判断与数学都是在CPU内处理的,因此CPU开发商就在CPU内再加上一个加速功能, 所以CPU有所谓的外频与倍频!所谓的外频指的是CPU与外部元件进行资料传输时的速度,倍频则是 CPU 内部用来加速工作效能的一个倍数, 两者相乘才是CPU的时脉速度。
Tips
cpu超频?
所谓的超频指的是: 将CPU的倍频或者是外频透过主机板的设定功能更改成较高频率的一种方式。但因为CPU的倍频通常在出厂时已经被锁定而无法修改, 因此较常被超频的为外频。
举例来说,像上述3.0GHz的CPU如果想要超频, 可以将他的外频333MHz调整成为400MHz,但如此一来整个主机板的各个元件的运作频率可能都会被增加成原本的1.333倍(4/3), 虽然CPU可能可以到达3.6GHz,但却因为频率并非正常速度,故可能会造成当机等问题。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/dd130047c65b083b2c84c1cf7bdca75b.jpeg)
写在最后
还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…
[外链图片转存中…(img-c1sF7nNg-1713693302006)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!