3 ms·
I just did the LC-3 one and look forward to learning a bit about dynamic recompilation using LC-3 as an (inappropriate) target machine in the current project.
by markus_zhang 2y ago
I just did the LC-3 one and look forward to learning a bit about dynamic recompilation using LC-3 as an (inappropriate) target machine in the current project.
Can you please elaborate why it is bad to use LC-3 for studying computer architecture? I do understand it is completely different from real hardware, and too simplified. But from the perspective of writing CPU emulators, is it bad for me?
- saithound 2y agoI answered a similar question by anyfoo downthread, the point about implementing a PIT should explain what I mean, and why I think that emulating a simple real architecture might be more useful while requiring similar effort.
- c0wb0yc0d3r 2y agoLink in case the order changes. https://news.ycombinator.com/item?id=42519788 https://news.ycombinator.com/item?id=42519788
- anyfoo 2y agoAgain, you are coming at this from a software engineering direction, not a computer architecture/engineering one.
- saithound 2y agoSince I have the exact same thought (that you are coming at this from a software engineering direction, not a computer architecture/engineering one), this is unlikely to be further productive :( You say you want students to be able to write emulators/simulators etc. (you list a bunch of software.engineering tasks). I say writing an LC-3 emulator won't give you any transferable skills for writing, say, a Gameboy Emulator (still a 30yo system), because these educational arhitectures are bad and abstract away precisely the things that you have to get right to do that, leaving you with something trivial to implement: a C array for "memory" and a few bitwise operations. Since we're largely looking at the same things and coming to orthogonal conclusions, I suggest we agree to disagree on this one.
- liontwist 2y agoThis article would directly apply to NES or game boy emulation. Yes, there are fewer instructions.
- anyfoo 2y agoWhen studying computer architecture, I think the implementation details of a real architecture, even a simple one, might actually slow you down if your goal is to learn about dynamic recompilation. The commenter you replied to seems to be coming from a software engineering perspective, i.e. learning how to program a computer (which someone interested in computer architecture probably knows about already).