2 什么是计算机
1 什么是计算机
-
计算机俗称“电脑”,包含人对计算机的终极期望,能够真的像人脑一样去工作
2 为何要有计算机
-
为了找奴隶,替自己工作
人--------------人类的语言------------>奴隶
人--------------编程语言------------->计算机
大前提:计算机所有的组成都是模仿人的某一功能或器官
3 计算机的五大部件组成
-
1 控制器: 作用:是计算机的指挥系统,负责控制计算机所有其他组件如何工作的 类比:控制器=》人类的大脑
-
2 运算器: 作用:运算包括数学运算与逻辑运算 类比:运算=》人类的大脑
那么 控制器 + 运算器 =======》大脑
-
3 存储器/IO设备 (ps:存储器如内存、磁盘等既是输入设备又是输出设备,统称为IO设备)
作用:是计算机的记忆功能,负责数据的存取 分类: 内存(基于电工作):存取数据都快,断电数据丢失,只能临时存取数据 外存(硬盘,基于磁工作):存取速度都慢,断电数据也不丢,可以永久保存数据 类比: 内存 ===》人类的大脑的记忆功能 外存 ===》人的笔记本
-
4 输入设备input 如键盘、鼠标
类比: 眼睛 耳朵
-
5 输出设备output 如显示器、打印机
类比: 嘴巴

我们可以分为三大部分
一 CPU
- 在超大规模集成电路构成的微型计算机中,往往将CPU制成一块具有特定功能的芯片,称为微处理器,芯片里边有编写好的微指令集,我们在主机上的所有操作或者说任何软件的执行最终都要转化成cpu的指令去执行,如输入输出,阅读,视频,上网等这些都要参考CPU是否内置有相关微指令集才行。如果没有那么CPU无法处理这些操作。不同的CPU指令集不同对应的功能也不同,这就好比不同的人脑,对于大多数人类来说,人脑的结构一样,但是大家的智商都有差别。

- 指令集
# 1.1、精简指令集(了解) 精简指令集(Reduced Instruction Set Computing,RISC):这种CPU的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;
但是若要做复杂的事情,就要由多个指令来完成。常见的RISC指令集CPU主要例如Sun公司的SPARC系列、IBM公司的Power Architecture(包括PowerPC)系列、与ARM系列等。 # 1.2、复杂指令集 复杂指令集(Complex Instruction Set Computer,CISC)与RISC不同,在CISC的微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。
因此指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。 # 总结: CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;
但是若要做复杂的事情,就要由多个指令来完成。后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。
因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。
-
我们最常听到的CPU型号 x86 - 64
#1、x86架构
x86是针对cpu的型号或者说架构的一种统称,详细地讲,最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386....,因此这种架构的CPU就被统称为x86架构了。
由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机!
程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合,举个例子,我们在MySQL官网下载软件MySQL时名字为:
Windows(x86,32-bit),ZIP Archive
(mysql-5.7.20-win32.zip)
我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。
#2、64位
cpu的位数指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,到现在,个人计算机CPU通常都是x86_64的架构。
cpu具有向下兼容性,指的是64位的cpu既可以运行64位的软件,也可以运行32位的软件,而32位的cpu只能运行32位的软件。这其实很好理解,如果把cpu的位数当成是车道的宽,
而内存中软件的指令当做是待通行的车辆,宽64的车道每次肯定既可以通行64辆车,也可以通信32辆车,而宽32的车道每次却只能通行32辆车.
复制代码
- CPU的两种工作状态:内核态与用户态
代表cpu的两种工作状态 1、内核态:运行的程序是操作系统,可以操作计算机硬件 2、用户态:运行的程序是应用程序,不能操作计算机硬件 内核态与用户态的转换 应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到 内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换
-
多线程和多核芯片
2核4线程: 2核代表有两个cpu,4线程指的是每个cpu都有两个线程=》假4核 4核8线程 4核代表有4个cpu,8线程指的是每个cpu都有两个线程=》假8核
moore定律指出,芯片中的晶体管数量每18个月翻一倍,随着晶体管数量的增多,更强大的功能称为了可能,如
I.第一步增强:在cpu芯片中加入更大的缓存,一级缓存L1,用和cpu相同的材质制成,cpu访问它没有时延
II.第二步增强:一个cpu中的处理逻辑增多,intel公司首次提出,称为多线程(multithreading)或超线程(hyperthreading),对用户来说一个有两个线程的cpu就相当于两个cpu,我们后面要学习的进程和线程的知识就起源于这里,进程是资源单位而线程才是cpu的执行单位。
多线程运行cpu保持两个不同的线程状态,可以在纳秒级的时间内来回切换,速度快到你看到的结果是并发的,伪并行的,然而多线程不提供真正的并行处理,一个cpu同一时刻只能处理一个进程(一个进程中至少一个线程)
III.第三步增强:除了多线程,还出现了傲寒2个或者4个完整处理器的cpu芯片,如下图。要使用这类多核芯片肯定需要有多处理操作系统


二 存储器

- 寄存器:(即上图L1缓存)
用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB。
- 高速缓存: (即上图L2缓存)
L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。
- 内存:
许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,
时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,哪一个是启动磁盘等,之所以采用CMOS是因为它耗电非常少,
一块工厂原装电池往往能使用若干年,但是当电池失效时,相关的配置和时间等都将丢失
这一层称之为主存,此乃存储器系统的主力,主存通常称为随机访问存储RAM,就是我们通常所说的内存
- 硬盘:
电脑硬盘是计算机最主要的存储设备,主要分为 “机械硬盘” 和 “固态硬盘” 2种。
机械硬盘(HDD:Hard Drive Disk) 磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位) 单位换算: 8bit比特(位) = 1Bytes字节 1024Bytes = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 扇区: 一个扇区通过为512Bytes 站在硬盘的解读,一次性读写数据的最小单为为扇区 IO延迟: 以一个7200rpm的硬盘为例: 7200rpm也就是7200转 / 分钟 120转 / 秒 1次转动花费8ms 平均寻道时间: 机械手臂转到数据所在磁道需要花费的时间 受限于物理工艺水平,目前机械硬盘可以达到的是5ms 平均延迟时间: 转半圈需要花费4ms,受限于硬盘的转速 IO延迟 = 平均寻道时间 + 平均延迟时间 优化程序运行效率的一个核心法则: 能从内存取数据,就不要从硬盘取 IO设备=设备的控制+设备本身 常见的机械硬盘接口:SATA 优点:存储容量大,价格便宜,使用寿命长。 缺点:读写速度慢,最快读写速度约为300M/s;有噪音;震荡易损坏;功耗大。
- 磁带:
在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。 (常见于大型数据库系统中)
三 IO设备
#1、输入设备 输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将他们转换成计算机内存所能识别和接受的信息方式。 安输入信息的形态可分为字符(包括汉字)输入、图形输入、图像输入及语言输入等。
目前,常见的输入设备有:键盘、鼠标、扫描仪等。辅助存储器(磁盘、磁带)也可以看作输入设备。
另外,自动控制和检测系统中使用的模数(A/D)转换装置也是一种输入设备。 #2、输出设备 输出设备的任务是将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
总结: 我们操作计算机其实就是操作计算机硬件,那么把计算机硬件比作人的躯体,那么软件就是人的灵魂.

图1为计算机系统的层次结构。内核是硬件系统,是进行信息处理的实际物理装置。最外层是使用计算机的人,即用户。人与硬件系统之间的接口界面是软件系统,它大致可分为系统软件、支援软件和应用软件三层。
简单来说就是:
人
软件
硬件
而软件又分为系统软件和应用软件,
-
应用软件如qq 微信 谷歌浏览器这些
-
系统软件 如操作系统
浙公网安备 33010602011771号