最近开始重新学习计算机体系结构。大学期间分别上过数电和微机原理的课,也读过经典的《Computer Organization and Design》。毕业后由于从事软件开发工作,这些基础还算够用。但是随着工作内容向底层深入,觉得有必要多了解一些芯片设计和制造方面的知识,最好是能够亲自动手设计一个处理器(经验告诉我工程类知识最好的学习方法就是实践)。
好在这些是可以部分实现的:网上公开了一些知名大学的计算机体系结构课程,课程大作业就是设计一个处理器。虽然自学做不到流片,但是可以在便宜的FPGA平台上验证。所以我打算先学习课程,做一下课程和FPGA开发板的实验,最后在FPGA上实现一个处理器。
这篇文章是我学习过程中看到觉得不错的资料汇总,会不断更新。
课程
UC Berkeley
- CS61C Machine Structures
- CS152 Computer Architecture and Engineering
- 2016春季课程视频
- EECS151 Introduction to Digital Design and Integrated Circuits
- https://www.bilibili.com/vide...
- https://www.bilibili.com/vide...
ETH Zürich
MIT
HMC
Stanford
The University of Texas at Austin
中科大
实验和大作业
推荐UC Berkeley EECS151的FPGA实验和大作业。因为其他课程没有公开配套代码,而该课程提供了,质量也非常高。FPGA平台用的是搭载Xilinx ZYNQ7020的PYNQ-Z1,700到900可以买到。想便宜点的,可以选择微相的Z7-Lite,但是要自己采购并焊接LED、按钮等外设,并修改课程代码,400到600能搞定。做完大作业后发现7020有些大才小用了,其实规格相对低一些的7010完全够用,会便宜很多。
教材
Computer Organization and Design RISC-V Edition
Computer Architecture, Sixth Edition
Computer Organization and Architecture 10th Edition
Digital Design and Computer Architecture ARM Edition
作者:yuq
文章来源:知乎
推荐阅读
深入GPU硬件架构及运行机制
Mali-G710开发者概览(二、着色器核心改进)
Mali-G710开发者概览(一、新的GPU前端)
更多Arm Mali GPU相关技术干货请关注Arm Mali GPU技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。