linux学习之计算机基础(三)

缓存架构

之前提到寄存器避免了CPU与内存时钟频率不一致而造成的长时间等待。

然而寄存器造价非常高。

于是CPU还有缓存的概念。缓存可以分为一级缓存。二级缓存。三级缓存。

一级缓存:大多主要存放。解码后的指令,数据。 速度比CPU慢 1-2倍。

二级缓存:大多数情况常用的的数据,速度比CPU慢10-20倍。

三级缓存:速度比CPU慢100-200倍。

内存则慢的多的多,大约慢1000-2000倍。

硬盘慢成蜗牛,从硬盘中获取资源是一种非常昂贵的操作。    


访问数据顺序  

一级缓存->二级缓存->三级缓存->内存->硬盘。

所以内存访问是有层层架构的。


南桥北桥

如果说这么多设备都一下子连接到总线。CPU会很崩溃。因为速度不一样,无法协调管理。

如何解决这么多设备速度不一样的问题呢?

计算机对速度比较慢的一些设备叫做低速设备(比如IO设备)

对速度较快叫做高速设备(比如内存)。

高速设备接入北桥然后接入到高速总线。

低速设备接入南桥然后接入到低速总线,最后一起汇总到高速总线。

CPU如何和外界交互?

CPU也需要连入北桥。连入的总线叫做FSB(前端总线)。

FSB模式技术的革新

FSB模式技术的革新

受前端总线的传输数据量限制。

AMD率先提出新技术来革新这种传统前端总线的设计。

Intel也紧跟着提出自己的新技术。

新的技术为:CPU与外界交换不必采用南桥北桥接入的方式。

内存不用接入到北桥,再接入到高速总线与CPU进行交互,可以直接接入CPU。

CPU通过MMU访问内存的内存控制器进行数据交换。

程序由指令和数据构成

CPU如何知道数据在内存中的什么位置?

计算机进入程序入口,读取指令,指令告诉计算机数据的位置。

CPU通过寻址方式查找数据在内存的位置。

设置访问方式(是读?还是写?)。

通过总线把数据从内存加载过来。

因此CPU获取数据 不是马上加载过来的。而是要通过许多步骤。


内存是没有数据的。

数据在真正访问前通常是在硬盘上--然而IO设备访问非常慢。比内存慢的多的多。

所以经常采取在内存划分cache,buffer。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值