Learning Center
Plans & pricing Sign in
Sign Out

Intro History -


									TDC 311

Other NT/TDC/CINS courses

l   The other courses teach
    –   protocols (TCP/IP, OSPF, HTTP, ARP,…)
    –   standards (Ethernet, USB,…)
    –   network administration
    –   security
    –   wireless
    –   routers
    –   VoIP
    –   etc.
What will this course cover?

l   Imagine that we are going to take a network server
    and tear it apart completely
l   What will we see?
    –   Power supplies (voltages, current, resistance, diodes)
    –   Memories (RAM, ROM)
    –   Buses, clocks, timing signals
    –   Operating systems (paging, threads, synchronization)
    –   CPUs (registers, program counter, ALU)
    –   I/O devices (disk drives)
    –   and more
l   What are we waiting for? Let’s get started!
“Layers” of a Computer
     l   Problem oriented language level (Java, C, etc.)
                l Assembly language level
            l Operating system machine level
             l Instruction set architecture level
                 l Microarchitecture level
                    l Digital logic level
                 l Basic electronic circuits
0th Generation (1642 - 1940's)

l   Notable characteristics and events included:
l   Mechanical gears and electromechanical relays
l   In 1642 Blaise Pascal creates mechanical calculating machine
    using gears, hand powered, performs + and -.
l   In 1834 Charles Babbage creates the Difference Engine which
    runs a single algorithm to compute tables of numbers. Output
    was punched copper plates. Never completed. Instead, began
    work on Analytical Engine, a programmable machine. Never
    completed. Was assisted by Ada Lovelace (first programmer)
    to write code for machine.
l   In 1930's Konrad Zuse builds a series of automatic calculating
    machines (Z1) similar to Babbage’s but using
    electromechanical relays. Destroyed in 1944 by allied bombing
    of Berlin.
1st Generation (1940's - early 50's)

l   Vacuum tubes
l   Absolute machine language using wired plug boards
l   No programming languages or operating systems
l   Programmer signed up for a block of time and brought own plug boards
l   Serial processing
l   In 1930's, John Atanasoff at Iowa State College designs and builds special
    purpose computer using vacuum tubes. First electronic computer but still
    debated. First computer to use RAM.
l   In 1943, Alan Turing designs and builds a computer (COLUSSUS) to help crack
    Germany’s secret war code (ENIGMA).
l   In 1946, John Mauchly and J.Presper Eckert design and build first general
    purpose electronic computer, the ENIAC. 18,000 vacuum tubes, 1500 relays,
    and 30 tons. Hard-wired programs.
l   In 1946, John von Neumann writes paper on stored program concept.
l   In 1951 Eckert and Mauchly complete the first commercially sold computer, the
    UNIVAC I. Used to predict the winner of presidential election 1952.
l   IBM creates Model 650. Slow, but used punch cards.
2nd Generation (1955 - 1965)

l   Transistor hardware, more reliable, sold commercially
l   Programmer would write program in FORTRAN, punch cards
l   Operator (or programmer) reads in program card deck + FORTRAN compiler
    card deck - Wasteful! So...
l   Developed BATCH SYSTEM - operator batched all FTN programs together
    with compiler, ran them, then batched all COBOL programs together with
    compiler and ran them, etc. But this still needed a human, so...
l   Developed RESIDENT MONITOR - a program which kept the jobs running, one
    after another; produced dumps; used simple JCL: $FTN $ASM $JOB ..... Still
    slow, so...
l   Developed BUFFERING - input device reads multiple records, trying to “be
    ready” for CPU.
l   FORTRAN introduced in 1957.
l   COBOL introduced in 1960.
l   DEC PDP-1 introduced in 1961. First mini, with 4K RAM, $120,000. 50 sold.
l   IBM introduces model 1401 business computer in 1961.
l   IBM introduces model 7094 scientific computer in 1962.
l   CDC introduces 6600 parallel processor number cruncher in 1964.
3rd Generation (1965 - 1980?)

l   IC technology
l   IBM S/360 series of computers (family) created - one operating system ran on all models.
    OS was humongous! (Read Brooks - Mythical Man Month).
l   Developed MULTIPROGRAMMING - CPU switches from one job to next very quickly
    when: I/O needed, job finishes (errs).
l   Developed SPOOLING (Simultaneous Peripheral Operation On-Line) - used with disk
    system. Input cards are read to disk, OS gets next job/data from disk, writes output
    records to disk. Jobs are then printed from disk. Overlaps I/O of one job with computation
    of other jobs. Job pool - may have multiple jobs on disk ready to run - leads to JOB
l   Developed TIME SHARING - multiprogramming with time slices. In a batch system, there
    is no interaction. Good for large jobs. In a time sharing system, each program is given a
    time slice. When time slice expires, CPU switches to next job. Gives illusion many jobs
    are running at once. CPU now switches from job to job when: I/O needed, job finishes
    (errs), time slice expires.
l   MULTICS OS developed - large complex OS running on a large complex computer (GE
    645). Performed address translation, memory management (paging and segmentation),
    protection features.
l   Ken Thompson wrote UNICS/UNIX based upon concepts in MULTICS. Dennis Ritchie
    helped him rewrite UNIX in C.
3rd Generation (1965 - 1980?)

l   Developed REAL-TIME OS - SABRE airline reservation system.
l   Developed VIRTUAL MEMORY - looks like unlimited memory since
    disk system is used (PAGING and SEGMENTATION).
l   Developed concept of PROCESS - concept of “job” did not fit. Job
    had improper synchronization failed mutual exclusion, deadlocks.
    Process helped to solve these problems - executable program +
    associated data + associated files + registers + ...
l   Intel introduces 8080 microprocessor in 1974. General purpose 8-bit
    64K RAM.
l   Motorola introduces 6800 in 1974.
l   Altair 8800 introduced in 1974.
l   Bill Gates rewrites BASIC for microcomputer. First programming
    language on a micro. (1974)
l   Gary Kildall creates CP/M in 1974.
l   Steve Jobs and Steve Wozniak create Apple computer (1974-1975).
l   Apple II comes out in 1977.
4th Generation (1980 - ? )

l   Personal computers, LSI technology, single-user OS.
l   Developed NETWORK OS - loosely connected computers, each doing its own
l   Developed DISTRIBUTED OS - more tightly connected computers, working
    together on a large problem.
l   SECURITY continued to improve, including access control, information flow
    control, certification.
l   SYSTEM STRUCTURE evolved into a layered or hierarchical design
l   OS/2
l   UNIX
l   MVS simplified
l   Windows NT
l   Concept of THREAD developed (lightweight process) - thread includes program
    counter, register set, stack space. Shares code section, data section and OS
l   IBM introduces IBM PC with 64K, 8088 processor (1981).
l   Apple introduces LISA 68000 based (1984).
4th Generation (1980 - ? )

l   SUN introduces its own microprocessor based on RISC technology-the
    SPARC (Scalable Processor ARChitecture).
l   Windows 3 (May 1990) introduced, lots of 3rd party support (unlike previous
    versions) and modern look
l   Apple Mac 7 (May 1991) - TrueType fonts allowed for powerful use of ink-jet
    printers, first virtual memory in consumer pc
l   Early 1990s - virtual reality
l   Digital’s Alpha architecture (1992) - 64-bit RISC
l   Linux (1992-93)
l   PowerPC (1993) - very powerful RISC processor
l   Apple Newton (1993) - first PDA, weighed 1 pound, 20 MHz Acorn RISC
l   Intel Pentium (1993) - CISC can run fast, 3.1 million transistors, 60 MHz
l   Apple’s Power Mac (March 1994) - first mainstream RISC pc
l   World Wide Web
l   OS/2 Warp (October 1994) - Third try, IBM finally got it right, second most
    popular OS after Windows
l   Windows 95 – first really successful Microsoft Windows product
4th Generation (1980 - ? )

l   Toy Story – First all digital movie
l   NetWare v. 4, then 6
l   Windows Server NT (followed by much better 2000, 2003, 2008)
l   Linux
l   IPv6
l   Multi-core processors
l   Apple’s iPhone
l   Cloud computing
l   ?
Binary Arithmetic

l   Read the Handout on Binary Arithmetic on my website
l   base 10, 2, and 16 number systems (and others?)
l   binary arithmetic (add long strings of binary/hex digits –
    arithmetic check)
l   conversion from one form to another
l   integer representation
l   signed and unsigned integers
l   largest values, positive values, negative values
l   2's complement and 1’s complement
l   floating point fraction (mantissa) and exponent
l   floating point representation
l   binary coded decimal (BCD)
l   character encoding (ASCII, EBCDIC, and Unicode)
Basic Computer Organization
Also: Program Counter,
Instruction Register
Cache   Almost as fast   Most recently used
        as CPU           instructions and data
More Basic Terminology

l   Bits, bytes, words
l   RAM and ROM
l   SRAM – static RAM
l   DRAM – dynamic RAM
l   SDRAM – synchronous dynamic RAM
More Basic Terminology

l   Magnetic tape
l   Disk drives
    –   Total average access time Ta = Ts + 1/2r +b/r*N
    –   where Ts=avg seek time = m*n+s where
        m=constant that depends on drive; n=#tracks
        traversed; s=startup time
    –   r = rotational speed in RPS
    –   b = # of bytes transferred
    –   N = # of bytes on track
More Basic Terminology

l   CD-ROM – hold ~700 Mbytes
l   CD-R (recordable once)
l   CD-RW (rewritable)
l   Blu-Ray DVD, (HD DVD obsolete)
l   More details on these in a later lecture

To top