📜  ROM的大小,用于n位加法器/减法器

📅  最后修改于: 2021-06-28 15:53:41             🧑  作者: Mango

ROM是用于存储数据的只读存储器。 ROM中的存储器被组织为存储单元的二维阵列。内存将读取或写入阵列行之一的内容。该行由位的地址指定。读取或写入的值称为数据。

图a)显示了一个具有两个地址位和三个数据位的存储器阵列。这两个地址位指定数组中的四行(数据字)之一。每个数据字为三位宽。
图b)显示了内存阵列的一些可能内容。

具有n位地址和m位数据的存储单元阵列将具有2^n 行和m列,如图所示。每行数据称为一个单词。因此,该数组包含一个2^n 字xm位数组。

在图的情况下,具有2位地址和3位数据的存储单元阵列将具有2^2 行是4列和3列,因此数组包含2^n xm = 2^2 x 3 = 4字x 3位数组。

为了清楚理解,让我们采用10个地址位和32个数据位,则ROM的大小为–

2^(10) x 32 = 1024 x 32 = 32 Kb

现在要找到ROM的大小,我们需要找到输入和输出位数–

输入数量= n(A)+ n(B)+1(Cin)= 2n + 1个地址位

输出数量= n(sum / diff)+ 1(Cout)= n + 1

因此,这将需要2 ^(2n + 1)x(n + 1)位ROM。

此处, n(A)表示A的输入数量, n(B)表示B的输入数量。

示例1:可以用来为Cin和Cout编程16位加法器/减法器的ROM的大小是____?

解决方案 :

输入数量= 16(A)+ 16(B)+ 1(Cin)= 2(16)+1 = 33个地址位。

输出数量= 16(sum / diff)+ 1(Cout)= 16 + 1 = 17

Thus, this would require a 2^(2n+1)x(n+1) = 2^(33)x17 bit ROM.

例2:可以用来对Cin和Cout进行8位加法器/减法器编程的ROM的大小是____?

解决方案 :

输入数量= 8(A)+ 8(B)+ 1(Cin)= 2(8)+1 = 17个地址位。

输出数量= 8(总和/差)+ 1(Cout)= 8 + 1 = 9

Thus, this would require a 2^(2n+1)x(n+1) = 2^(17)x9 bit ROM.