際際滷

際際滷Share a Scribd company logo
1-1
Introduction to Computing Systems:
From Bits and Gates to C and Beyond
Yale N. Patt
Sanjay J. Patel
際際滷s 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. (Turings 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
thats 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 1930s, 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
Moores 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

Similar to ComputerProgrammingCPattPatelChapter.pptx (20)

PPTX
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
snehapriya84
PPTX
Unit I _Computer organisation andarchitecture
figeman282
PPT
Cpu architecture
VishalSingh996259
PPT
Technology technology.ppt
sheryl90
PDF
Introduction To Computing Systems From Bits And Gates To C And Beyond 2nd Int...
kulesavuolas
PDF
Introduction to Computing Systems: From Bits & Gates to C & Beyond 3rd Editio...
zbjwgjcpe4317
PPTX
Computer organization and architecture.pptx
mynamemy
ODP
History of Computing
Pierre Vigneras
PDF
Introduction to Computing Systems From bits and gates to C and beyond 2nd Int...
weaslyblock
PPTX
microprocessor and microcontroller material
sivapriyaSivakumar1
PPT
An introduction to Computer Technology
Steven Heath
PPT
Introduction to computer sciences
fikirabc
PPTX
Chapter_01_Introduction_to_Computer.pptx
shawshrutika
PPTX
Chapter_01_Introduction_to_Computer.pptx
KunalSahu180994
PPTX
An Introduction to Computin course lecture 1.pptx
SamahAdel16
PPTX
Materi Perkuliahan Arsitektur dan Organisasi Komputer
VanquisherChannel
PDF
unit-1-181211045120.pdf
Vhhvf
PPTX
Computer Introduction (introduction)-Lecture01
Dr. Mazin Mohamed alkathiri
PPT
information communication technology ict
shahzaibch0000786
PPTX
IS 139 Lecture 1
wajanga
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
snehapriya84
Unit I _Computer organisation andarchitecture
figeman282
Cpu architecture
VishalSingh996259
Technology technology.ppt
sheryl90
Introduction To Computing Systems From Bits And Gates To C And Beyond 2nd Int...
kulesavuolas
Introduction to Computing Systems: From Bits & Gates to C & Beyond 3rd Editio...
zbjwgjcpe4317
Computer organization and architecture.pptx
mynamemy
History of Computing
Pierre Vigneras
Introduction to Computing Systems From bits and gates to C and beyond 2nd Int...
weaslyblock
microprocessor and microcontroller material
sivapriyaSivakumar1
An introduction to Computer Technology
Steven Heath
Introduction to computer sciences
fikirabc
Chapter_01_Introduction_to_Computer.pptx
shawshrutika
Chapter_01_Introduction_to_Computer.pptx
KunalSahu180994
An Introduction to Computin course lecture 1.pptx
SamahAdel16
Materi Perkuliahan Arsitektur dan Organisasi Komputer
VanquisherChannel
unit-1-181211045120.pdf
Vhhvf
Computer Introduction (introduction)-Lecture01
Dr. Mazin Mohamed alkathiri
information communication technology ict
shahzaibch0000786
IS 139 Lecture 1
wajanga

Recently uploaded (20)

PPT
Catalysts for Redefined Care in Colorectal Cancer: Adapting Systemic Therapy ...
PVI, PeerView Institute for Medical Education
PPT
Winning GAMBITS Against AML: Guidance on Advances & Medical Breakthroughs wit...
PVI, PeerView Institute for Medical Education
PPTX
Dr Airica Steed Provides Expert Insights on Razor Blade Throat COVID Variant ...
airicasteed4
PPTX
Nutrition part 1 , Dietary Goals , Macronutrients
Dr. Anu Marhatta
PDF
ANATOMY OF LARYNX -Prof.Dr.N.Mugunthan, KMMC.pdf
Kanyakumari Medical Mission Research Center, Muttom
PPTX
Philosophy of Education or Educational Philosophy....
Avantika Gupta
PPTX
An interesting case of facial Swelling in an autoimmune rheumatic disease Ahm...
Internal medicine department, faculty of Medicine Beni-Suef University Egypt
PPTX
Yoga Postures to Practice for Holistic (Physical, Mental, and Cognitive) Well...
Bhoj Raj Singh
PPTX
Global Harmonization Task Force (GHTF) and International Medical Device Regul...
Arpan Das
PPTX
Air Pollution, air quality index, Nepal air pollution
Dr. Anu Marhatta
PPTX
Severe Acute Respiratory Syndrome (SARS)
Dr. Anu Marhatta
PPT
Hope on the Horizon in Gastric Cancer: Breakthroughs in Personalized Care Wit...
PVI, PeerView Institute for Medical Education
PDF
Patient with Cirrhotic Liver Pathophysiology, Clinical Manifestations, and ...
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
PPTX
ZINC DEFICIENCY (HYPOZINCEMIA) in Animals
Dr-Haseeb Zubair Tagar
PDF
4x4 in Multiple Myeloma: Maintaining Momentum for Delivering Innovative Care ...
PVI, PeerView Institute for Medical Education
PPTX
Tuberculosis burden , case finding tools and management .pptx
Dr. Anu Marhatta
PPTX
Abbreviated New Drug Application (ANDA)
Arpan Das
PPTX
MASLD 2025 : A Case Based discisson by Dr. Om J Lakhani
DrOmLakhani1
PPTX
Rheumatic Heart Disease by Dr. Ahmed Sasi
AhmedSasi2
PPT
Patient-Centric Frameworks in Desmoid Tumors: Integrating Emerging Science on...
PVI, PeerView Institute for Medical Education
Catalysts for Redefined Care in Colorectal Cancer: Adapting Systemic Therapy ...
PVI, PeerView Institute for Medical Education
Winning GAMBITS Against AML: Guidance on Advances & Medical Breakthroughs wit...
PVI, PeerView Institute for Medical Education
Dr Airica Steed Provides Expert Insights on Razor Blade Throat COVID Variant ...
airicasteed4
Nutrition part 1 , Dietary Goals , Macronutrients
Dr. Anu Marhatta
ANATOMY OF LARYNX -Prof.Dr.N.Mugunthan, KMMC.pdf
Kanyakumari Medical Mission Research Center, Muttom
Philosophy of Education or Educational Philosophy....
Avantika Gupta
An interesting case of facial Swelling in an autoimmune rheumatic disease Ahm...
Internal medicine department, faculty of Medicine Beni-Suef University Egypt
Yoga Postures to Practice for Holistic (Physical, Mental, and Cognitive) Well...
Bhoj Raj Singh
Global Harmonization Task Force (GHTF) and International Medical Device Regul...
Arpan Das
Air Pollution, air quality index, Nepal air pollution
Dr. Anu Marhatta
Severe Acute Respiratory Syndrome (SARS)
Dr. Anu Marhatta
Hope on the Horizon in Gastric Cancer: Breakthroughs in Personalized Care Wit...
PVI, PeerView Institute for Medical Education
Patient with Cirrhotic Liver Pathophysiology, Clinical Manifestations, and ...
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
ZINC DEFICIENCY (HYPOZINCEMIA) in Animals
Dr-Haseeb Zubair Tagar
4x4 in Multiple Myeloma: Maintaining Momentum for Delivering Innovative Care ...
PVI, PeerView Institute for Medical Education
Tuberculosis burden , case finding tools and management .pptx
Dr. Anu Marhatta
Abbreviated New Drug Application (ANDA)
Arpan Das
MASLD 2025 : A Case Based discisson by Dr. Om J Lakhani
DrOmLakhani1
Rheumatic Heart Disease by Dr. Ahmed Sasi
AhmedSasi2
Patient-Centric Frameworks in Desmoid Tumors: Integrating Emerging Science on...
PVI, PeerView Institute for Medical Education
Ad

ComputerProgrammingCPattPatelChapter.pptx

  • 1. 1-1 Introduction to Computing Systems: From Bits and Gates to C and Beyond Yale N. Patt Sanjay J. Patel 際際滷s 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. (Turings 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 thats 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 1930s, 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 Moores 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.