Versatility
In the diagram of figure 1 is shown a possible configuration context of an IBM 2075 CPU. It illustrates how data is exchanged between the CPU and the external devices via the six I/O channels and the various control units. The CPU was also able to facilitate the data exchange between devices via the I/O channels. Programs and data were made resident by transferring them from disk or tape memory to core memory (Main Memory or Large Capacity Storage).
The diagram illustrates that the IBM 360-75 with its peripheral control equipment was able to handle a lot of I/O devices and had sophisticated arithmetic capabilities. The IBM 360-75 was part of a family of IBM 360 mainframes and was designed to support business and scientific applications.
Major units of the CPU
In figure 1 the three major units can be distinguished, each with their functional units:
- the Bus Control Unit (BCU);
- the Instruction Preparation Unit (I-Unit) and
- the Instruction Execution Unit (E-Unit).
But the tangle of connections between the functional units has been left out to preserve the overview. Only the connections are shown to fetch instructions and fetch & store operands.
The connections between the functional units consisted of control lines and data paths.
The control lines sprang from the operation decoders to the various functional units to control the execution by these units and to various gates. These control lines were fixed.
The data paths were in many cases variable and were determined by the settings of the various gates which were controlled by the operation decoders which translated instructions into control signals.
Most gates are not shown in this diagram.
Also not shown in the diagram are the sequencers. These circuits caused the various required actions to be executed in particular sequences, often across multiple CPU cycles. Together with the control signals from the operation decoders, they determined the data movements within the CPU.
Test registers
The MCW (Maintenance Control Word) register and the FLT (Fault Location Testing) register were test registers for maintenance and testing. The MCW register was part of a circuit to check on the integrity of the functional units which were responsible for error checking in the CPU or in a selected I/O channel.
The FLT register was used for running diagnostic tests on the CPU circuitry. In case of a CPU hardware failure, a diagnostic program could be run which involved the use of test words to check specific responses from various circuits. The FLT register would then contain information for identifying the circuit responsible for the failure.
Translation of instructions into Control Words.
The CPU instructions were fetched from the main memory via the instruction buffers A and B into the I Unit Operation (IOP) Register. An instruction consisted of an Op Code, which dictates what the CPU should do, and an address, which denoted where the operand, the object to which the Op Code applied, can be found in main memory or CPU registers.
The decoders are marked with a red outline. These translated the Op Code (operation code) into a string of binary control signals, which was called a Control Word.
From the IOP register, the Op Code was distributed to the other operation registers. All these operation registers were used to provide the input for the operation decoders.
The execution of an instruction was somewhat layered; it was controlled by various operation decoders. The IOP, BOP, BR1 field and ER1 field decoders were used to execute the preparation of the instruction. The EOP and LCOP decoders were used for the actual execution of the instruction.
Hardwired
The IBM 2075 CPU was hardwired. It meant that all operation decoders were equipped with fixed logic circuitry to translate a particular Op Code into a Control Word. As a result, the whole instruction set of about 170 instructions was laid down in the logic circuitry of the various decoders. The eight bits Op Code allowed for a maximum number of 256 instructions.
Microcoded
If the CPU would have been microcoded then each of the decoders would need to retrieve the Control Words from a special storage inside the CPU, called a control store. The Op Code would then have been used as an address word to fetch a Control Word from the Control Store. Such a Control Store would have allowed for managing the instruction set and for implementing upgrades. However, the translation process from OP Code to Control Word would have been more complex and would have taken more time to execute, which would have put a penalty on the CPU's performance.
|