|Mus.Cat. NEWUC:2005.77||Mnfctr: IBM||Date: 1967||Ser. No: -||Model: -|
|Comp: Control Panel||Height: 340 mm||Width: 470 mm||Depth: 158 mm||Weight: ? g|
This is the display panel from the DAT box (Dynamic Address Translation unit). This piece of hardware along with a few exta CPU instructions transformed the 360 Model 65 computer to the 360 Model 67.
The 360/67 computer supported Virtual Memory. Virtual Memory in these days is taken for granted you do not even know you are using it. But, in those days it was revolutionary.
Before this time people who used computers submitted their programs and data on paper tape or punch cards to computer operators then went away, returning hours later or next day to get the results.
About this time the idea arose that people could interact directly with a computer via a typewriter like device called a 'terminal', and run their programs interactively. To do this their program and data had to be in RAM (Random Access Memory) which was very expensive. But interactive users made wildly different demands of the computer, at one moment initiating a compilation of their latest program that required much of the CPU and RAM, then when the program error messages were printed they would make no demands of the computer, and the telephone might ring or they would make a cup of tea. So their program and data were not needed in RAM
In addition to the users intermittent demand for the computer's resources the programs being run use RAM in many different ways. The main computation loops get exercised a lot, whilst initialisation, termination and error code perhaps little.
To address these different usages of the computer resources virtual memory was invented. The 24bit address of the computer could address 16MByte but the actual RAM was less (1MByte). The virtual memory was on an external device. Both it and RAM was formatted in 2KByte pages. Programs were written as if in virtual memory and stored as such on the external device when loaded. When the program began execution pages from the device were read and allocated to pages in RAM and page tables (in RAM) updated to record the real address of each virtual address page. As the program was executed instructions were fetched to be executed by the CPU that contained virtual addresses. These had to be translated to real addresses and that could involve access to the page tables in RAM. This would really slow the computer down since the speed of a computer is governed by the speed of its RAM.
This is where the DAT box came into play. It had eight ASSOCIATIVE REGISTERS that contained the last eight page table translations. As a program executed it was highly likely that the next instruction or item of data was on the same page. When a virtual address translation began a hardware lookup was made via the DAT box and if the real page address was in a register no access was required to the page tables and the CPU could proceed unimpeded.
A translation rate in the high 90% via the DAT box meant VM (Virtual Memory) became a practical reality. If you want the full grizzly details they can be found in: http://en.wikipedia.org/wiki/IBM_System/360_Model_67
This is one of the reasons why computers cost so much in those days.