- 博客(6)
- 收藏
- 关注
原创 Nand2Tetris《计算机系统要素》学习记录-2.布尔运算
加法是算术逻辑单元(ALU)的核心操作之一,许多其他运算可以通过加法或基于加法的电路来实现。在计算减法时,会将被减的数转化为负数,再进行加法运算。负数在计算中使用补码表示。-x的补码 = x的所有位取反 + 1原因很简单,举个栗子:(-5) + 5 = 0在4位的二进制系统中,5的二进制是 0101,(-5)的二进制取1011的时候,他们相加等于10000,因为系统为4位,那么多出的那一位就会被舍弃。专业术语叫做溢出。最终结果为0.
2025-12-23 00:30:06
789
原创 Nand2Tetris《计算机系统要素》学习记录-1.布尔逻辑
如:第3行,函数值为1,输入变量为x=0, y=1, z=0, 于是我们构建表达式x (!于是图1.1的规范表示法可以写成 f(x,y,z) = x (!(比如:x Or y = (x Nand x) Nand (y Nand y)。一旦实现了物理上的Nand设备,那么就可以用该设备通过特点的连接方式来构建任何布尔函数的硬件实现。这种表示法得出重要结论:每个布尔函数,不管多么复杂,都可以只使用三个布尔算子And, Or, Not 来完全表达。图1.1可以用 f (x,y,z) = (x+y)*(!
2025-12-16 22:48:38
681
原创 Nand2Tetris《计算机系统要素》学习记录-介绍
这门课程讲述了如何使用最基本的逻辑门Nand(与非门)从0开始搭建一台完整的计算机。当时想一想就感到兴奋。这门课程一共12章,计算机原理(1-5章)、编译原理(6-11章)、操作系统相关知识(12章)。当初学习了前五章,完整的搭建出了硬件平台。到第六章编写汇编编译器的时候就卡住了。并丢掉了本课程学习,一年后的今天重新捡起来时,前面学习的内容也已经遗忘了不少。我希望在我完成了这门课程的多年之后,再次看到自己写的学习记录,遗忘了的记忆碎片能够以最快的速度再次复原。
2025-12-12 14:17:45
104
原创 32位操作系统为何只支持4G内存
之前上网搜索32位cpu最大支持内存是多少时,大部分会提到一个公式2^32=4G,但是和我当时理解的不太一样,当时我认为32位的cpu就是cpu和内存之间有32根数据线,那么就有2^32个不相等的数,每一个数都是有32位的二进制数。一共有2^32个地址,那么就有2^32 (byte) = 2^22 (KB) = 2^12 (MB) = 2^2 (GB)。中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚(IC 的引脚),通过为其指定地址(address),来进行数据的读写。
2023-05-04 20:38:26
1544
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅