0x12345678和12345678H都是指同一个十六进制,也就是12345678,不过是不同的编程语言的写法而已
具体来说,如果有 n 根地址线,计算机可以寻址的内存空间大小是 2^n 字节。
24根地址线: 如果一个系统有24根地址线,意味着它可以传输24位的地址。
按字节寻址:
按字节寻址意味着每个地址指向一个字节(8位)的存储单元。
2^24 = 16,777,216 个地址。
每个地址指向一个字节,因此可以寻址的内存空间大小是 16,777,216 字节。
16,777,216 字节转换为兆字节(MB)
16,777,216 字节=16 MB
1 MB = 1,048,576 字节
字长为16位:
1字 = 16位 = 2字节。
按字寻址:
按字寻址意味着每个地址指向一个字,而不是一个字节。
8MW表示8百万个字:
8MW = 8 * 10^6 个字
计算总字节数:
总字节数 = 8 * 10 ^6 个字* 2字节/字 = 16 * 10 ^6 字节
8MW 表示容量为 16MB 的内存。
可以理解成字长8位是一个字节,16位是两个字节,32位是四个字节。
但是总的字节不变,是16MB,所以16MB/2B/W = 8MW,16百万字节 / 4字节/字 = 4百万字。(B/W = 字节/字,M = 百万)
片选线(Chip Select Line)
用于选择需要与系统通信的特定半导体存储芯片。在多个存储芯片连接到同一总线上的情况下,通过控制片选线的状态,可以选择要与系统进行数据传输的特定存储芯片,而其他存储芯片将忽略总线上的通信请求。
芯片容量 = 存储单元的位宽度 × 存储单元的数量
上图用 数据线 = 存储单元的位宽度 ,地址线 = 存储单元的数量(是不考虑数据线 != 存储单元的位宽度的情况)
2 ^10 X 4位 = 1024 X 4位
2 ^14 X 1位 = 16384 X 1位
2 ^13 X 8位 = 8192 X 8位
实际上如果存储单元的位宽度增加到16位,但是数据线的位宽度仍然是8位,传输两次是可能的,但需要确保数据对齐、正确的读写操作和时序同步。
不同的芯片选择CS或者CE其中一种,用来选择芯片
片选线(Chip Select,CS):
片选线通常是一个信号线,用于选择要与系统通信的特定芯片或设备。当片选线处于激活状态时(通常是低电平),表示选择了特定的芯片或设备,其他芯片或设备将被忽略。
片选使能(Chip Enable,CE):
片选使能通常是一个控制信号,用于使特定的芯片或设备处于活动状态。当片选使能信号处于激活状态时,表示相应的芯片或设备已准备好接受数据传输或其他操作。片选使能通常与片选线一起使用,片选线选择要与之通信的设备,而片选使能信号使选定的设备处于活动状态。
读写控制线
一条线
当WE信号处于低电平时,表示系统要执行写入操作;而当WE信号处于高电平时,表示系统要执行读取操作。这样的设计允许在同一信号线上使用不同的电平来区分不同的操作类型。
两条线
WE(Write Enable,写使能):WE信号用于控制写入操作。当WE信号处于激活状态(通常是低电平)时,表示存储器处于可写状态,可以执行写入操作。写使能信号告诉存储器芯片,当前操作是写入数据到存储器中。
OE(Output Enable,输出使能):OE信号用于控制读取操作。当OE信号处于激活状态(通常是低电平)时,表示存储器处于可读状态,可以执行读取操作。输出使能信号告诉存储器芯片,当前操作是从存储器中读取数据。
- 每个16K x 1位的存储芯片有16K个存储单元(地址范围从0到16383),每个存储单元存储1位数据。
- 16K X 1位的意思就是一个存储芯片等于一个存储单元
- 将8个存储芯片按照列连接起来,形成一个8位宽度的存储器。这意味着每个存储地址可以同时读取或写入8位数据。
- 使用地址线来管理存储器的地址空间。由于有8个存储芯片,每个存储器地址需要同时选择8个存储芯片中的一个。因此,需要使用3根地址线(2^3 =8)来选择存储芯片(称为片选线)。
- 使用控制信号(如写使能信号和读使能信号)来控制读写操作。
16K X 1位,我们把1位变成了8位,那其实变相的就变成了 2K X 8位,那乘以32片不就变成了64K X 8位了吗
上图这个为了保持16K X 8位,就是把8片2K X 8位划为一个组。而65535是2的16次方减1,64K - 1 ,我们一共就只有64K个存储芯片,所以是最后一组的片选有效