designers was that processor speed is considerably faster if everything is on a single chip. It was a valid point in the 1970s when more complex architectures such as the B5000 required too many transistors to fit on a single chip. However, this is not the case today and every B5000 successor machine now fits on a single chip as well as the performance support techniques such as caches and instruction pipelines. In fact, the A Series line of B5000 successors included the first single chip mainframe, the Micro-A of the late 1980s. This "mainframe" chip (named SCAMP for Single-Chip A-series Mainframe Processor) sat on an Intel-based plug-in PC board. How programs map to the stack Here is an example of how programs map to the stack structure begin — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — This is lexical level 2 (level zero is reserved for the operating system and level 1 for code segments). — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — At level 2 we place global variables for our program. integer i, j, k; real f, g; array a [0:9]; procedure p (real p1, p2); value p1; — p1 passed by value, p2 implicitly passed by reference. begin — — — — — — — — — — — — — — — — — — — This block is at lexical level 3 — — — — — — — — — — — — — — — — — — real r1, r2; r2 := p1 * 5; p2 := r2; — This sets g to the value of r2 p1 := r2; — This sets p1 to r2, but not f — Since this overwrites the original value of f in p1 it might be a — coding mistake. Some few of ALGOL's successors therefore insist that — value