计算机硬件
https://www.bilibili.com/video/BV17E411478j?p=2
https://zhuanlan.zhihu.com/p/362059793
硬件
主机
存储器
硬盘
内存处理器(CPU)
控制器:编解码指令,选择运算电路,存取内存数据
运算器:进行运算
(控制器和运算器都能和内存进行数据交换)I/O设备
内存
有纳米级元器件组成,0V表示断电(低电平),5v表示通电(高电平)
每个元器件都可以表示2个数值,每个元器件表示1bit,8个表示1字节
1GB内存:简单理解就是1GB个纳米级元器件
实际情况- CPU与内存
CPU直接从内存中读取数据,处理完后将结果再写入内存
软件与内存
软件本身就是一堆数据的集合
不开启时,软件在硬盘中
启动软件时,操作系统会将硬盘中的数据复制到内存中 <-- 载入内存
因此:软件时运行在内存中 <-- 内存的读写速度比硬盘快
载入内存的这一过程需要一个特殊的软件程序,叫做加载器
内存断电后会丢失数据
内存与地址
数据以二进制的形式保存在内存中,字节是最小的可操作单位
在内存管理中,为每个字节分配了一个编号,使用该字节时,只要知道编号就可以,这个编号,就是地址
虚拟内存
程序过多,会造成:占用的空间超过内存条的容量
更实际的情况是:当程序运行需要的空间大于内存容量时,会将内存中暂时不同的数据再写回硬盘,需要这些数据时再从硬盘中读取,并将另一部分不同的数据写入硬盘
即,硬盘中会有一部分空间用来存放内存中暂时不同的数据:<-- 虚拟内存
内存与整数
整数是以补码的形式(也是二进制)存在内存中
运算也是通过补码进行的
内存溢出
内存溢出会被裁掉
字符编码
见python-数据类型