自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 计算机系统要素:第十二章 操作系统

终于来到了Hack计算机架构的最后一部分——操作系统的构建了!这一章的内容涉及了大量的逻辑架构、算法问题与细节处理,需要花很多精力才能够完成。我曾经与nand2tetris团队的一位工作人员有过联系,他就指出,这本书最后几个较难的章节介绍性的内容太少了,最后的OS章节如果作为正常的上课来学习的话,两周时间是绝对不够的(只要想想,计算机专业的学生得花一个学期学OS),其中涉及了太多问题。因此,在这篇

2014-09-30 13:22:40 2589

原创 计算机系统要素:第十一章 编译器:代码生成

在《计算机系统要素》一书的第十一章,我们来到了编译器部分的最后一个章节——代码生成阶段。本章项目主要基于第十章的语法分析进行语义分析,将Jack语言转化为VM语言,完成完整的Jack编译器的构建。

2014-09-17 16:51:13 2057 1

原创 计算机系统要素:第十章 编译器:语法分析

通常来讲,做一个完整的编译器是非常浩大的工程,往往需要许多人经年累月的工作才能实现,但所幸,本书的作者将编译器的实现做到了最简化,我们只需要按照书上7、8、10、11章的框架,便可以在最短的时间内完成一个简易的编译器。 这一章的内容是对Jack语言进行语法分析,将每一个Jack文件转化为结构化的xml文件。如果说前面几章的难度已经逐渐由菜鸟变为中等级别的话,最后这几章的难度便开始向达人级别

2014-09-10 15:58:46 2076 3

原创 计算机系统要素:第八章 虚拟机II 程序控制

本章的内容完全基于第七章,其核心是理解堆栈如何处理函数,并对程序运行控制有更充分的认识。在这里我必须对本书作者致敬,因为这一章的编排实在是太完美了,对于如此抽象的程序调度的概念,作者居然能够由浅入深地将其讲得如此透彻,功力实在是深厚。所以,我仍然强烈推荐大家按照顺序把每一个项目都完成。下面是我个人再做这一章时总结的四个注意点,供大家参考。 首先需要明确的是全局堆栈的概念。一开始接触全局堆栈

2014-09-06 19:17:37 1647 4

原创 计算机系统要素:第七章 虚拟机I:堆栈运算

HACK机器语言要点复习:1,@X的意义为把X存入A寄存器,M代表的是Memory[A],即A所代表的地址中所存的数值,A=MM=D两句并列意味着将D中数据存入Memory[A],这是这一章中用得最多的逻辑语句。 2,在实现eq,gt,lt时,需要用汇编语言实现If的选择功能,这里需要用到两个lable,一个有条件jump,一个无条件jump,代码实现为:   //Compare

2014-09-05 10:30:04 2239 4

原创 计算机系统要素:第六章 Part2 汇编编译器(symbol)

要给汇编编译器加入符号,首先要明确这个汇编编译器有哪些符号:预定义符号:SP,LCL等,这些符号预先就在SymbleTable中定义好了对应内存的地址变量variables:注意,变量是在第二遍读取阶段才依次从地址16开始计算的标签符号lables:你会在机器码中见到(LOOP)@LOOP 这样的循环代码,这些就是标签代码,之所以要分两遍读取,就是因为(LOOP)这样的标签有可能出现在

2014-08-29 00:42:22 2089

原创 计算机系统要素:第六章 Part1 汇编编译器(nonsymbol)

这一章的项目是自己编写一个汇编编译器,实现机器码到二进制码的转换。建议大家照着书上的流程和API做,先写出nonsymbol的编译器,再写symbol编译器,原因是带symbol的转化规则刚接触时不太容易理解。我使用的语言是python,同时也建议大家使用python这类脚本语言,总共代码不超过150行,非常简洁。 首先给不熟悉python模块的同学们写几个TIPS:1,首先要建立PY

2014-08-29 00:31:23 2098 1

原创 计算机系统要素:第五章 计算机体系结构

Computer Architecture的

2014-08-23 15:17:36 4050 1

原创 计算机系统要素:硬件描述语言HDL简介

这个系列是我近期学习The Elements of Computing Systems的学习笔记,这是一个网络公开课程,旨在教授任何人从零开始实现计算机构建的完整流程,点击进入网站。由于这是一个英文课程,且中文相关资料较少,我会在学习的过程中将碰到的一些问题和解决方法记录下来,方便其他人参考学习。Q1:HDL语言入门本章的Project要求使用原始的Nand门以及由此构建的

2014-08-23 15:06:24 5103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除