SlideShare a Scribd company logo
1-1
Introduction to Computing Systems:
From Bits and Gates to C and Beyond
Yale N. Patt
Sanjay J. Patel
Slides prepared by
Gregory T. Byrd, Tom Conte
North Carolina State University
Chapter 1
Welcome Aboard
1-3
Computer System: Layers of Abstraction
Software
Hardware
Application Program
Language
Instruction Set Architecture
(and I/O Interfaces)
Microarchitecture
Circuits
Devices
Algorithms
1-4
Big Idea #1: Universal Computing Device
All computers, given enough time and memory,
are capable of computing exactly the same things.
= =
PDA
Workstation
Supercomputer
1-5
Turing Machine
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)
Tadd
a,b a+b
Turing machine that adds
Tmul
a,b ab
Turing machine that multiplies
For more info about Turing machines, see
http://cgi.student.nada.kth.se/cgi-bin/d95-aeh/get/umeng
1-6
Universal Turing Machine
Turing described a Turing machine that could implement
all other Turing machines.
• inputs: data, plus a description of computation (Turing machine)
U
a,b,c c(a+b)
Universal Turing Machine
Tadd, Tmul
U is programmable – so is a computer!
• instructions are part of the input data
• a computer can emulate a Universal Turing Machine,
and vice versa
Therefore, a computer is a universal computing device!
1-7
From Theory to Practice
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, ...
• cost
 cell phone, automotive engine controller, ...
• power
 cell phone, handheld video game, ...
1-8
Big Idea #2: Transformations Between Layers
How do we solve a problem using a computer?
A systematic sequence of transformations between
layers of abstraction.
Problem
Algorithm
Program
Software Design:
choose algorithms and data structures
Programming:
use language to express design
Instr Set
Architecture
Compiling/Interpreting:
convert language to
machine instructions
1-9
Deeper and Deeper…
Instr Set
Architecture
Microarch
Circuits
Processor Design:
choose structures to implement ISA
Logic/Circuit Design:
gates and low-level circuits to
implement components
Devices
Process Engineering & Fabrication:
develop and manufacture
lowest-level components
1-10
Descriptions of Each Level
Problem Statement
• stated using "natural language"
• may be ambiguous, imprecise
Algorithm
• step-by-step procedure, guaranteed to finish
• definiteness, effective computability, finiteness
Program
• express the algorithm using a computer language
• high-level language, low-level language
Instruction Set Architecture (ISA)
• specifies the set of instructions the computer can perform
• data types, addressing mode
1-11
Descriptions of Each Level (cont.)
Microarchitecture
• detailed organization of a processor implementation
• different implementations of a single ISA
Logic Circuits
• combine basic operations to realize microarchitecture
• many different ways to implement a single function
(e.g., addition)
Devices
• properties of materials, manufacturability
1-12
Many Choices at Each Level
Solve a system of equations
Gaussian
elimination
Jacobi
iteration
Red-black SOR Multigrid
FORTRAN C C++ Java
Intel x86
Sun SPARC Compaq Alpha
Pentium II Pentium III AMD Athlon
Ripple-carry adder Carry-lookahead adder
CMOS Bipolar GaAs
Tradeoffs:
cost
performance
power
(etc.)
1-13
Course Outline
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 (ECE 209)
• How do we write programs in C? How does C compare to Java?
• How do we implement high-level programming constructs?
1-14
A touch of history
Several contenders for the first computer:
• Konrad Zuse (Germany, late 1930’s, made public after war)
• Eckert/Mauchly ENIAC (during WWII, made public after war)
• Atanasoff ABC (1942, made public)
• Turing, et al. (during WWII, to decode ENIGMA)
Presper Eckert/John Mauchly went into business (1947)
• Company bought by Rand, 1st Rand computer named UNIVAC
• Spin-offs: Control Data Corporation, Cray Research, Inc.
Bardeen/Brattain/Shockley invent transistor (1947)
Robert Noyce/Jack Kirby independently co-invent integrated circuit (1959)
IBM introduces the 360 (1964)
• Exploited the idea of a level of abstraction to make the first compatible computer
family (still around today!)
DEC introduces PDP-8 (1964)
• First “minicomputer” or programmable data processor
Intel (for Integrated electronics) introduces a single-chip computer, the 4004
(1971) (designed by Tedd Hoff)
• Its ancestor is doing just fine...
1-15
Moore’s law: An interesting trend
http://en.wikipedia.org/wiki/Moore%27s_law
But does performance double?
Transistors get smaller and faster
Clock Frequency increases
Also: Use more transistors for better performance
(better circuits, more on-chip memory)
But...
Power increases with frequency
Off-chip memory doesn't get faster
Wires don't get faster
Latest trend: multiple processors per chip
1-16

More Related Content

PPTX
Architecture presentation
PPTX
ch01_inclass_computers_Chapter 1_Welcome Aboard.pptx
PPT
CS465Lec1.ppt computer architecture in the fall term
PPTX
CP means computer programming in b tech first year
PPT
information communication technology ict
PDF
unit-1 jntuk r23computer programming.pdf
PPT
Unit 1 one part introduction to computers
PPTX
Generation of computer
Architecture presentation
ch01_inclass_computers_Chapter 1_Welcome Aboard.pptx
CS465Lec1.ppt computer architecture in the fall term
CP means computer programming in b tech first year
information communication technology ict
unit-1 jntuk r23computer programming.pdf
Unit 1 one part introduction to computers
Generation of computer

Similar to ComputerProgrammingCPattPatelChapter.pptx (20)

PDF
lect1.pdf
PDF
(1) gui history_of_interactivity
PDF
Introduction to Computers
PPTX
lecture Slides - Week 1.programming fundamentals
PDF
Problem Solving Using Computers FOR any dep't
PPTX
computer applicationin hospitality Industry1 periyar university unit1
PPTX
computer application in hospitality Industry, periyar university unit 1
PPTX
PPTX
PPTX
PDF
Reduce course notes class xi
PDF
CS4109 Computer System Architecture
PPTX
Computer Science PowerPoint Presentation
PPTX
CSC204PPTNOTES
PPTX
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
PPTX
Ch01.pptxcomputer organization and architecture schools
PPTX
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
PPTX
Unit I _Computer organisation andarchitecture
PPTX
Essentials of Computer Science Engineering.pptx
PPT
3-Lec - Fundamentals of Computer Concepts (1).ppt
lect1.pdf
(1) gui history_of_interactivity
Introduction to Computers
lecture Slides - Week 1.programming fundamentals
Problem Solving Using Computers FOR any dep't
computer applicationin hospitality Industry1 periyar university unit1
computer application in hospitality Industry, periyar university unit 1
Reduce course notes class xi
CS4109 Computer System Architecture
Computer Science PowerPoint Presentation
CSC204PPTNOTES
Ch01.pptxxxxxxxxxcxcxcxxccxxxxxxxxxxxcccccc
Ch01.pptxcomputer organization and architecture schools
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
Unit I _Computer organisation andarchitecture
Essentials of Computer Science Engineering.pptx
3-Lec - Fundamentals of Computer Concepts (1).ppt
Ad

Recently uploaded (20)

PPT
MENTAL HEALTH - NOTES.ppt for nursing students
PDF
focused on the development and application of glycoHILIC, pepHILIC, and comm...
PPTX
anaemia in PGJKKKKKKKKKKKKKKKKHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH...
PDF
Medical Evidence in the Criminal Justice Delivery System in.pdf
PPTX
JUVENILE NASOPHARYNGEAL ANGIOFIBROMA.pptx
PPTX
Transforming Regulatory Affairs with ChatGPT-5.pptx
PPT
Management of Acute Kidney Injury at LAUTECH
PPTX
Important Obstetric Emergency that must be recognised
PPTX
surgery guide for USMLE step 2-part 1.pptx
PPTX
ACID BASE management, base deficit correction
PPTX
CME 2 Acute Chest Pain preentation for education
PPT
genitourinary-cancers_1.ppt Nursing care of clients with GU cancer
PPT
Breast Cancer management for medicsl student.ppt
PPTX
Chapter-1-The-Human-Body-Orientation-Edited-55-slides.pptx
PPTX
antibiotics rational use of antibiotics.pptx
PPTX
anal canal anatomy with illustrations...
DOC
Adobe Premiere Pro CC Crack With Serial Key Full Free Download 2025
PPT
OPIOID ANALGESICS AND THEIR IMPLICATIONS
PPT
ASRH Presentation for students and teachers 2770633.ppt
PPTX
Respiratory drugs, drugs acting on the respi system
MENTAL HEALTH - NOTES.ppt for nursing students
focused on the development and application of glycoHILIC, pepHILIC, and comm...
anaemia in PGJKKKKKKKKKKKKKKKKHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH...
Medical Evidence in the Criminal Justice Delivery System in.pdf
JUVENILE NASOPHARYNGEAL ANGIOFIBROMA.pptx
Transforming Regulatory Affairs with ChatGPT-5.pptx
Management of Acute Kidney Injury at LAUTECH
Important Obstetric Emergency that must be recognised
surgery guide for USMLE step 2-part 1.pptx
ACID BASE management, base deficit correction
CME 2 Acute Chest Pain preentation for education
genitourinary-cancers_1.ppt Nursing care of clients with GU cancer
Breast Cancer management for medicsl student.ppt
Chapter-1-The-Human-Body-Orientation-Edited-55-slides.pptx
antibiotics rational use of antibiotics.pptx
anal canal anatomy with illustrations...
Adobe Premiere Pro CC Crack With Serial Key Full Free Download 2025
OPIOID ANALGESICS AND THEIR IMPLICATIONS
ASRH Presentation for students and teachers 2770633.ppt
Respiratory drugs, drugs acting on the respi system
Ad

ComputerProgrammingCPattPatelChapter.pptx

  • 1. 1-1 Introduction to Computing Systems: From Bits and Gates to C and Beyond Yale N. Patt Sanjay J. Patel Slides prepared by Gregory T. Byrd, Tom Conte North Carolina State University
  • 3. 1-3 Computer System: Layers of Abstraction Software Hardware Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms
  • 4. 1-4 Big Idea #1: Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. = = PDA Workstation Supercomputer
  • 5. 1-5 Turing Machine 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) Tadd a,b a+b Turing machine that adds Tmul a,b ab Turing machine that multiplies For more info about Turing machines, see http://cgi.student.nada.kth.se/cgi-bin/d95-aeh/get/umeng
  • 6. 1-6 Universal Turing Machine Turing described a Turing machine that could implement all other Turing machines. • inputs: data, plus a description of computation (Turing machine) U a,b,c c(a+b) Universal Turing Machine Tadd, Tmul U is programmable – so is a computer! • instructions are part of the input data • a computer can emulate a Universal Turing Machine, and vice versa Therefore, a computer is a universal computing device!
  • 7. 1-7 From Theory to Practice 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, ... • cost  cell phone, automotive engine controller, ... • power  cell phone, handheld video game, ...
  • 8. 1-8 Big Idea #2: Transformations Between Layers How do we solve a problem using a computer? A systematic sequence of transformations between layers of abstraction. Problem Algorithm Program Software Design: choose algorithms and data structures Programming: use language to express design Instr Set Architecture Compiling/Interpreting: convert language to machine instructions
  • 9. 1-9 Deeper and Deeper… Instr Set Architecture Microarch Circuits Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level circuits to implement components Devices Process Engineering & Fabrication: develop and manufacture lowest-level components
  • 10. 1-10 Descriptions of Each Level Problem Statement • stated using "natural language" • may be ambiguous, imprecise Algorithm • step-by-step procedure, guaranteed to finish • definiteness, effective computability, finiteness Program • express the algorithm using a computer language • high-level language, low-level language Instruction Set Architecture (ISA) • specifies the set of instructions the computer can perform • data types, addressing mode
  • 11. 1-11 Descriptions of Each Level (cont.) Microarchitecture • detailed organization of a processor implementation • different implementations of a single ISA Logic Circuits • combine basic operations to realize microarchitecture • many different ways to implement a single function (e.g., addition) Devices • properties of materials, manufacturability
  • 12. 1-12 Many Choices at Each Level Solve a system of equations Gaussian elimination Jacobi iteration Red-black SOR Multigrid FORTRAN C C++ Java Intel x86 Sun SPARC Compaq Alpha Pentium II Pentium III AMD Athlon Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs Tradeoffs: cost performance power (etc.)
  • 13. 1-13 Course Outline 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 (ECE 209) • How do we write programs in C? How does C compare to Java? • How do we implement high-level programming constructs?
  • 14. 1-14 A touch of history Several contenders for the first computer: • Konrad Zuse (Germany, late 1930’s, made public after war) • Eckert/Mauchly ENIAC (during WWII, made public after war) • Atanasoff ABC (1942, made public) • Turing, et al. (during WWII, to decode ENIGMA) Presper Eckert/John Mauchly went into business (1947) • Company bought by Rand, 1st Rand computer named UNIVAC • Spin-offs: Control Data Corporation, Cray Research, Inc. Bardeen/Brattain/Shockley invent transistor (1947) Robert Noyce/Jack Kirby independently co-invent integrated circuit (1959) IBM introduces the 360 (1964) • Exploited the idea of a level of abstraction to make the first compatible computer family (still around today!) DEC introduces PDP-8 (1964) • First “minicomputer” or programmable data processor Intel (for Integrated electronics) introduces a single-chip computer, the 4004 (1971) (designed by Tedd Hoff) • Its ancestor is doing just fine...
  • 15. 1-15 Moore’s law: An interesting trend http://en.wikipedia.org/wiki/Moore%27s_law
  • 16. But does performance double? Transistors get smaller and faster Clock Frequency increases Also: Use more transistors for better performance (better circuits, more on-chip memory) But... Power increases with frequency Off-chip memory doesn't get faster Wires don't get faster Latest trend: multiple processors per chip 1-16

Editor's Notes

  • #12: Sun and Java are trademarks of Sun Microsystems, Inc. SPARC is a trademark of SPARC International, Inc. Intel and Pentium are trademarks of Intel Corporation. Compaq and Alpha are trademarks or service marks of Compaq Computer Corporation. AMD and Athlon and trademarks of Advanced Micro Devices, Inc.