主存储器与cpu连接

主存储器与cpu连接

主存储器与cpu连接_第1张图片

一、连接原理

总共3条线,数据总线、地址总线、控制总线

  1. 数据总线的位数与工作频率的乘积正比于数据传输率
  2. 地址总线的位数,决定了可寻址的最大内存空间,这个很好理解
  3. 控制总线,指出总线周期的类型,还有本次输入或者输出操作完成的时刻

二、主存储器的扩展

主存储器与cpu连接_第2张图片

三、存储芯片的地址分配与片选

什么是片选

片选,就是chip select,芯片选择,cpu 要访问某个存储单元,也就是要对存储单元进行读操作或者写操作

主存储器与cpu连接_第3张图片

我们可以看到,一条内存条,上面有很多黑色的芯片,cpu要实现对存储单元的访问,首先要选择存储芯片,然后根据地址码选择相应的存储单元

地址译码器:内存有多少个存储单元,地址译码器就有多少跟线相连,内存最大的存储单元的位数,表示地址译码器输入信号线数。换言之地址译码器就是把输入的二进制数地址,指向相应的物理空间

字扩展,字扩展是指纵向增加存储器中存储字的数量,它的横向即位数不变,位数不变说明数据线数不变,每个芯片的数据都是输出到MDR,这个时候有个问题就是如果几个芯片同时工作,那么数据线上的数据信号就会打架。所以我们要用片选线控制当前哪个芯片工作。有两种方式,线选法和译码片选法

注意,片选线可以简单理解属于地址总线,因为它是连接在MAR高位地址处的

线选法 译码片选法
N条线就有N个芯片选择信号 N条线就有2^N个芯片选择信号
电路简单,每条线直接连芯片,1工作0不工作 电路复杂,需要用到地址译码器,1工作0不工作
地址空间不连续,比如2条片选线,对应2个信号,01是第1个芯片,也是地址最高位,10是第二个芯片,也是地址的最高位,因为第2个芯片高位是10,不能是11,所以地址不连续,第1个芯片不会 地址空间连续,比如1条线就对应了2个信号,0是第1个芯片,也是地址最高位,1是第2个芯片,也是地址最高位,显然地址连续;如果是2条线就对应4个信号,会有00,01,10,11,所以要使用4个芯片时地址空间才会连续,不会被浪费

四、存储器与cpu的连接

主存储器与cpu连接_第4张图片

片选线的连接

存储器由多个存储芯片组成,哪一片被选中取决与存储芯片的片选控制端CS有没有被选中,所以片选线的连接时cpu与存储芯片连接的关键;

cpu那端的信号叫MREQ(memory request);

注意MREQ只是1个信号,用来表示当前需不要选择某个存储芯片,至于选择哪个芯片,还是通过cpu地址线高位决定

你可能感兴趣的:(计算机组成与原理,stm32,自动驾驶,机器学习)