计组相关笔记①
W1-W5
进制转换
各种各样的进制互相转化啦
repeated subtraction
division remainder
注意除余法是倒着来
原码反码补码
第一位是符号位 正数 0 负数 1
正数的原码反码补码都一样!
正数的原码反码补码都一样!
正数的原码反码补码都一样!
- signed magnitude 原码:转化成二进制
- one’s complement 反码:正数的反码和原码一样 负数的反码是原码除了第一位以外 所有的位反转
- two’s complement 补码:正数的补码和原码一样 负数的补码是在反码的基础上+1
浮点表示法
在作业中,我们通常使用 14 位来表示浮点数,记住 158 就可以了。
如果你看到"with a bias of 16",这是指我们在表示指数时使用了偏移量。偏移量是一个大约在可表示的指数范围中间的数。我们从指数中减去偏移量来确定其真实值。在我们的例子中,我们有一个 5 位的指数,我们使用 16 作为我们的偏移量。这被称为超过 16 的表示法。
也就是说,158 中的 5,这个部分加上 16,然后再转化成二进制,就是我们的指数部分。
关于小数部分 第一位必须是 1 没什么好解释的 也就是小数部分必须是 0.1xxxxx 再乘 2 的几次方
然后这个小数部分抄到 158 的 8 中从前面开始写 后面不够就补 0
crc 循环冗余校验
话不多说 看例题就行
汉明码
先鸽着
真值表
送分题 仔细点咯
表达式化简
或与非逻辑门
给出表达式照着画图就 ok
寻址
How many bits would you need to address a 2M × 32 memory if
a. The memory is byte-addressable?
b. The memory is word-addressable?
如果内存是:
a. 字节寻址的?
b. 字寻址的?
首先,我们需要明白 2M × 32 内存表示的是 2M 个 32 位的字,也就是 2M 个 4 字节 的字。
a. 如果内存是字节寻址的,那么我们需要寻址的是每一个字节。因此,总的字节数是 2M 个字 × 4 字节/字 = 8M 字节。为了寻址 8M 个字节,我们需要 log2(8M) = 23 位。
b. 如果内存是字寻址的,那么我们需要寻址的是每一个字。因此,总的字数是 2M 个。为了寻址 2M 个字,我们需要 log2(2M) = 21 位。
芯片组
Suppose that a 2M × 16 main memory is built using 256K × 8 RAM chips and memory is word-addressable.
假设使用 256K × 8 RAM 芯片构建了一个 2M × 16 的主存储器,并且内存是字寻址的。
a. How many RAM chips are necessary?
a. 需要多少 RAM 芯片?
主存储器的总位数是 2M × 16,而每个 RAM 芯片的位数是 256K × 8。所以,需要的 RAM 芯片数是(2M × 16) / (256K × 8) = 16。
b. How many RAM chips are there per memory word?
b. 每个内存字有多少 RAM 芯片?
因为内存是字寻址的,每个字的大小是 16 位。每个 RAM 芯片可以提供 8 位,所以每个内存字需要 2 个 RAM 芯片。
c. How many address bits are needed for each RAM chip?
c. 每个 RAM 芯片需要多少地址位?
每个 RAM 芯片的大小是 256K,所以需要 log2(256K) = 18 位地址。
d. How many banks will this memory have?
d. 这个内存会有多少个存储区?
因为每个内存字需要 2 个 RAM 芯片,所以总的存储区数是 RAM 芯片数 / 每个内存字的 RAM 芯片数 = 16 / 2 = 8。
e. How many address bits are needed for all of memory?
e. 所有内存需要多少地址位?
主存储器的大小是 2M 个字,因为内存是字寻址的,所以需要 log2(2M) = 21 位地址。