(本文只是自己的学习总结,不一定正确,仅供参考)
一个完整的计算机系统示意:
1bit=1位
1byte=8bit=1字节
1word=2byte=1字
存储器的地址按字节或字编址。
机器字长即CPU一次能够处理的二进制位数,32位CPU/64位CPU指的就是机器字长。32位系统/64位系统指的是适配对应位数CPU的操作系统。
存储字长是计算机系统地址寻址的二进制位数,影响最大允许内存,已经由计算机系统固定,无法扩展。比如某些计算机系统最大支持4G内存。而外存储器属于IO设备,其存储地址由设备自身维护,与计算机自身系统隔离,所以存储空间可以无限扩展。
按存取方式分:随机访问存储器(RAM和ROM)和串行访问存储器(顺序存储器如磁带,直接存储器如磁盘)。随机访问可直接寻址,存取时间与物理地址无关;串行访问需要对存储器进行地址计算和串行存取,存取时间与物理地址有关。
随机存储器RAM:
静态SRAM:采用锁存器原理实现;
动态DRAM:采用电容原理实现,需要刷新。
相比于动态RAM,静态RAM的速度快、容量小、价格高,一般用于缓存(cache),而动态RAM一般用于内存(条)。
只读存储器ROM:
1)掩模ROM(MROM):出厂后内容不能被更改。
2)PROM:可编程只读存储器,可以进行一次性编程;
3)EPROM:可擦除只读ROM,用紫外线照射;
4)EEPROM:电可擦除只读ROM。
6)FLash
Memory:采用EEPROM的非易失性存储器。分为NOR和NAND两种技术,高可用性为NOR(芯片内执行),大容量静态存储为NAND(固态硬盘,手机内置存储,存储卡)。
闪盘:
页、区、块。
磁盘:
柱面地址、磁头号地址、扇区号地址。
各种存储器的容量用字节数表示,如80Gbyte,简写为80GB。
缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对所有的程序员完全透明。
主存-辅存层次:用来解决主存容量不够的问题,由操作系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
寄存器、缓存、主存、辅存,容量依次增大,速度依次减小。
大端方式:字的低位存在内存的高地址中,而字的高位存在内存的低地址中;
小端方式:字的低位存在内存的低地址中,而字的高位存在内存的高地址中。
x86CPU采用的是小端方式。
特点:共享(共同使用同一信道),分时(同一时刻只能有一组数据传输)。
分类:数据总线、地址总线、控制总线。
总线宽度:数据总线的位数。
总线带宽:总线数据传输速率,总线上每秒能够传输的最大字节量。由总线工作频率和总线宽度决定。
总线复用:一条信号线上分时传送两种信号。例如数据总线和地址总线的分时复用。
总线周期:申请分配阶段:申请总线;寻址阶段:发出地址及有关命令;传数阶段:进行数据交换;结束:从总线上撤除信号,让出总线。
时钟周期是最基本的时间单位,每个总线周期在多个时钟周期内才能完成,总线工作频率即完成一次基本工作的周期对应的频率,要小于时钟频率。
目前流行的总线标准:1.ISA总线 2.EISA总线 3.VESA总线 4.PCI总线 5.AGP总线
6.RS-232C总线 7.USB总线
并行:多位,同时。优点速度快,简单;缺点占用大量IO,不能长距离传输。
串行:单位,时间顺序一位一位地传输。优点占用IO少,长距离;缺点复杂,速度慢。
解决通信双方的时间配合问题。
同步通信:总线上各个部件由统一的时钟信号控制;在总线周期中,每个时钟周期各个部件如何动作都有明确的规定。
优点:速度快,各个模块间配合简单。
缺点:以总线上最慢的部件来设计公共时钟,影响总线效率。
异步通信:总线上各部件没有统一的时钟标准,采用应答式通信;(主模块发出请求后,一直等到从模块反馈回来应答信号之后才开始通信)
异步通信的三种类型:不互锁、半互锁、全互锁。
比特率:单位时间内传送的二进制位数,单位bps(bit per
second)或bit/s。常用。
波特率:单位时间内传送的基本数据单元的数量。比如定义视频每一个像素点为一个基本数据单元,波特率为每秒像素点数(单帧像素点*帧率),单位Baud。
I/O设备编址:
统一编址方式:和存储器统一编址,I/O地址作为存储器地址的一部分;无须用专用的I/O指令,但占用存储器空间。
独立编址方式:和存储地址分开编址,需用专用的I/O指令。
使用IO的方法:
程序查询。
程序中断。
DMA。
通道。
计算机在执行程序过程中,当出现异常清空或特殊请求时,计算机停止现行程序的运行,转去处理这些异常清空或特殊请求,处理结束后,再返回现行程序的间断处,继续执行原程序,即为中断。
中断服务程序的基本流程:
1)保护现场
2)中断服务
3)恢复现场
4)中断返回
中断可选择优先级,可嵌套。
当前指令执行完毕后,cpu发出中断查询信号,也就是说,中断响应一定是在每条指令执行结束之后进行的,不可能在指令执行过程中响应中断。
计算机只能识别二进制数,计算机实现的一切功能,都基于对二进制数的加减乘除运算得到。
原码:原数值,有符号数的最高位是符号位,0是正数,1是负数。
数学意义上的反码:所有位按位取反。
计算机定义的反码:正数的反码是原码自身,负数的反码是原码按位取反,符号位除外。
补码:正数的补码仍然是原码自身,负数的补码是反码+1。
有没有符号位。无符号数只表示正数
整数:没有小数位
定点数:小数点固定
浮点数:小数点浮动
在芯片上都有对应的硬件结构,可视为消耗单位指令时间
每种架构的CPU都已经在硬件上确定了能够识别的指令(二进制),汇编语言的指令只是把不同指令的二进制机器码对应成了英文,然后加上了操作数据。
汇编语言功能:
基本运算加减乘除,高级的运算全都基于基本运算。
对指令寻址、对数据寻址。寻址方式有绝对地址、相对地址等。
可发出中断命令。
基本的程序流程控制,如条件、循环、跳转等。
C/C++语言是基于汇编语言的抽象,学习C/C++,尤其是对程序进行调试,必须能够搞懂底层的汇编语言是怎么执行的。
CPU根据其设定的汇编指令集的不同分为不同架构,指令集大致分为CISC复杂指令集和RISC精简指令集,下面又细分为具体的各种架构,如x86/arm/mips架构等。
大写B表示byte,小写b表示bit。
计算机表达数值均以字节(1byte=1B=8bit)为基本单位,以1024为转换基数,如1MB=1024kB,1GB=1024MB.
而通信领域以位bit为基本单位,以1024为转换基数,如100M带宽指的是100MHz,传输速度100Mbps指的是100Mbit/s,均需除以8(很多情况下各协议需添加额外的位,除数可近似改为10)。
存储器制造商(如内存、硬盘、存储卡等)以字节为基本单位,以1000为转换基数,如1MB=1000kB,1GB=1000MB,需从最小的kB起进行换算。
1kB(标)=1000B(实)
1MB(标)=976kB(实)
1GB(标)=953MB(实)
1TB(标)=931GB(实)
代码与数据统一编址统一存储,串行执行(可使用流水线模拟并行),灵活性高。通用计算机多采用。
代码与数据分开编址,简单并行执行,可靠性高。单片机、嵌入式多采用。
主板上的各种总线及附属芯片。没有逻辑上的概念,纯粹是物理上的信息通路。
CPU直接执行由汇编指令编译出来的二进制机器码。
处理器根据汇编指令集的不同分为不同架构,指令集大致分为CISC复杂指令集和RISC精简指令集,下面又细分为具体的各种架构,如x86/arm/mips架构等。
——PC端品牌有intel/AMD,属于CISC-x86架构
——移动设备大多是RISC-ARM架构
控制器控制计算机系统的开关机、运行状态、程序中断等。逻辑上的控制器和运算器均集成到了CPU芯片中
运算器通过执行最基本的加减乘除运算,实现各种复杂的功能。逻辑上的控制器和运算器均集成到了CPU芯片中
CPU执行指令时临时存储数据的部分
CPU自带的临时存储寄存器,速度最快,容量最小,指令级别
kB数量级
介于CPU和内存之间,用于高速缓存程序和数据片段,减少对内存的直接读写,提高系统速度。可设置多级缓存,一级缓存、二级缓存等。
cache模块物理上集成在CPU芯片内,但在逻辑上属于存储器
MB级别
内存条。
GB级别
外存储器逻辑上属于存储器,但在物理上属于I/O设备,与计算机核心不能直接相通,速度慢
TB级别
都自带独立的处理器和内存,都兼有输入和输出双重功能,是一套小型的计算机系统,可产生更强大的能力
作为计算机系统的辅助(外)存储器,通过IO接口进行交互
与硬件设备紧密相关,本身是软件,但在逻辑上从属于硬件系统
操作系统(实时操作系统ucos、分时操作系统linux/windows/macos)
标准程序库(动态与静态链接库,Windows上为lib,Linux上为so)
语言处理程序(编译器,gcc,java,python等)
服务程序(开机自动运行的后台程序)
数据库管理系统(sqlserver/mysql/oracle)
网络软件等
办公、娱乐、社交、辅助设计、辅助控制等各种应用软件
1GHz数量级,指CPU的时钟频率,整个计算机最高频率,整个计算机的计算速度依赖于CPU频率,2GHz以上够用。
多核心,指多个CPU内核并行计算,多核可产生多个倍增效果,4核以上够用。
64位,支持的地址指数级暴增,利于以后的扩展,但对计算速度帮助不大,只增加一倍,64位应当是标配。
厂商:几乎被英特尔垄断,且版本也要选择i5/i7。
内存容量10GB数量级,8GB以上够用。
内存频率1000MHz数量级,1600MHz以上够用。
厂商:三星、金士顿、闪迪、威刚、海力士。
主要是各种接口、系统总线等,主要是速度限制。
厂商:西部数据、希捷、三星、东芝、英特尔。
磁盘(机械硬盘HDD),台式机3.5寸SATA,普通笔记本2.5寸SATA。(无论台式或笔记本,IDE并口均已淘汰)
闪盘(固态硬盘SSD),普通笔记本2.5寸SATA,超级笔记本M.2。
SATA既是物理接口,又是传输接口。(物理兼容,2.5寸盒式硬盘,机械或固态,独立插入,可方便更换)
M.2 B key(又称Socket2——ngff),支持SATA、PCIe
x2接口。(芯片式硬盘,只有固态,与内存条类似。M.2两种物理接口不兼容)
M.2 M key(又称Socket3——nvme),支持PCIe
x4接口。(芯片式硬盘,只有固态,与内存条类似。M.2两种物理接口不兼容)
SATA1.0,150MB/s;SATA2.0,300MB/s;SATA3.0,600MB/s。
PCIe,x1 400MB/s、x2 800MB/s、x4 1.6GB/s、x8 3.2GB/s。
磁盘寿命比较平均,要选择好厂家,寿命比闪盘长很多,且数据固化,不会消失。磁盘的问题:怕机械振动、一旦出现坏道一损俱损(整存整亡)。
理论寿命3万小时以上(每天开20小时只需4年,每天开10小时只需8年),我的电脑硬盘已经用了6k小时。
5400转,读80MB/s,写30MB/s,价格40元/100G。
7200转,读120MB/s,写50MB/s,价格70元/100G。
闪盘存储颗粒为NAND。闪盘的问题:数据出错(软性问题)、坏块(硬性问题)、长时间放置会掉电丢失数据(软性问题)。
(确实性能比机械硬盘高许多倍,比如TLC读写速度高10倍,单位容量价格高3倍)
SLC——质量最佳,但已经很少见。
MLC——质量中等,擦写寿命3000+次,读3GB/s,写1.5GB/s,价格400元/100G。
TLC——质量最差,擦写寿命1000+次,读1.5GB/s,写500MB/s,价格200元/100G。
硬盘容量:系统盘128G以上,存储盘500G- 1T以上够用。
硬盘读写速度:
磁盘取决于转速,上面已经写出。
闪盘取决于类型,上面已经写出。
硬盘可靠性与寿命:
无论磁盘还是闪盘,都取决于读写次数,磁盘需要额外考虑运行时间,闪盘需要额外考虑放置时间。一般磁盘比闪盘更可靠、寿命更长。
USB是非常重要的通用接口,移动硬盘需要。
(均区分大端和小端,大端均为Type-A,即常见的方口)
USB
(Type-A+)Mini(现存最老版本,采用USB2.0,60MB/s),双向数据,单向能量。
USB
(Type-A+)Micro(当前主流,采用USB2.0或USB3.0,60MB/s或500MB/s),双向数据,单向能量。
USB
(Type-A+)Type-C(采用USB3.1,1GB/s),可双向传输能量和数据,功率更强,插头为圆角不分正反,为能量、数据的全双工通路。
USB2.0,60MB/s;USB3.0,500MB/s;USB3.1,1GB/s
常用的标准16:9分辨率。
屏幕尺寸是对角线长度。比如:15.6寸。
专门用于图像处理、视频输出、科学计算等工作的部件,对玩游戏、多媒体创作、科学研究等工作具有极大影响。非常重要的一个组成部分,GPU和显存是重要的性能指标。而且价格也比较昂贵。
厂商:英伟达、AMD。
传输模拟图像信号,有被干扰导致图像出现雪花不清晰的可能性
传输数字图像信号
百兆网卡,千兆网卡已够用。需配合支持百兆(五类)或千兆(超五类)的双绞线,否则只能降级。
WIFI工作频率2.4G/5G,一般为数百兆带宽,网速1~10MB/s,单独使用勉强够用。
WIFI创建一个无线局域网,至于此局域网是否能够接入广域网,还要看无线路由器。