Skip to content
字数
249 字
阅读时间
2 分钟

Course Overview

Environment, development languages, and tool dependencies

Software Configuration
  • Linux Environment
Software Development (Simulator, System Software, Applications)
  • C language, minimal C++ (basic class usage) - GCC compiler
Hardware Development
  • Verilog or Chisel - Open-source Verilator simulator + Open-source GTKWave waveform viewer
Backend Physical Design
  • Commercial EDA tools (primarily handled by engineers or offline interns). Open-source EDA will soon be integrated into the teaching process.

[http://matthieu.benoit.free.fr/cross/data_sheets/8086_family_Users_Manual.pdf]

✒️ How to learn "YSYX"

A real processor is a complex system

  • Textbook Processor​​: 6 instructions (MIPS)

  • Course Project Processor​​: ~40 instructions

  • ​"YSYX" Processor:

    • Guoke: ~100 instructions + pipeline + interrupts/exceptions + cache + MMU + AXI bus
  • ​Research Prototype​​

    • Xiangshan(2nd Gen): ~250 instructions + 8 fetch + 6 decode + 17 FUs + 192-entry ROB + ...
  • ​​Commercial-Grade Processor (Mass-Produced)​​

    • Apple M1: ARMv8 ISA + 8 decode + 17 FUs + ~630-entry ROB + proprietary tech + ...
Simply knowing how to read waveforms is not enough

The number of cycles in a real processor's operation is often unimaginably large—relying solely on waveform analysis is far from sufficient.

贡献者

文件历史

Written with