Skip to content

vanJker/CS4100-Computer-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CS4100: Computer Architecture

在 CS4100 计算机结构这门课,黄婷婷教授大致按 Computer Organization and Design: The Hardway/Software Interface 这本书的顺序对计算机结构进行了详尽的讲解,着重讲解了1-5章的内容,课程与该教材搭配学习效果极佳。由于在这门课程的开课时间,教材只出到了 4ed,所以选用教材是 4ed,但是 5ed 和 4ed 内容差别不大,所以笔者采用了 5ed 进行学习。

Lab

个人认为能力是在实作中提升,但遗憾的是,该课程并未公开作业部分,经过一番搜寻,发现阳明交大李毅郎教授和科技大学刘一宇副教授均有开发 Cache 相关的实作,遂以这些作为本课程的作业。

交大李毅郎教授讲授的 計算機組織 同样基于 MIPS 指令集,同时还开放了课程录影,可以与本课程进行比照学习。

國立陽明交通大學李毅郎教授相關的 Labs (Lab6 為 Cache Lab):

本人实作位于目录 Cache-Lab/

國立台灣科技大學劉一宇副教授關於 Cache 的 Labs:

除此之外,大陆高校和科研机构也开设了一些精品实验:

中科院软件所 PLCT 实验室 手搓 RISC-V 高性能模拟器:

中科院软件所 PLCT 实验室 从零开始实现链接器:

南京大学 计算机科学与技术系 计算机系统基础 课程实验 (PA) 2023:

Course Description

To understand how a computer system work. Emphasis will be placed on

  1. What characterizes the performance of a computer
  2. Instruction set design and its interaction with compiler
  3. Basic building blocks: I/O, Memory, Datapath, Control
  4. Pipelined datapath

Textbook

P.A.Patterson and J.L. Hennessy, Computer Organization and Design:
The Hardway/Software Interface, 5th Edition.

PH

Syllabus

  1. Computer abstractions and technology
  2. The role of performance
  3. Instructions:language of the machine
  4. Arithmetic for computers
  5. The processor: datapath and control
  6. Enhancing performance with pipelining
  7. Large and fast: exploiting memory hierarchy
  8. Interfacing processors and peripherals

Notes

Computer Abstractions and Technology

1.6 Performance

ISA 影响Clock Rate,这是因为ISA所提供的指令会影响 Clock Rate。例如,单周期处理器,提供单周期乘法指令和不提供单周期乘法指令的处理器,它们的 Clock Rate 是极有可能不同的。

Memory

5.3 The Basics of Caches

write through 只需要1个时钟周期,是因为不管 tag 是否命中,重写 cache 的数据不会影响 memory 的数据 (正确数据已被写入memory)。如果下一周期发现 tag 命中,不用作任何处理,如果 tag 未命中,则阻塞并搬运 cache 中此块的其他数据进来 (一般写一个 word,而一个 block 通常不止一个 word,所以需要搬其他的 word 进来并修改 tag)。

write back 不能像 write through 一样无需判断 tag 命中就重写数据,因为被覆盖的数据可能是唯一 (cache 与 memory 的数据不一致)。需要先判断 tag 命中再写入数据,所以需要 2 个时钟周期。

References

About

NTHU CS4100: Computer Architecture 计算机结构

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published