先来了解一下什么是闪存:本质是区别就是——断电后是否数据是否保存。
    计算机组成原理的本质是做什么?
    
     数据处理
    
    ,计算机所有操作所有都是围绕数据(或者可以理解为0,1),可以分为两大个方面:
   
    1、
    
     
      数据存储
     
    
    :数据存储依赖于
    
     增删改查
    
    操作得以实现,而存储的物理介质依赖于
    
     磁介质
    
    (你也可以粗略理解为磁盘)
   
    2、
    
     
      数据传输
     
    
    :数据传输依赖于
    
     总线
    
    (数据总线、地址总线、控制总线),而总线或者说数据传输的物理介质依赖于
    
     导线/半导体
    
   
说到存储,先说一下数据存储的介质有哪些:磁盘(持久化)、内存(中介)、CPU(高速缓存),重点说一下磁盘:
磁盘靠什么存储信息?磁盘表面的磁颗粒对外显正负极(0,1由此而来);磁盘区域是怎么划分的呢?众所周知——磁面、磁道,扇区;磁道宽度和什么有关呢?总线(32位/64位)每个扇区的大小是多少呢?默认4KB(这个是可调的,最常见的内存划分,格式化的时候,4K对齐熟悉吧,对就是这样的)
那为什么是4KB呢?
一方面,如果是4B,那么每个扇区是需要存地址的吧,一个4B,那它所对应的地址存储所占的内存比本身还大,已经失去了它本身的意义,就好比你要建一个目录,目录索引比内容还多(目录占4页,内容只有一页),那目录还有什么用呢?你直接看一页内容不就行了;
另一方面,如果是400KB,那一个磁盘块就这么大,你存一个文件100KB,那后面的300KB只能浪费掉,分配是按磁盘块为单位分的。
    所以,太大不行,太小也不行,所以经过前辈不断的实践、测试,找出了这么一个折中的方案,目的只有一个,希望
    
     磁盘读取信息的速度更快
    
    一些——
    
     一方面让扇区的地址存储小一些,另一方面也要兼顾磁盘块的空间不过与浪费
    
    。
   
我们都知道数据在计算机中是这样传输的:
     
   
    那为啥它不拿磁盘数据直接攻CPU呢?我们假设直接这样攻,
    
     CPU内存是很少的
    
    ,因为它的
    
     主要作用是计算
    
    ,计算速度是放在第一位的,这就限制了它的内存只有必要的寄存器组(后来也加了高速缓存L1\L2\L3这些)
   
    磁盘内存多,但读取是要靠移动磁头来获取数据的,而
    
     机械移动
    
    的速度是很慢很慢的,这就造成了
    
     发送和接收数据速度不匹配
    
    的问题,即磁盘一下拿了很多数据给CPU,但CPU每次只能拿很少的数据,CPU很快就计算完了,再拿就又要到磁盘中取,但这个速度差是非常大的,万倍以上的数量级,即CPU工作一年,要等磁盘数万年,是不是很大的浪费;
   
    为了缩小这个差距,提升效率,引入内存作为中间介质,缓存数据,内存数据传输是通过
    
     电信号
    
    来传输的,速度自然比磁盘快了许多,这时它的速度差少了两个数量级,在百倍上;
   
    当然而后为了
    
     优化,在内存和CPU 之间也采取以上的这种模式
    
    ,在CPU上加高速缓存L1,L2,L3,现在CPU的利用率大概控制在了20%左右,那什么情况下CPU会打满呢?即
    
     短指令的执行
    
    ,比如64位的指令,包含8个8位的短指令,那CPU就计算八次相当于,CPU使用率就上去了。
   
对于总线,总结几个注意的点吧
- 
     各个元器件之间也是有各自相连接的处理器的,
 
 CPU是中央处理器,但不是唯一处理器
 
- 
     总线为什么用高低电压表示0,1?零电压不行吗?
 
 零电压在断路的时候分不出来
 
- 
     电路控制靠的不是我们书上学的电路开关,
 
 靠的是半导体控制电路
 
 
