Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site seismo.UUCP Path: utzoo!watmath!clyde!floyd!vax135!cornell!uw-beaver!tektronix!hplabs!hao!seismo!mo From: mo@seismo.UUCP (Mike O'Dell) Newsgroups: net.arch Subject: Stack caching Message-ID: <727@seismo.UUCP> Date: Wed, 21-Mar-84 09:34:15 EST Article-I.D.: seismo.727 Posted: Wed Mar 21 09:34:15 1984 Date-Received: Sun, 25-Mar-84 11:49:42 EST Organization: Center for Seismic Studies, Arlington, VA Lines: 20 Yes indeedy, Burroughs did it LONG ago. The B5500 was the first machine marketed with Virtual Memory (although Burroughs was afraid noone would understand that, so they didn't mention it) and it did no serious caching as we understand it today. The B6700 and B6800's did cache the top two cells of the stack, I believe, while the B7800 maintained a cache of the top 32 words or so in bipolar ram. When the cache started to overflow or underflow, it did block moves to or from memory. Caching a stack is very easy - you always know exactly what it can do. I believe the B7800 also had an instruction cache which worked in the more normal LRU-ish kind of way, but between the instruction prefetch unit, the normally small code segment size observed on the Burroughs, and the large cache, the machine pretty much runs at cache speeds. For more insight into machines clearly Ahead of Their Time, see Elliot Organick's wonderful book "Computer System Organization: The B5700/B6700" Academic Press 1973. This book should be required reading for anyone writing documents describing a computer architecture. -Mike O'Dell