Welcome Aboard – Chapter 1 COMP 2610 Dr. James Money COMP 2610 1.

Slides:



Advertisements
Similar presentations
Chapter 1 An Overview of Computers and Programming Languages.
Advertisements

The LC-3 – Chapter 6 COMP 2620 Dr. James Money COMP
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard,
1 Patt and Patel Ch. 1 Abstraction and Computer Systems.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
บทนำสู่คอมพิวเตอร์. Outline Computer Concepts Computer Components Software OS How to write a program? Program development.
Instructor : Po-Yu Kuo 教師:郭柏佑 Ch. 1 Introduction EL 1009 計算機概論 ( 電子一 A) Introduction to Computer Science.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 COMP201 Computer Systems Dr Richard Nelson Room G.1.29.
1 College of Charleston, School of Science & Mathematics Dr. Anderson, Computer Science Department CS 250 Comp. Org. & Assembly CS 250 – Computer Organization.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Welcome to: CSC225 Introduction to Computer Organization.
Lesson 1b: Computer Systems and Program Development CPS118.
Computer Organization Intro 1 CEG 320/520: Computer Organization and Assembly Language Programming Introduction to Computer Organization.
Introduction to Programming Using C Introduction to Computer Programming.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computer Engineering ELEC S100F (Fall.
مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84.
Spring 2006ICOM 4036 Programming Laguages Lecture 2 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4036 Lecture 2.
Lesson 3 — How a Computer Processes Data Unit 1 — Computer Basics.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
The Nature of Computing INEL 4206 – Microprocessors Lecture 2 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
PART 1 Introduction 1. Layers of Abstraction 2. Turing Machine 3. Layer Transformation 4. Descriptions of Layers.
Computer and Programming. Computer Basics: Outline Hardware and Memory Programs Programming Languages and Compilers.
Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted.
Ch 1 - Introduction to Computers and Programming Hardware Terminology Main Memory Auxiliary Memory Drives Writing Algorithms Using Pseudocode Programming.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
MARC ProgramEssential Computing for Bioinformatics 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4995 Lecture 3.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Chapter 1 Welcome Aboard. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-2 Introduction to the World of.
Computer Organization and Architecture Lecture 1 : Introduction
Yale N. Patt Sanjay J. Patel
Instructor:Po-Yu Kuo 教師:郭柏佑
Computer Organization and Machine Language Programming CPTG 245
Chapter 1: An Overview of Computers and Programming Languages
Assembly Language (CSW 353)
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor Systems Design I
DDC 1023 – Programming Technique
Introduction
Computer Architecture
Introduction to Computer Engineering
Welcome Aboard 1.
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Introduction to Computer Engineering
Welcome to: CSC225 Introduction to Computer Organization
The Nature of Computing
Introduction to Computer Engineering
CS270 Computer Organization
Chapter 4 The Von Neumann Model
Dr. Clincy Professor of CS
Presentation transcript:

Welcome Aboard – Chapter 1 COMP 2610 Dr. James Money COMP

Computer: electronic genius? ▫NO! Electronic idiot! ▫Does exactly what we tell it to, nothing more. Goal of the course: ▫You will be able to write programs in C and understand what’s going on underneath. Approach: ▫Build understanding from the bottom up. ▫Bits  Gates  Processor  Instructions  C Programming How We Will Get There 2 Dr. James Money COMP 2610

Abstraction ▫Allows us to be more productive  Can drive a car without knowing how the internal combustion engine works. ▫…until something goes wrong!  Where’s the dipstick? What’s a spark plug? Do you understand how a car works? ▫Important to understand the components and how they work together. Two Recurring Themes 3 Dr. James Money COMP 2610

Hardware vs. Software ▫Most people refer to themselves as one who specializes in hardware or software, but not both ▫You should take the opposite approach – it is good to know both and sometimes essential  Hardware engineers added MMX instructions for video when this did not exist yet  Sorting can be dependent on the underlying hardware ▫You are seen as more versatile if you know both Two Recurring Themes 4 Dr. James Money COMP 2610

Computer Systems 5 Dr. James Money COMP 2610 ca 1980 It took 10 of these boards to make a Central Processing Unit ca 2000 You can see why they called this CPU a microprocessor!

When we mention computer systems, most people do not only think of the CPU. It usually includes the keyboard, mouse, monitor, video card, hard drive, and so on We focus on the CPU and how it does what we want it to do Computer Systems 6 Dr. James Money COMP 2610

1.All computers, given enough time and memory, are capable of computing exactly the same things. They are Universal Computing Devices Two important concepts 7 Dr. James Money COMP 2610 == PDA Workstation Supercomputer

2.Problem Transformation ▫The ultimate objective is to transform a problem expressed in natural language into electrons running around a circuit! Two important concepts 8 Dr. James Money COMP 2610

Mathematical model of a device that can perform any computation – Alan Turing (1937) ▫ability to read/write symbols on an infinite “tape” ▫state transitions, based on current state and symbol Every computation can be performed by some Turing machine. (Turing’s thesis) Computers as Universal Computing Devices 9 Dr. James Money COMP 2610

Turing Machines 10 Dr. James Money COMP 2610 T add a,ba+b Turing machine that adds T mul a,bab Turing machine that multiplies For more info about Turing machines, see For more about Alan Turing, see

Also known as a Universal Computational Device: a theoretical device that accepts both input data and instructions as to how to operate on the data Universal Turing Machine 11 Dr. James Money COMP 2610

U is programmable – just like a computer! instructions are the input data a computer can emulate a Universal Turing Machine A computer is a universal computing device. Computers as Universal Computing Devices 12 Dr. James Money COMP 2610

In theory, computer can compute anything that’s possible to compute given enough memory and time In practice, solving problems involves computing under constraints. ▫time  weather forecast, next frame of animation, etc ▫cost  cell phone, automotive engine controller, etc ▫power  cell phone, handheld video game, etc From Theory to Practice 13 Dr. James Money COMP 2610

Transformations between layers 14 Dr. James Money COMP 2610 Problems Language Microarchitecture Circuits Devices Algorithms Instruction Set Architecture

We describe the problem initially in natural language This is inefficient ▫There are ambiguities in the description normally ▫“Stir until soup is thick” has multiple meanings to different people We cannot have this ambiguity in computer programs We need precision Statement of Problem 15 Dr. James Money COMP 2610

In order to make the problem precise, we turn it into an algorithm This process is called software design ▫We choose algorithms and data structures An algorithm is a step by step procedure that is guaranteed to terminate such that each step is precisely stated and can be carried out by a computer. There are three terms for these properties. Algorithm 16 Dr. James Money COMP 2610

Definiteness – each step is precisely stated Effective Computability – each step can be carried out by a computer. For example, you cannot ask a computer to find the largest prime number. Finiteness – the algorithm terminates. Algorithm 17 Dr. James Money COMP 2610

There are many algorithms for each problems. There may be one with the fewest steps Others may allow concurrent computations Algorithm 18 Dr. James Money COMP 2610

We now using programming to convert the algorithm to a program Programming languages are precise and invented to specify a sequence of instructions to the computer Over 1000 languages There are two types of languages: ▫High level – C,C++,Pascal, Java ▫Low Level – Assembly, one language for each computer type Program 19 Dr. James Money COMP 2610

Next, by compiling, we convert the programming language into the instruct set of the computer, called the ISA The ISA specifies what instructions the computer can perform, what values it needs, and it’s results We use the term operand to describe the values the instruction needs The ISA specifies acceptable representations for operands called data types The ISA also specifies where the operands are located called the addressing modes Instruction Set Architecture(ISA) 20 Dr. James Money COMP 2610

Processor design results in the microarchitecture that runs the ISA The microarchitecture is the detailed particular implementations of the ISA There are many microarchitectures for each ISA ▫Intel, AMD for x86 ▫Different models of Intel chips Microarchitecture 21 Dr. James Money COMP 2610

We now implement the microarchitecture using simple logic circuits Here there is a cost tradeoff between cost and performance ▫NOT gates are cheaper than regular ones Many choices just for a simple case of addition This is called the logic circuit design phase Logic Circuit 22 Dr. James Money COMP 2610

Finally, process engineering and fabrication results in the devices used to build the logic circuits There might be CMOS, NMOS, and other types of circuits. Devices 23 Dr. James Money COMP 2610

Putting it together 24 Dr. James Money COMP 2610 Solve a system of equations Gaussian elimination Jacobi iteration Red-black SORMultigrid FORTRANCC++Java Intel x86PowerPCAtmel AVR CentrinoPentium 4Xeon Ripple-carry adderCarry-lookahead adder CMOSBipolarGaAs Tradeoffs: cost performance power (etc.)

Bits and Bytes ▫How do we represent information using electrical signals? Digital Logic ▫How do we build circuits to process information? Processor and Instruction Set ▫How do we build a processor out of logic elements? ▫What operations (instructions) will we implement? Assembly Language Programming ▫How do we use processor instructions to implement algorithms? ▫How do we write modular, reusable code? (subroutines) I/O, Traps, and Interrupts ▫How does processor communicate with outside world? C Programming ▫How do we write programs in C? ▫How do we implement high-level programming constructs? Course Outline 25 Dr. James Money COMP 2610