Paper reading: RISC and RISC comment

The RISC paper mentions why instruction sets are becoming more and more complicated. They then argue that there are many detriments with CISC: notably harder for debugging design errors, harder to write compilers, longer design time, and most instructions are seldomly touched. The paper then pitches RISC and explains some of the factors making CISC popular no longer exist (e.g. speed gap between mem and CPU), and shows how simpler design could win the game.

The comments are also an interesting read as it criticizes the RISC paper because there is no data backing their claim. Some notable arguments include 1. No formal definition of RISC/CISC. 2. Denser code might benefit cache/paging. 3. Different high-level languages have different coverage of instructions. 4. Compiler is not hard to write (I disagree and they have no strong proof). 5. CISC might benefit specialized applications.

I suppose the last argument is related to the topic of DSA or general purpose processors, I can feel DSAs making programming and compiler overhead much higher and I have no clear answer on what should be the ultimate answer.

Questions:

  1. Why CISC are complicated for compiler writers.
  2. Is the trend of DSA replicating the history of CISC?
  3. Does the difference of RISC/CISC matter for modern processor design and workloads?

Author: (expye)Zihao Ye

Email: expye@outlook.com

Date: 2022-10-03 Mon 00:00

Last modified: 2022-12-04 Sun 02:08

Licensed under CC BY-NC 4.0