Chapter 1. Introducing the Universal Machine

Similar documents
CS 105 Review Questions #3

Welcome to COS151! 1.1

1: History, Generation & Classification. Shobhanjana Kalita, Dept. of CSE, Tezpur University

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

Part (01) Introduction to Computer

Chapter 1. The Big Picture

Algorithm: Program: Programming: Software: Hardware:

Describe the layers of a computer system

INFS 214: Introduction to Computing

In this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition

Welcome to COSC Introduction to Computer Science

Overview of a computer

Introduction to Computer Systems

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208

! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming

Great Inventions written by Bob Barton

Machine Architecture and Number Systems

Introduction To Computers. About the Course

A Brief History of Computer Science

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

History of Computing. Slides from NYU and Georgia Tech

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer?

Chapter 1 : Introduction

I1100 Introduction to Computer Science Semester: 1 Academic Year: 2018/2019 Credits: 3 (30 hours) Dr. Antoun Yaacoub

Elements of Computers and Programming Dr. William C. Bulko. What is a Computer?

CS 101 INTRODUCTION TO COMPUTING

TUTORIAL Describe the circumstances that would prompt you to use a microprocessorbased design solution instead of a hard-wired IC logic design.

Hardware. ( Not so hard really )

! Ancient computers. ! Today's microprocessors. Memory. ! Stores data and programs. ! 256 "words." (16 bits each) ! Special word for stdin / stdout.

INTRODUCTION TO THE COMPUTER

A Brief History of Computer Science. David Greenstein Monta Vista High School, Cupertino, CA

COURSE OVERVIEW. Introduction to Computer Engineering 2015 Spring by Euiseong Seo

Chapter 5: Computer Systems Organization

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization

Chapter 2 Instruction Set Architecture

CS270 Computer Organization Fall 2017

Monday, January 27, 2014

Chapter 01. Introduction 2018/9/17. Chapter Goals. Computing Systems. Computing Systems. Layers of a Computing System. Abstraction

Chapter 2 Data Manipulation

CMPUT 101 with Solutions Quiz 2 (50 minutes) November 16, 2000

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

CS140 Lecture 09a: Brief History of Computing

CS1004: Intro to CS in Java, Spring 2005

Wednesday, January 28, 2018

Corso di Biblioteche Digitali

UNIT 2 (ECS-10CS72) VTU Question paper solutions

The Von Neumann Architecture. Designing Computers. The Von Neumann Architecture. CMPUT101 Introduction to Computing - Spring 2001

Computer Architecture (part 2)

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

CMPUT101 Introduction to Computing - Summer 2002

2011 Francisco Delgadillo

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

Designing Computers. The Von Neumann Architecture. The Von Neumann Architecture. The Von Neumann Architecture

What is TOY? An imaginary machine similar to: ! Ancient computers. ! Today's microprocessors.

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1

Computer Architecture and Assembly Language. Spring

Welcome to. Instructor Marc Pomplun CS 470/670. Introduction to Artificial Intelligence 1/26/2016. Spring Selectivity in Complex Scenes

ENG 101 Lesson -6. History of Computers

CS1100 Introduction to Programming


Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1

COMPUTER MERIT BADGE TROOP 301 HUTCHINSON

What is the typical configuration of a computer sold today? 1-1

CS101 Lecture 29: Brief History of Computing

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1

Assembly Language: Overview

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

CS 101, Mock Computer Architecture

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Fundamentals of Programming Session 1

CMPSCI 201: Architecture and Assembly Language

Components of a personal computer

Let s begin with the very beginning...

We can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack.

Intro to Computing Richard K. Herz, ReactorLab.net

Chapter 1 Welcome Aboard

PDF, Acroforms, XFA & Charles Babbage. Or How the Musings of a 19 th Century English Mathematician Remain Relevant Today

Evolution of the Computer

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Chapter 11. Using Functions for Procedural Abstraction (Part 1)

HISTORY OF CALCULATION. Evolution of Computation

Fundamentals of Digital Computers The mechanical computer age began with the advent of the abacus in 500 B.C by Babylonians. The abacus, which was

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O

Introduction. Arizona State University 1

Artificial Intelligence in the World. Prof. Levy Fromm Institute Spring Session, 2017

Computer History CSCE 101

Assembly Language: Overview!

Computer Hardware and Software Introduction. Mr. Smith AP Computer Science A

Describe the two most important ways in which subspaces of F D arise. (These ways were given as the motivation for looking at subspaces.

Lecture 1 INFORMATICS. The purpose of this course. To help students. Prof. János Fodor. Computer Literate vs. Competent

Introduction to Computers - Chapter 4

1.The First Instrument known in the history of computers was. a) Pascal s adding machine b) Napier s bones c) Abacus d) Analytical Engine

HISTORY OF COMPUTING

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

COMP 102: Computers and Computing Lecture 1: Introduction!

Transcription:

Christian Jacob Chapter 1 Introducing the Universal Machine 1.1 The Very Idea of the Universal Machine 1.1.1 Universal versus Special-Purpose Machines 1.1.2 What is a Computer? 1.1.3 Areas of Computer Science 1.1.4 Early Devices to Facilitate Numerical Operations 1.1.5 Babbage s Engines 1.1.6 Babbage s Idea and Modern Computers 1.2 Turing s Symbol Manipulator 1.3 References Chapter Overview

Page 2 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1 The Very Idea of the Universal Machine A universal machine is a general-purpose symbol-manipulating machine, capable of any task that one can represent as a program. A program is an organized sequence of logical steps. Any actual computer approximates an ideal universal machine. 1.1.1 Universal versus Special-Purpose Machines What are the differences and commonalities of the following machines? car, microwave oven, TV set, CD player, elevator, piano pocket calculator, game boy, computer

Page 3 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1.2 What is a Computer? to compute: (Latin computare; as COM-, putare reckon ) Computer Science = Science of how to Calculate??? Computer: One who computes, a calculator, reckoner, specifically a person employed to make calculations in an observatory, in surveying, etc. (Oxford English Dictionary, 1926). An apparatus built to perform routine calculations... (Grolier Multimedia Encyclopedia, 1993). A usually electronic device for storing and processing data (usually in binary form), according to instructions given to it in a variable program (The Concise Oxford Dictionary, 9th Edition).

Page 4 Chapter 1: Introducing the Universal Machine Christian Jacob Computers are machines for the processing of information: - storage - generation - retrieval - transformation - analyzation - Computer Science = Science of Processing Information by Computers = Informatics

Page 5 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1.3 Areas of Computer Science Artificial Intelligence New Frontiers Computer Graphics Computational X Theoretical CS System Simulation Pattern Recognition Programming Languages Database Systems Communication Systems Computer Structures Operating Systems Computers & their Environment

Page 6 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1.4 Early Devices to Facilitate Numerical Operations Abacus (about 200 B.C.) The abacus is a mechanical aid used for counting. Addition, subtraction, division and multiplication can be performed on a standard abacus. The frame of the abacus has a series of vertical rods on which a number of wooden beads are allowed to slide freely. A horizontal beam separates the frame into two sections, known as the upper deck and the lower deck.

Page 7 Chapter 1: Introducing the Universal Machine Christian Jacob Mathematical Instruments for Analog Computation Left: The image shows a calculator created by Braun & Vayringe in 1735. Right: Planimeters (1906) are very precise instruments for quick and accurate determination of areas on blueprints, maps, photographs, drawings, etc. By following the outline of the area with the tracer the revolution of the measuring wheel in either direction is sensed.

Page 8 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1.5 Babbage s Engines Charles Babbage s Difference Engine (1833) Charles Babbage (1791-1871) designed this engine in an attempt to mechanize the computation of mathematical tables. He used the principle of the method of differences, i.e., adding increments (= differences) to intermediate results. special purpose calculator

Page 9 Chapter 1: Introducing the Universal Machine Christian Jacob Charles Babbage s Analytical Engine (1871) Babbage abandoned the Difference Engine, to pursue a better idea: a general purpose computer for automatically solving mathematical equations.

Page 10 Chapter 1: Introducing the Universal Machine Christian Jacob The Analytical Engine would be able to carry out any mathematical operation by use of stored programs. One could modify its behaviour by altering two boxes of punched cards: one box of variables, or data, and one box of instruction codes. Add Subtract Multiply Divide Thus a box of punched cards might be a program (a sequence of instructions), or it might be data (for example, a table that the engine had already computed and punched). Babbage also noticed the importance of maintaining machinereadable libraries of programs and data ( reusable software).

Page 11 Chapter 1: Introducing the Universal Machine Christian Jacob 1.1.6 Babbage s Idea and Modern Computers Babbage s engine separates a store from a mill. These correspond to the two most important components of a modern computer: the main memory and the central processing unit (CPU). A modern stored-program machine can execute any sequence of instructions stored in its memory. Both instructions and data are read into main memory. By reading externally originated programs (external files) stored within its memory, the actual machine becomes whatever virtual machine the programmer wishes.

Page 12 Chapter 1: Introducing the Universal Machine Christian Jacob Structure of a stored-program machine Babbage s Machine von Neumann Machine Personal Computer Punched cards External files Floppy disks, ZIP drives CDs, DVDs Store Main memory RAM Instruction Pointer Register 1 Register 2 Register 3... Mill Control Unit + - Load Store Branch... Processor (CPU) primitive operations

Page 13 Chapter 1: Introducing the Universal Machine Christian Jacob How does a stored-program machine work? Like Babbage s machine, a modern machine can perform a small number of primitive operations. The instruction pointer tells where to find the next instruction in main memory. The control unit fetches an instruction from memory, decodes it and executes the corresponding primitive operation. A branch instruction changes the value of the instruction pointer, so that it would jump to another part of the program.

Page 14 Chapter 1: Introducing the Universal Machine Christian Jacob 1.2 Turing s Symbol Manipulator State Read Write Move Next state Control program 1 B B Right 2 2 X X Right 2 Left Read/write head Right 2 B B STOP Moving right to the next blank... X X X X X X X X X... 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 0 A T T G A C C A A G T T A A T A G C First Back TOC Turing s Symbol Manipulator Prev Next Last

Page 15 Chapter 1: Introducing the Universal Machine Christian Jacob Alan Turing s universal machine, U, can imitate any other Turing machine, M. Just encode M s rules onto U s tape. Then U reads M s rules as a program. machine U: Control program Read/write head Read all information on the tape. X X X X X X X X X Control program for machine M on the tape Church-Turing Thesis: anything computable can be computed by some Turing machine, some register machine, some Pascal, C, C++, Java, etc. program. First Back TOC Turing s Symbol Manipulator Prev Next Last

Page 16 Chapter 1: Introducing the Universal Machine Christian Jacob 1.3 References G. Blank and R. Barnes, The Universal Machine, Boston, MA: WCB/ McGraw-Hill, 1998. Chapters 1.1 and 1.2. M. R. Williams, A History of Computing Technology, Los Alamitos, CA: IEEE Compute Society Press, 1997. Chapter 4. First Back TOC References Prev Next Last