maybe it's time to forget about DRAM, which in architectural terms is like using magnetostrictive delay lines for the memory in a PDP-8
Top-level
maybe it's time to forget about DRAM, which in architectural terms is like using magnetostrictive delay lines for the memory in a PDP-8 10 comments
@vertigo @millihertz In my case... I was discussing a "string-centric" system primarily for decoding HTML, audio, images, video, HTTP, etc for display. Though it probably helped that I described a hypothetical where I was rewriting everything! @vertigo @millihertz Regarding that average basic-block size I had an interesting at-least-to-me solution for this usecase of parsing (which probably brings the average down), though I'm not sure how well it generalises. What if we split the processor in 2 so half executes machine code that's near-entirely branches, thus relying mainly code density? And the other half primarily deals in straight-line code? I saw a parser generator which included a tight-loop interpreter for such a machine. @vertigo @millihertz In otherwords: Yes, my hypothetical did rely on code-cache. Even if I toyed with an alternate way of handling it! @millihertz @vertigo What I can say is: I enjoyed thoroughly thinking through reengineering an app from the hardware-on-up, & found it quite educational to write! I'm getting the impression this imagination could be quite valuable to the future of computing! I'm keen to do so again, & would love to see others' takes! That said I don't consider myself a hardware designer... @millihertz @alcinnz It is unfortunate that fabrication of logic and of RAM on the same die is exceptionally expensive to do. But now that we've moved into the era of "chiplets", maybe we should revisit this architecture. |
@millihertz When I thought through reengineering an OS/browser from the hardware on up what made sense to me:
Have large amount of memory with fast burst-transfers, processing the data in it linearly. So we can still process reasonably large files!
And a smaller amount of memory in which we can arbitrarily rearrange data.