CS61C 学习笔记 --实时更新

CS61c Note

 学习课程为 Cs61c Spring 2014(因为c语言部分相对较少),本文更多是宏观的记录,详细的另写出了博文与思维导图.

第一周

计算机中数值的表示及其转换

Lecture Topic

分为两部分: 计算机历史即计算机组成介绍、 数值转换及其表示

Reading

Section

四种表示法:

  1. Sign and …
  2. one’s complete
  3. basic
  4. two’s complete

Lab

五个游戏,举例其中最有意思的两个:

  1. 给你1000个1 的 纸 币 , 和 10 个 信 封 , 并 把 钱 放 到 信 封 里 。 要 求 可 以 给 出 1 − 1000 的纸币,和10个信封, 并把钱放到信封里。要求可以给出1-1000 10,11000间任意一个数目的$, 并把装有了相应数目的钱的若干信封,交给取款人.
    Solution: 早在初中的答题卡上就有了体现, 用与涂考号的框不会给你 10 个,成本过高,而会给你 0 1 2 4 8 足以表示 0~9.
  2. Nim 游戏
    链接: https://blog.csdn.net/pursue_my_life/article/details/101211953

Assignment Due

自我情况: 学生统计情况的了解
##小结
本周课程为基础,难度相对较小


第二周

c 语言的学习, 和 MIPS基础(我重点要学的)

Lecture Topic

c语言基础、Mips基础及其 Harvey 笔记

MIPS 基础

指令集结构、精简复杂指令集,寄存器的介绍

reading

C编程语言第几章
软硬件接口 2.1~2.3 章

Harvey 的笔记

着重讲述了历史(BCD以及数值表示的发展历史),c语言的陷阱

1. 课程概述

61c 对操作系统、体系结构、编译原理而言及其重要
61A SICP 对于 图形学 至关重要
61B 数据结构与算法 对于人工智能及其重要

2. c 语言部分

c 语言的数组仅仅是 指针上特定类型算数运算的名称
extern 表示变量的声明来自于外部
static 三个作用:
(1) 局部静态变量(C)
(2) 外部静态变量/函数(C) – 不能被其它文件访问的全局变量和函数, 常用来做保护.
(3) 静态数据成员/成员函数(C++)
void 是c实现泛型的重要手段之一.

Section

Lab1

c语言和进制转换,跳过

Assignment

  1. 表示数的几种方式
  2. c中的 & | ^ 操作

第三周

lw、sw 指令. MIPS 指令三种格式, <= , switch 等指令

Lecture Topic

lw、sw 指令. MIPS 指令三种格式, 比较 , switch 等指令

reading

COD 第2中的绝大部分都要读完

Section

题型分为一下几种:

  1. MIPS 与 c 代码中的相互转换(难点在于用 MIPS 表示函数,这里还没有学到)

    由于不会用MIPS 表示函数,所以我决定去先学校下一张的部分内容,并学习 Mars 模拟器的使用,
    Mars 模拟器的使用教程 具体见: 链接待给出
    –2019.10.8

  2. sign extend 与 unsign extend 的区别, 以及使用场景

  3. 用MIPS 表示 < = > <= >= 等等

  4. 在 MIPS 中, unsigned 的三个含义是什么???

Lab1

Assignment

你可能感兴趣的:(CS61C,计算机组成原理)