3 ms·
First, I am happy to see that you are attacking the correct problem. Everything interesting about computer architecture can be answered by asking two questions
by dbcurtis 10y ago
First, I am happy to see that you are attacking the correct problem. Everything interesting about computer architecture can be answered by asking two questions: 1) How is memory bandwidth used? (Seymour Cray lived and breathed that one every day), and 2) How is die area used? Achieving good code density is a double win -- less bandwidth for moving code into the I-cache, and reduced die area expended on I-cache to achieve a given amount of functionality.
I'm curious how you would relate your work to WISC (Writable Instruction Store Computers) and how you view WISC machines?
- _chris_ 10y ago> I'm curious how you would relate your work to WISC (Writable Instruction Store Computers) and how you view WISC machines? You know, I've never heard of WISC machines before. I think the idea of RISC though is you are basically exposing the pipeline's micro-ops to the world, and the icache basically becomes your writeable "micro-code ROM", if you will. If you can't change how the pipeline's datapath is wired up, I'm not sure I'm clever enough to figure out how changing the instruction set would help (they needed writeable ucode in the old days, because they had so many bugs!). But with that said, one of my lab's goals has been to design and implement vector machine datapaths that are fairly configurable (say between program phases) in a way that can capture more types of compute kernels.