Lec1Ch1

advertisement
Welcome to:
CSC225
Introduction to Computer Organization
Paul Hatalsky
1-1
Where this class fits in
101,102,103, etc.
430,431
225
315
229
129
High-Level Language
Compiler
Assembly Programming
Input/Output Interfaces
Instruction Set Architectures
Computer Organization
Implementation
Logic
Transistors
1-2
Introduction to the World of Computing
Computer: magical 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 much of what’s going on underneath.
Approach:
Build understanding from the bottom up on the LC-3!
1-3
Why are we learning this stuff???
Abstraction – Seeing through it
• We usually don’t need to worry about details…
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?
• Important to understand the components and
how they work together, especially in embedded design
Hardware vs. Software
• It’s not either/or – both are components of a computer system.
• Even if you specialize in one,
you should understand capabilities and limitations of both.
Because we should know. Right?
Because it will be useful, right?
1-4
This is the LC-3!
1-5
Will learning the LC-3 teach me anything about a
real computer?
All computers, given enough time and memory,
are capable of computing exactly the same things.
=
Smartphone
=
Workstation
Supercomputer
1-6
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
• How do we write programs in C?
• How do we implement high-level programming constructs?
1-7
Welcome!
Class Organization
• See Schedule
Grading
• See Sylabus
1-8
Policies
Late Policy – No late labs. Turn in what you have.
Plagiarism
• Lab write-ups are individual (unless I specifically allow
partners)
• You may not look at someone’s working code.
• No one else may type anything into the code.
• Discuss concepts and implementation strategies all that you
want.
1-9
Policies
Homework
• Work together if you wish, but TRY the problem yourself
before you get help.
• Good way to study for tests.
• At least one question per midterm will come directly from
the homework.
Exams
• 2 Midterms – 1 side of 1 page (8.5 x 11) handwritten notes
• 1 Written Final – 2 sides of one page of handwritten notes
1-10
Questions???
Let’s talk about binary and hexadecimal…
1001 1101 0010 0101
9D25
1-11
Download