Source : Free On-Line Dictionary of Computing
second generation computer
A computer built from {transistors}, designed
between the mid-1950s and mid-1960s.
{Ferrite core memory} and {magnetic drums} replaced {cathode
ray tubes} and {delay-line storage} for main {memory}. {Index
registers} and {floating point} arithmetic hardware became
widespread. Machine-independent {high level programming
languages} such as {ALGOL}, {COBOL} and {Fortran} were
introduced to simplify programming.
{I/O processors} were introduced to supervise input-output
operations independently of the {CPU} thus freeing the CPU
from time-consuming housekeeping functions. The CPU would
send the I/O processor an initial instruction to start
operating and the I/O processor would then continue
independently of the CPU. When completed, or in the event of
an error, the I/O processor sent an {interrupt} to the CPU.
{Batch} processing became feasible with the improvement in I/O
and storage technology in that a batch of jobs could be
prepared in advance, stored on magnetic tape and processed on
the computer in one continuous operation placing the results
on another magnetic tape. It became commonplace for
auxiliary, small computers to be used to process the input and
output tapes off-line thus leaving the main computer free to
process user programs. Computer manufacturers began to
provide system software such as {compilers}, {subroutine}
libraries and batch monitors.
With the advent of second generation computers it became
necessary to talk about computer systems, since the number of
memory units, processors, I/O devices, and other system
components could vary between different installations, even
though the same basic computer was used.
The instruction repertoire of the {IBM 7094} (a typical second
generation machine) had over 200 instructions including data
transfer instructions for transferring a {word} of information
between the CPU and memory or between two CPU registers;
fixed-point and floating point arithmetic instructions;
{logic} instructions (AND, OR etc.); instructions for
modifying {index registers}; conditional and unconditional
branching; {subroutines}; input-output operations for
transferring data between I/O devices and main memory.
(1996-11-25)