b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

CPU与存储设备之间的地址线连接方法

电脑杂谈  发布时间:2020-08-13 12:02:03  来源:网络整理

64位cpu寻址范围_cpu寻址外设端口地址的方法_mac地址寻址

将闪存连接到CPU时,根据不同的数据宽度,例如16位NOR FLASH(A0-A19),处理器(A1-A20)的地址线应移1位到CPU. 剩下. 为什么会有偏见?

从软件和CPU的角度来看,一个地址对应一个字节,即8位数据. 这是肯定的,请不要怀疑.

对于特定设备,其位宽是固定的. 所谓的位宽是指“读/写操作期间的最小数据单位”──更不用说最小单位是“位”. 没有单独的“位操作”. 修改位时,将读取,修改和写回整个字节,字或双字.

与CPU地址线(A0-A20)对应的最小数据单元是字节,为8位;

NOR FLASH的地址线(A0-A19)的位宽为16位,对应于最小的16位数据单元.

这两个如何对应?

如果

当软件要读取地址1处的8位数据时,硬件会这样做:

①“存储控制器”发出地址信号0b0000000001,NOR FLASH的A0-A19线上的信号为: 0b000000000

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第一个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”将该16位数据的高8位(注意前面的低8位)返回给CPU,这是8位数据.

当软件要读取地址2上的8位数据时,硬件会这样做:

①“内存控制器”发出地址信号0b0000000010,NOR FLASH的A0-A19线上的信号为: 0b000000001

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第二个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”将该16位数据的低8位返回给CPU,即8位数据.

当软件要读取地址3的8位数据时,硬件会这样做:

①“内存控制器”发出地址信号0b0000000011,NOR FLASH的A0-A19线上的信号为: 0b000000001

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第二个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”将该16位数据的高8位(注意第三点是低8位)返回给CPU,这是8位数据.

当软件要读取地址0和1的16位数据时,硬件会这样做:

①“存储控制器”发出地址信号0b0000000000,NOR FLASH的A0-A19线上的信号为: 0b000000000

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第一个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”将此16位数据返回给CPU

当软件要读取地址2和3上的16位数据时,硬件会这样做:

①“内存控制器”发出地址信号0b0000000010,NOR FLASH的A0-A19线上的信号为: 0b000000001

cpu寻址

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第二个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”将此16位数据返回给CPU

当软件要读取地址0、1、2和3的32位数据时,硬件会这样做:

①“存储控制器”发出地址信号0b0000000000,NOR FLASH的A0-A19线上的信号为: 0b000000000

②NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第一个“最小数据单元”

③“内存控制器”读取此16位数据

④“内存控制器”发出地址信号0b0000000010,NOR FLASH的A0-A19线上的信号为: 0b000000001

⑤NOR FLASH在数据总线D0〜D15上提供16位数据,这是NOR FLASH中的第二个“最小数据单元”

⑥“内存控制器”读取此16位数据

⑦“内存控制器”将两个16位数据合并为一个32位数据,然后将其返回给CPU.

从1到7:

①就软件而言,它不知道底层发生了什么,它只关心结果:

读取地址0的8位数据,您将获得8位数据;读取地址1的8位数据,您将在其旁边获得另一个8位数据.

读取从地址0开始的16位数据,您将获得16位数据;从地址2开始读取16位数据,您会在其旁边看到另一个16位数据

读取从地址0开始的32位数据,您将获得32位数据. 从地址4开始读取32位数据,您会在其旁边看到另一个32位数据

②对于NOR FLASH,无论软件需要8位,16位还是32位,它都仅根据A0-A19地址线提供16位数据.

③“内存控制器”完成了这些位宽之间的数据选择和合并.

所以:

位宽为8时,CPU的A0〜AXX直接连接到设备的A0〜AXX

当外设位宽为16时,CPU的A1〜AXX直接连接到外设的A0〜AYY,这意味着无论CPU的A0是0还是1,外设都会看到相同的地址,对应16位. “内存控制器”选择或组合数据并将其提供给CPU.

当设备看到相同的地址,对应于32位数据,“内存控制器”选择或组合数据,然后将其提供给CPU.

64位cpu寻址范围_mac地址寻址_cpu寻址外设端口地址的方法

但并非所有的16位闪存和cpu连接都像上面那样交错,这与特定的闪存芯片设计有关,因此您需要检查其数据表. 下面以Stone E29F128芯片的29LV650和Intel为例进行说明

当intel或flash的位宽为16bit(由VPEN选择)时,A0被忽略(您需要查看手册进行验证)

让我们研究系统总线地址(cpu_addr),宽度(bus_width)或闪存设备总线地址(device_addr),位度(device_width)之间的区别和关系:

首先,对于非Flash设备

1. nor flash设备的位宽取决于芯片制造商. 共有两种通用方法: x8和x16(尽管现在主要使用x16方法,但是内核仍然在引导代码中保留x8和x16方法. 可以通过组合多个nor flash来扩展位宽(例如,可以同时使用两个x8 nor flash将位宽扩展到x16).

2. nor flash设备的总线地址(寻址)范围取决于特定的芯片及其位宽:

以Fujitsu的29LV650为例:

(29LV650的容量为8 MB,总共128个扇区,每个扇区的大小为64 KB)

1)如果位宽为x8,则设备总线的每个地址代表一个字节存储单元,总线地址范围为8M(0x000000〜0x7fffff);

2)如果位宽选择为x16,则设备总线的每个地址代表两个字节存储单元,总线地址范围为4M(0x000000〜0x3fffff);

让我们再次看看英特尔的E29F128:

(E29F128的容量为16Mbyte,总共128个扇区,每个扇区的大小为128Kbyte)

1)如果位宽为x8,则设备总线的每个地址代表一个字节存储单元,总线地址范围为16M(0x000000〜0xffffff);

2)如果将位宽选择为x16,则情况与Fujitsu的29LV650不同. 目前,该设备的A0引脚不可用,因此您无法访问具有奇数地址的存储器单元,而只能访问0、2、4 ...要访问,总线地址范围为8M(偶数地址). 0x000000〜0xffffff)

第二,对于系统

以S3C2410为例,CPU总线宽度为32位,并且可以通过8位,16位和32位总线宽度访问nor flash设备,具体取决于设备的位宽度以及是否为一起使用:

注意:

buswidth = device_width * interleave:

但是,在CPU的眼中,每个地址都代表一个1字节的存储单元,这与nor flash设备不同,有字节和字点.

三个. 好吧,了解了系统总线地址和宽度以及nor flash设备的总线地址和位宽度之间的区别之后,

现在让我们讨论cpu和nor flash之间的连接(以示例说明):

1. 对于富士通的29LV650

mac地址寻址_cpu寻址

1)选择x8模式,CPU的A0〜A22连接到nor flash的A0〜A22

2)选择x16模式,CPU的A1〜A22连接到nor flash的A0〜A21

注意:

cpu的A1连接到nor flash的A0,cpu只能访问偶数地址,cpu的一项操作访问2字节存储单元.

2,适用于Intel的E29F128

1)选择x8模式,cpu的A0〜A23连接到nor flash的A0〜A23

2)选择x16方法,因为此时地址线A0不再有效(这与Fujitsu的29LV650不同),

英特尔E29F128的A1相当于富士通的29LV650的A0,因此系统总线A1〜A23连接到nor flash的A1〜A23

四个,就CPU寻址或闪存而言

1. 对于富士通的29LV650

1)在x8模式下,系统总线和非Flash总线对应于的直接访问

2)在x16模式下,NOR闪存的从11位更改)

注意:

我在这里谈论的是存储单元的地址(以字节为单位)

由于系统总线的A1接nor flash的A0,固系统总线地址等于nor flash总线地址<<1位

注意:

我在这里谈论的是nor flash的总线地址. 对于x8模式,单位是字节,对于x16模式,单位是字.

2,适用于Intel的E29F128

1)在x8模式下,系统总线和非Flash总线对应于的直接访问

2)在x16模式下,不再使用nor flash总线的A0,而有效总线为A1〜A23,因此当我们对其寻址时,无需寻址要访问的存储单元就像富士通的29LV650>> 1位(因为A0不再有效,它等于自动忽略了奇数地址,只有偶数地址有效)

相同:

由于nor flash总线的A0不起作用,并且系统总线的A1连接到nor flash的A1,因此我们只需要直接提供存储单元的地址即可,而无需这样做


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-298039-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...