Patent GB-1488738-A (GB)
Title: Variable configuration accounting machine
IPC: G06F12/02
Filed: 1975-09-17
Abstract: 1488738 Data processing system OLIVETTA & C SpA ING C 17 Sept 1975 [18 Sept 1974] 38251/75 Heading G4A A microprogram controlled processing system operable in various configurations is arranged to establish in memory a reserved zone accessible only to microprograms and of a size appropriate to its current configuration. The system may be an accounting machine whose configuration is determined by the number and types of peripherals used and the services provided. The reserved zone is provided in a random access memory part whose size also varies with the configuration, the random access part being used for user instructions and data. The remainder of the memory is read only, storing microprograms appropriate to the current configuration and which execute the user instructions and access the reserved zone. The memory consists of up to six sections, the first of which contains the reserved zone ZRM and a random access memory RAM for user program instructions, and a read only memory part. The remaining sections are read only memory storing microprograms. The reserved zone may comprise 136, 168, or 200 bytes and the random access memory ¢, 1 or 2K bytes, the RAM including the reserved zone. Initially when the system is brought into use the reserved zone is established in accordance with the current configuration by examining the number and nature of microprograms in the ROM sections. A microprogram establishes the reserved zone by setting the accumulator to 88 and reading its contents into a specified register in the reserved zone, 88 being the hexadecimal address of the first byte beyond the minimum reserved zone. Two bytes within the reserved zone are then loaded with the addresses of the first bytes of successive sections of the read only memory starting with section 2, address 1000. If the section is present its first byte contains data specifying the size of the reserved zone required by that section. If the data specifies a reserved zone size larger than that presently established, the contents of the specified register in the reserved zone are modified accordingly. If the addressed section is not in fact present then the reserved zone remains unchanged. This process continues for each possible section, i.e. up to address 5000. The contents of the specified register in the reserved zone provide a base address for accessing the random access memory. The size of the random access part also varies depending on the configuration and a further microprogram is executed to determine its size. This is done in a manner similar to that described above by loading in two bytes of the reserved zone the addresses of the last byte in successive ¢K byte sections of the random access part. Predetermined characters, viz 55, are written into these last bytes which are then read and compared with the predetermined characters. Agreement indicates that the ¢ K byte section is in fact RAM whereas disagreement, because the characters could not be written, indicates that the section is ROM. Thus by counting the number of positive comparisons the size of the RAM part can be established, the size being used to check RAM addresses used when the system is operating to signal memory overflow.