2 ms·
I think you're misunderstanding what we're talking about. This wasn't in user code; it was in the OS ("MCP") itself. It wasn't a few instructions that could be
by notacoward 7y ago
I think you're misunderstanding what we're talking about. This wasn't in user code; it was in the OS ("MCP") itself. It wasn't a few instructions that could be placed at convenient points in the control flow; it was every N instructions when I/O was active. Among other difficulties, that meant accounting for that had to be part of even minor code changes. The people actually doing it certainly didn't think it was simple or "no great burden" as you suggest. Simple would have been an I/O unit that could run independently of the main CPU, as in practically every machine designed since - including the 360 which was designed by the same person. Even he apparently recanted that decision.
So yeah, it's "a bit" like yield, but only in the sense that a Cessna and an F-22 are "a bit" alike. I've done low-level work on multiple RISC processors that had all sorts of exposed-pipeline and delegated-to-software functionality (e.g. TLB handling on MIPS) in the name of simplicity, and I've even enjoyed it somewhat, but I'm still glad I never had to work on anything as "raw" as Stretch.