0%

从源代码到可执行程序的整个过程,可以分为四步,分别是:预编译,编译,汇编,链接

预编译

预编译主要是处理代码中的预编译指令,预编译指令都是以#开头的,形如#define#include#ifdef,其中#define是直接文本替换;#include则是把include的文件直接复制到改行所在的位置;#ifdef是用来对部分代码是否需要编译进行控制的。长得像预编译指令的#param则会保留,因为这是给传递给编译器的指令。

PS:注释在预编译阶段会被全部删除。

Read more »

课程地址:https://www.bilibili.com/video/BV1ys411472E

这个链接跳转有谜之问题,建议手动复制到地址栏

01 什么是向量

向量在不同专业的人眼里有不同的看法:

在物理学的学生眼里,向量是一个空间中的箭头,决定它的是这个箭头的长短和方向,它的位置可以是任意的。

在计算机的学生眼里,向量是一个“列表”(即向量的代数表达),该列表可以有不同的行和列,同时每一个位置的值对应的物理意义都是一定的,不能交换位置。

在数学家眼里,向量可以是以上两种中任何一种表达(也可以是其他很多事物的表达),这两者其实是相互关联的。

Read more »

本书的前11章是教学版的OpenMIPS CPU设计过程,后面的章节是实践版的设计和实物的实验。对于本书的名字《自己动手写CPU》来说,我认为前12章就已经完成了任务。后面部分的实验需要DE2开发板的支持,所以暂时做不了。

当初看这本书的目的是进一步了解计算机组成与体系结构,因为上学期上了一门《计算机组成与体系结构》的课,感觉学得很模糊,于是想着干脆通过自己写一个CPU来增强一下对计算机的理解。网上推荐的书有《自己动手写CPU》和《CPU自制入门》,比较了一下感觉前者更适合我,便开始着手看了。

看完这本书的首要感想是,原来CPU并没有那么神秘!

Read more »