Patent GB-1465344-A (GB)
Title: Arrangements for calculating addresses in a segmented store
IPC: G06F12/1036
Filed: 1974-05-15
Abstract: 1465344 Storage systems COMPAGNIE HONEYWELL BULL 15 May 1974 [16 May 1973] 21630/74 Heading G4A The address of an operand contained in a segment in a store of a data processing system is found by using the address syllable part of an instruction to be carried out to access one of a number of base registers storing segment numbers together with an offset used to locate the first octet of a word within the segment this being added to a shift contained in the address syllable to give the relative address of the operand the information in the base register being used to access a segment table to derive a segment describer which contains the base address for its associated segment. The formation of an effective address from an address syllable 601 (Fig. 6), may take place directly or indirectly with or without indexing. For direct addressing the base register address held in the syllable is used to gain access to the base register to derive a segment table number STN, a segment table input STE and the offset. The sections STN, STE are used to access segment table 604 to derive a describer giving the 24-bit base address of a segment to which is added the relative segment address SRA derived from the offset and the displacement to compute the absolute address. If indexing is required the index register number in the address syllable is used to access an index register 603 the contents of which are added either to the relative address SRA or to the absolute address. The absolute address has a segment table number defining one of 15 segment tables a segment table input defining a specific segment and a segment describer, and a relative segment address area specifying the number of octets between the base of the segment and the first octet of the operand. For indirect addressing a segmented relative address is formed as in direct addressing. The base register number indicates a base register 701 (Fig. 7), the contents of which are used to access a segment table 702 to provide a segment subscriber 703 which is combined with a segmented relative address to give the absolute address of a data describer which may have one of two forms ITB, ITS (the structures of which are given in Figs. 2C, 2D not shown). The ITB structure includes a base register which is used to derive segment table information to address a segment desoriber which is added to the segmented relative address derived by the addition of the displacement in the data describer and the offset in the base register 704. This gives the absolute address of an operand in main store. The ITS describer includes the segment table information (i.e. the table is directly addressed without using the base register 704), the contents of the segment describer being combined with the displacement in the ITS describer. As with direct addressing index information may be added. Access to segment tables.-The most significant bit of the segment table number STN is used to gain access to one of two address base words (1003, 1004) (Fig. 10, not shown), to obtain the base address of a list (1005) of segment table describers, the next 3 bits being added to the base address in an adder (1011). The output of the adder is used to access the list (1005) to derive a segment table word (1006) which contains the absolute initial address of a segment table (1007). The input portion is then added to this initial address to derive a segment describer (1008) to which is added the displacement bits to give the address in store of the required word.