CS61C总结

课程总览

CS 61C 课程名称是 Great Ideas in Computer Architecture (Machine Structures),毫无疑问核心内容就是这些 ideas,6 个 ideas 内容分别如下

  1. Abstraction
  2. Moore's Law
  3. Principle of Locality/Memory Hierarchy
  4. Parallelism
  5. Performace Measurement & Improvement
  6. Dependability via Redundancy

其中的重点是思想一(抽象)和思想三(局部性和Memory层次结构)。

 

一、万物皆可用0\1表示!

5411ce96964f4880954d448623b929c3.png

 

lec01: bits can represent anything. N bits == 2^N things.

49409399f04f4893a8a5685c7eb53dbd.png

  •  十进制(Decimal)、二进制、十六进制(Hex)和八进制(Octal)的由来:

当我们用十根手指数数时,就是十进制;当我们只有两个手指时,数的就是二进制咯;同理,当我们只有十六根手指时,,,,是个八爪鱿鱼???

  • sign and unsigned 以及补码(Two's Complement)和反码(One's Complement)。
  • 如果你想要提升对位的理解,建议做一下CSAPP的datalab.

计算机是怎样进行乘法和除法的呢?

  • 乘法——很简单,累加即可,但怎样提升计算速度呢?
  • 除法——乘法的逆运算。其实,我们只需用小学老师叫我们的计算方法,就可以实现了!(算法)

a53de6cee77c40348047ae6b1d20c102.png

 lec05 C Memory Management

  • 学习C,就是了解计算机系统的结构,在本讲,你将手动管理内存,千万不要让内存泄漏哦!
  • Valgrind:检查内存泄漏

 

从两个视角,理解内存分配:

  • .c文件:理解为什么Heap需要malloc与free,Stack为什么不用?malloc和free的底层是什么?
  • .s文件:  为什么递归时要注意寄存器的变化,到底是caller,还是callee?如何区分两者?

局部性原则/内存层次结构

不同层次的Memory查找东西的时间不同,以下的类比可谓是经典。

9c6a955677f04891b974c3fe47454ada.png

 从lec07开始,从上至下介绍Memory Hierarchy(这将贯穿整门课程)和RISC-V指令集。

 

随着,内存层次结构和RISC-V指令的深入,为了更好的理解计算机是怎样运行的和构造的,我们实现了做一个CPU的项目(本节课,比做的项目)。

记得,jyy说过,任何真正的理解都应该用代码实现。同理,检验你是否理解了计算机的组成,就是把“CPU”做出来!

 

2c0f7ea2bedb46a4b212a090449913ed.png

 27726026d0684774880fed93b6048554.png

6c9ecaaa4a7242fd9d32d1c48a369fcd.png

a86b70a4058d40ca9cbd6a8a8f58721c.png

 bd5d3d0843b04b64aa07b9ccd2deb144.png

119110831756400e98b0d3ca4e8cc0ce.png

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值