21
Basic definitions Basic definitions and history and history of the Computer of the Computer Systems Systems Piotr Mielecki Ph. D. Piotr Mielecki Ph. D. Introduction to Computer Introduction to Computer Systems Systems (1) (1) [email protected] [email protected] http://www.wssk.wroc.pl/~mielecki

Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) [email protected] [email protected]

Embed Size (px)

Citation preview

Page 1: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Basic definitionsBasic definitionsand history and history

of the Computer Systemsof the Computer Systems

Piotr Mielecki Ph. D.Piotr Mielecki Ph. D.

Introduction to Computer SystemsIntroduction to Computer Systems (1)(1)

[email protected]

[email protected]

http://www.wssk.wroc.pl/~mielecki

Page 2: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

LiteratureLiterature

1.1. Stallings W., Stallings W., Computer Organization and Architecture: Computer Organization and Architecture: Designing for Performance.Designing for Performance.

2.2. Website of this handbook: Website of this handbook: http://www.prenhall.com/stallings/details1.html

3.3. WikipediaWikipedia

Page 3: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

DefinitionDefinition

A A computercomputer is a machine which is a machine which manipulates datamanipulates data according to according to a list a list of instructionsof instructions which makes it an ideal example of a which makes it an ideal example of a data processing data processing systemsystem.. This definition is true for most of the today’s computers, This definition is true for most of the today’s computers, based on von Neumann’s concept. But it doesn’t cover some more based on von Neumann’s concept. But it doesn’t cover some more progressive concepts (like neural networks which don’t have any progressive concepts (like neural networks which don’t have any lists of instructions, for example).lists of instructions, for example).

We can also define the computer as We can also define the computer as ”the machine which ”the machine which automatically processes the information”automatically processes the information”. This definition seems to . This definition seems to be less precise, but it’s closer to the main reason for building the be less precise, but it’s closer to the main reason for building the computers.computers.

The English word ”compute” means ”calculate”, ”count” etc. In fact The English word ”compute” means ”calculate”, ”count” etc. In fact computers can also manage data in other ways than only calculating computers can also manage data in other ways than only calculating the mathematical formulas (word processing, collecting data in the mathematical formulas (word processing, collecting data in databases, making communication, driving other machines like databases, making communication, driving other machines like airplanes or lathes etc.).airplanes or lathes etc.).

What the Computer is?What the Computer is?

Page 4: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

DefinitionDefinition

A A computer systemcomputer system is a set of 3 elements: is a set of 3 elements:

– HARDWAREHARDWARE – this term covers all of those parts of a computer that are – this term covers all of those parts of a computer that are tangible, material objects. Circuits, displays, power supplies, cables, tangible, material objects. Circuits, displays, power supplies, cables, keyboards, printers and mice are all hardware.keyboards, printers and mice are all hardware.

– SOFTWARESOFTWARE – this is a general term used to describe a collection of – this is a general term used to describe a collection of computer programs, procedures and documentation that perform some computer programs, procedures and documentation that perform some task on a computer system. The term includes task on a computer system. The term includes application softwareapplication software such such as word processors which perform productive tasks for users, as word processors which perform productive tasks for users, system system softwaresoftware such as operating systems, which interface with hardware to such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems.which controls and co-ordinates distributed systems.

– USERUSER – usually a person, sometimes the abstract object (like the – usually a person, sometimes the abstract object (like the anonymous account, on behalf of which such a program like HTTP server anonymous account, on behalf of which such a program like HTTP server runs on Internet server) which uses the hardware and software to runs on Internet server) which uses the hardware and software to complete actual tasks.complete actual tasks.

What the Computer System is?What the Computer System is?

Page 5: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

First conceptsFirst concepts

Turing machinesTuring machines,, described in 1936 by Alan Turing, are extremely described in 1936 by Alan Turing, are extremely basic basic abstract symbol-manipulating devicesabstract symbol-manipulating devices which can be adapted to which can be adapted to simulate the logic of any computer that could possibly be simulate the logic of any computer that could possibly be constructed.constructed.

They were not meant to be a practical computing technology, but a They were not meant to be a practical computing technology, but a thought experiment about the limits of mechanical computationthought experiment about the limits of mechanical computation. . Studying their abstract properties yields many insights into Studying their abstract properties yields many insights into computer science and complexity theory.computer science and complexity theory.

The concept is based on the idea of a person (or device) The concept is based on the idea of a person (or device) executing a executing a well-defined procedure by changing the contents of an unlimited well-defined procedure by changing the contents of an unlimited paper tape, which is divided into squares that can contain one of a paper tape, which is divided into squares that can contain one of a finite set of symbolsfinite set of symbols. The person needs to remember one of a finite . The person needs to remember one of a finite set of set of statesstates and the procedure is formulated in very basic steps in and the procedure is formulated in very basic steps in the form of the form of "If your state is S7 and the symbol you see is a '0' then "If your state is S7 and the symbol you see is a '0' then replace this with a '1', move the tape one step to the left, and replace this with a '1', move the tape one step to the left, and assume state S4 as your new state."assume state S4 as your new state."

Turing machinesTuring machines (1) (1)

Page 6: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

First conceptsFirst conceptsTuring machinesTuring machines (2) (2)

S7S7 State (current)

A person or device (reading / writing HEAD)

00 44 77 00331122

Symbol

……Unlimited tape

Moving directions

State (new)

11 44 77 00331122

Symbol (modified)

……

RRLL

S4S4

Time tTime tii::

Time tTime ti+1i+1::

Instruction: "If your state is S7 and the symbol you see is a '0' then replace this with a '1', move the tape one step to the left, and assume state S4 as your new state."

Page 7: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Jacquard LoomJacquard Loom is a automatic, is a automatic, mechanical loom, invented by mechanical loom, invented by Joseph Marie Jacquard in 1801.Joseph Marie Jacquard in 1801.

It utilized holes punched in It utilized holes punched in pasteboard, each row of which pasteboard, each row of which corresponded to one row of the corresponded to one row of the design. Multiple rows of holes were design. Multiple rows of holes were punched on each card and the many punched on each card and the many cards that comprised the entire cards that comprised the entire design of the textile were strung design of the textile were strung together in order.together in order.

The ability to change the pattern of The ability to change the pattern of the loom's weave by simply the loom's weave by simply changing cards was an important changing cards was an important conceptual precursor to the conceptual precursor to the development of computer development of computer programming. programming.

””Mechanical Mechanical ~~Turing machines”Turing machines”

Page 8: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

PianolaPianola – an example of automatic – an example of automatic device for processing data of one device for processing data of one kind: the music played on piano kind: the music played on piano (first built in 1897 by E. S. Votey).(first built in 1897 by E. S. Votey).

The paper tape is limited, of course. The paper tape is limited, of course. The direction of traveling is only The direction of traveling is only one: from the beginning to the end one: from the beginning to the end of the track.of the track.

Each row on the paper tape includes Each row on the paper tape includes set of holes, corresponding to piano set of holes, corresponding to piano keys. The mechanism opens or keys. The mechanism opens or closes pneumatic valves driving the closes pneumatic valves driving the keys.keys.

The device can’t modify the tape The device can’t modify the tape itself during play. The recording itself during play. The recording (programming) is done ”off-line” (programming) is done ”off-line” with special pick-up. with special pick-up.

””Mechanical Mechanical ~~Turing machines”Turing machines”

Page 9: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Z1, Z2, Z3 (Konrad Zuse, 1941) – first „generation 0” Z1, Z2, Z3 (Konrad Zuse, 1941) – first „generation 0” machines. Z3 was programmed by punched film tape, machines. Z3 was programmed by punched film tape, electromechanical calculator, compatible with Turing electromechanical calculator, compatible with Turing concept. concept.

First computersFirst computers

Page 10: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Colosus (M. H. Newman, T. H. Flowers since 1943) – electronic Colosus (M. H. Newman, T. H. Flowers since 1943) – electronic programmable machines based on Turing concept (but with programmable machines based on Turing concept (but with only one ” tape” traveling direction), programmed by only one ” tape” traveling direction), programmed by rewireing. Used by British intelligence services during World rewireing. Used by British intelligence services during World War 2.War 2.

First computersFirst computers

Page 11: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

IBM Harvard Mark I (Howard Aiken, 1944) – electromechanical Automatic Sequence IBM Harvard Mark I (Howard Aiken, 1944) – electromechanical Automatic Sequence Controlled Calculator (ASCC). Controlled Calculator (ASCC).

It read its instructions from a 24 channel punched paper tape and executed the current It read its instructions from a 24 channel punched paper tape and executed the current instruction and then read in the next one. It had no conditional branch instruction. This instruction and then read in the next one. It had no conditional branch instruction. This meant that complex programs had to be physically long. A loop was accomplished by meant that complex programs had to be physically long. A loop was accomplished by joining the end of the paper tape containing the program back to the beginning of the joining the end of the paper tape containing the program back to the beginning of the tape (literally creating a loop).tape (literally creating a loop).

Separately (not on the tape) it could store and modify 72 numbers, each 23 decimal Separately (not on the tape) it could store and modify 72 numbers, each 23 decimal digits long. This digits long. This separation of data and instructions is known as the Harvard separation of data and instructions is known as the Harvard architecturearchitecture..

First computersFirst computers

Page 12: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

ENIAC (Eckert, Mauchly 1943 - ENIAC (Eckert, Mauchly 1943 - 1945) – lack of RAM operational 1945) – lack of RAM operational memory, programming by memory, programming by rewireing (later by function table rewireing (later by function table in ROM). in ROM).

EDVAC (designed in 1952 by EDVAC (designed in 1952 by John von Neumann) – John von Neumann) – first first computer which could load the computer which could load the program into the operational program into the operational memorymemory (1000 words in RAM) (1000 words in RAM) from the input device (mass from the input device (mass storage), execute it and then storage), execute it and then reload or load another program. reload or load another program. No physical separation of data No physical separation of data and instructions.and instructions. Input / output Input / output system based on punched cards system based on punched cards and tapes from IBM.and tapes from IBM.

First computersFirst computers

Page 13: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

XYZ (L. Łukaszewicz, 1958) – first computer designed and built in XYZ (L. Łukaszewicz, 1958) – first computer designed and built in Poland. It’s electronics included not only tubes, but also on Poland. It’s electronics included not only tubes, but also on semiconductors (Ge-based diodes).semiconductors (Ge-based diodes).

Generation 1 computersGeneration 1 computers

Page 14: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

2-nd generation – discrete 2-nd generation – discrete semiconductors (IBM 7094 – early semiconductors (IBM 7094 – early 1960-ties).1960-ties).

3-rd generation – integrated 3-rd generation – integrated circuits, low level of integration circuits, low level of integration (IBM 360 – late 1960-ties).(IBM 360 – late 1960-ties).

Generation 2 and 3 computersGeneration 2 and 3 computers

Multitasking operating Multitasking operating systems.systems.

Modern programming Modern programming languages.languages.

Many scientific and Many scientific and business applications.business applications.

Page 15: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

MinicomputersMinicomputers of the 1970-ties and early of the 1970-ties and early 1980-ties (PDP-8, PDP-11, VAX-11) was 1980-ties (PDP-8, PDP-11, VAX-11) was first ranked as 3-rd generation machines. first ranked as 3-rd generation machines. In newer models however In newer models however one LSI/VLSI one LSI/VLSI chip (microprocessor) as CPUchip (microprocessor) as CPU was was introduced together with 16 or 32-bit introduced together with 16 or 32-bit architecture, first popular (not too architecture, first popular (not too expensive) multitasking operating systems expensive) multitasking operating systems like UNIX (K. Thompson, D. Ritchie) and it’s like UNIX (K. Thompson, D. Ritchie) and it’s clones, first TCP/IP networks and their clones, first TCP/IP networks and their services.services.

Desktop (office) microcomputersDesktop (office) microcomputers of late of late 1970-ties and early 1980-ties – 8-bit 1970-ties and early 1980-ties – 8-bit architecture based on simple architecture based on simple microprocessors like Intel 8080 (TRS-80), microprocessors like Intel 8080 (TRS-80), lack of multitasking, up to 64 kB RAM, lack of multitasking, up to 64 kB RAM, CP/M operating systems (loaded from CP/M operating systems (loaded from floppy-disks).floppy-disks).

Generation Generation 4 4 computerscomputers (1) (1)

Page 16: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Home microcomputersHome microcomputers of early 1980-ties – 8-bit architecture of early 1980-ties – 8-bit architecture based on simple microprocessors like Intel 8080, Zilog Z-80, based on simple microprocessors like Intel 8080, Zilog Z-80, Motorola 6800, Mostek 6510 (Sinclair ZX-Spectrum, Motorola 6800, Mostek 6510 (Sinclair ZX-Spectrum, Commodore C-64, Apple II etc.), lack of multitasking, up to 64 Commodore C-64, Apple II etc.), lack of multitasking, up to 64 kB RAM, BASIC interpreter as operating system, cassette tape-kB RAM, BASIC interpreter as operating system, cassette tape-recorder as mass-storage, TV-set as monitor.recorder as mass-storage, TV-set as monitor.

Millions of owners and fans, new market sectors Millions of owners and fans, new market sectors (entertainment, education software etc.).(entertainment, education software etc.).

Generation Generation 4 4 computerscomputers (2) (2)

Page 17: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Home microcomputersHome microcomputers of late 1980-ties and early 1990-ties – of late 1980-ties and early 1990-ties – 16 or 32-bit architecture based on microprocessors like 16 or 32-bit architecture based on microprocessors like Motorola 68000 (Atari ST, Commodore Amiga), multitasking Motorola 68000 (Atari ST, Commodore Amiga), multitasking operating systems, graphical user interface (GUI), good operating systems, graphical user interface (GUI), good support for multimedia, floppies and HDD as mass-storage, support for multimedia, floppies and HDD as mass-storage, high-resolution black & white or color CRT monitors.high-resolution black & white or color CRT monitors.

Generation Generation 4 4 computerscomputers (3) (3)

Page 18: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Desktop microcomputersDesktop microcomputers of 1980-ties and early 1990-ties – 16 or 32-bit of 1980-ties and early 1990-ties – 16 or 32-bit architecture based on microprocessors like Intel 80x86 (IBM-PC) or Motorola architecture based on microprocessors like Intel 80x86 (IBM-PC) or Motorola 68000 or newer (Apple Macintosh).68000 or newer (Apple Macintosh).

In early IBM PC’s (up to half of 1990-ties) very popular but not multitasking In early IBM PC’s (up to half of 1990-ties) very popular but not multitasking Disk Operating System (MS-DOS). Multitasking, virtual memory and GUI Disk Operating System (MS-DOS). Multitasking, virtual memory and GUI implemented initially as an extension (overlay) for MS-DOS in MS-Windows 3.0 implemented initially as an extension (overlay) for MS-DOS in MS-Windows 3.0 and later Windows systems.and later Windows systems.

In Macintosh computers multitasking and GUI from the very beginning. Less In Macintosh computers multitasking and GUI from the very beginning. Less flexible hardware architecture (lack of extension slots in early models), much flexible hardware architecture (lack of extension slots in early models), much higher price.higher price.

Generation Generation 4 4 computerscomputers (4) (4)

Page 19: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Today’s laptop, desktop and enterprise microcomputersToday’s laptop, desktop and enterprise microcomputers – 32 or 64-bit – 32 or 64-bit architecture based on Intel, AMD, Power-PC and sometimes RISC processors architecture based on Intel, AMD, Power-PC and sometimes RISC processors (professional workstations, enterprise class servers).(professional workstations, enterprise class servers).

Multitasking, virtual memory and GUI are implemented as a standard.Multitasking, virtual memory and GUI are implemented as a standard.

Most popular operating systems are based on Windows-NT technology Most popular operating systems are based on Windows-NT technology (Microsoft) or UNIX / Linux family of systems (Mac OS X, BSD, different Linux (Microsoft) or UNIX / Linux family of systems (Mac OS X, BSD, different Linux distributions etc.).distributions etc.).

Multi CPU mainboards and processors with 2 or more kernels are widely used Multi CPU mainboards and processors with 2 or more kernels are widely used for better multitasking and introducing parallel processing.for better multitasking and introducing parallel processing.

Generation Generation 4 4 computerscomputers (5) (5)

Page 20: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

The Fifth Generation Computer Systems project (FGCS) was an initiative by The Fifth Generation Computer Systems project (FGCS) was an initiative by Japan's Ministry of International Trade and Industry, begun in 1982, to create a Japan's Ministry of International Trade and Industry, begun in 1982, to create a "fifth generation computer" which was supposed to perform much calculation "fifth generation computer" which was supposed to perform much calculation utilizing utilizing massive parallelismmassive parallelism. The aim of the project was to create an "epoch-. The aim of the project was to create an "epoch-making computer" with supercomputer-like performance and usable artificial making computer" with supercomputer-like performance and usable artificial intelligence capabilities.intelligence capabilities.

Whereas previous computer generations had focused on increasing the Whereas previous computer generations had focused on increasing the number of logic elements in a single CPU, the fifth generation, it was widely number of logic elements in a single CPU, the fifth generation, it was widely believed at the time, would instead turn to believed at the time, would instead turn to massive numbers of CPUsmassive numbers of CPUs for for added performance.added performance.

The project imagined a parallel processing computer running on top of The project imagined a parallel processing computer running on top of massive databases (as opposed to a traditional filesystem) using a massive databases (as opposed to a traditional filesystem) using a logic logic programming languageprogramming language to access the data. to access the data.

The FGCS Project did not meet with commercial success an was cancelled in The FGCS Project did not meet with commercial success an was cancelled in 1993. The software was not suitable for commercial applications and the 1993. The software was not suitable for commercial applications and the proprietary architecture was eventually surpassed in speed by less specialized proprietary architecture was eventually surpassed in speed by less specialized hardware (for example, Sun workstations and Intel x86 machines). The hardware (for example, Sun workstations and Intel x86 machines). The computers, operating system and programs produced by the project are now computers, operating system and programs produced by the project are now of historical, academic interest.of historical, academic interest.

Generation Generation 5 5 computerscomputers

Page 21: Basic definitions and history of the Computer Systems Piotr Mielecki Ph. D. Introduction to Computer Systems (1) mielecki@wssk.wroc.pl Piotr.Mielecki@pwr.wroc.pl

Although the Japanese FGCS project has failed, many of the ideas defined in Although the Japanese FGCS project has failed, many of the ideas defined in the concept of the 5 generation computer are in use today. For example:the concept of the 5 generation computer are in use today. For example:

– Computer systems (or supercomputers) built with large number of processors Computer systems (or supercomputers) built with large number of processors connecting with each other in one virtual machine (connecting with each other in one virtual machine (clustercluster) instead of computers ) instead of computers with very sophisticated, huge CPUs.with very sophisticated, huge CPUs.

– Large databases serviced by queries in logic-oriented (in 1st approach) SQL Large databases serviced by queries in logic-oriented (in 1st approach) SQL language (language (SELECT <fields> FROM <TABLE> WHERE <logical condition>SELECT <fields> FROM <TABLE> WHERE <logical condition> for for example) are most important elements of today’s professional applications.example) are most important elements of today’s professional applications.

– In very large projects, as Electronic Health Record for example, data is not stored in In very large projects, as Electronic Health Record for example, data is not stored in one huge, central database but collected dynamically on demand from many local one huge, central database but collected dynamically on demand from many local databases (different hospitals, clinics, insurance companies and other institutions). databases (different hospitals, clinics, insurance companies and other institutions). This is possible by means of standard, application level protocols for data This is possible by means of standard, application level protocols for data interchange (like HL7 in medicine) and spread computing concept.interchange (like HL7 in medicine) and spread computing concept.

– Spread computingSpread computing (in LAN or WAN network environment) in general displaces (in LAN or WAN network environment) in general displaces centralized computing. centralized computing.

In fact since half of 1990-ties we can say ”In fact since half of 1990-ties we can say ”Network is the computerNetwork is the computer” (John ” (John Gage, Sun Microsystems). That means, computer networks with large number Gage, Sun Microsystems). That means, computer networks with large number of different services has became our of different services has became our information environmentinformation environment. The end-user . The end-user interface to this environment in many cases is not even a PC – cellular phones interface to this environment in many cases is not even a PC – cellular phones or PDA and other mobile devices rather.or PDA and other mobile devices rather.

Generation 5 computersGeneration 5 computers