片选位代表什么,它们如何影响整体存储器地址?

时间:2019-04-04 16:24:56

标签: assembly binary memory-address

我目前正在阅读Adam Osborne对微型计算机第1卷的介绍,并且在理解片选位方面遇到困难。每个位代表什么?芯片数量如何影响地址中所需的芯片选择位数量?是否需要更多的片选位会降低计算机的存储容量?

3 个答案:

答案 0 :(得分:0)

Z80具有IN和OUT指令,它们指示与I / O设备(而非存储器)之间的传输。对于I / O设备,通常仅使用低8位,这将转换为256个可能的I / O地址(与内存读/写地址分开)。

Z80芯片的内存接口可能会将某些内存地址位映射到特定内存芯片的芯片选择位,具体取决于内存芯片的大小。

答案 1 :(得分:0)

这个想法是,在某些设计中,您可能不想让每笔交易都有内存答案。

一种情况是,您可能拥有一个带有8位地址的内存,如果您可以在板上放置更多这些芯片,则不会将您限制为256个可寻址项。将两个芯片放在电路板上,将低8位地址位连接到两个,数据线也都连接,但是可以使用一小部分逻辑(实际上是一个简单的反相器)来使地址位8允许在其中一个上进行芯片选择芯片或其他。和地址位7..0,然后选择该存储器中的哪个项目。地址位8为0将使其中一个存储器能够进行片选,而另一存储器则不能。而在事务处理期间,地址位8为1将使另一个存储器但不能对第一个存储器进行片选。

另一种情况是考虑使用8位宽部分的32位宽总线。如果要进行32位写入,则要断言所有存储器上的片选。地址线以相同的方式绑定到所有它们,但是字节通道0位0-7位于一个存储器上,字节通道1位8-15位于另一存储器上,依此类推。现在,如果总线上的事务告诉您这是一个8位事务并且在字节通道0上,那么您只需在字节通道0上断言该事务的片选。 16位低位字节通道则仅断言用于低位两个存储器的芯片选择,其他两个则不起作用。只有那两个记忆才能被其他人记忆。通常在较宽的总线(例如32位)上有一个指示器,它可以进行字节大小的写入,一种常见的方式是某种形式的字节通道掩码,四个独立的控制信号,如果使用字节通道则断言,否则则断言用于该事务的您可以直接或通过反相器将它们绑定到内存的芯片选择。

片选只是一个使能。如果未使能片选功能,所有其他信号都将被忽略,因此您可以看到有多种使用方法。对于某些设计,尽管您只是将芯片选择接地(如果断言为低电平),那么它总是会注意其他信号。

芯片选择的数量无关紧要。您可能有一个32位宽的存储器,并且为该存储器选择了一个芯片,那么您可能会有一个千兆位的部分(通常以位为单位指定内存,而不是字节,宽度是该规范的单独部分),或者是一个32位宽的4千兆位部分一个拥有4倍的内存。可以具有8位宽的部分,比32位宽的部分具有更多的内存。通常每个零件/模块只有一个芯片选择,但有时也会有所不同。至少在今天这个时代,在z80和8088的日子里,芯片选择的数量与内存的大小或宽度之间没有直接的联系,因此您没有太多选择16位或更宽的零件,因此8088的全部目的是使其16位处理器能够使用通常可用的8位宽部分。

答案 2 :(得分:0)

我知道了。如果地址在RAM芯片之间分割,则该地址并不保存微处理器可以访问的每个位置或位。微型计算机将仅具有其RAM芯片所允许的内存。地址一词仅指任一芯片中的各个“位置”。它不代表微处理器的字长。片选位仅指特定芯片。地址共同描述了芯片及其内部位置。它不能提供有关计算机有多少内存的信息,因为每个位置的大小取决于所使用的芯片。包含256个位置的芯片并不意味着在该芯片上存储256位。