Download presentation
Presentation is loading. Please wait.
Published byJean-Marc Laurin Modified over 5 years ago
1
Welcome to: CSC225 Introduction to Computer Organization
John Planck
2
Where this class fits in
101,102,103, etc. High-Level Language 430,431 Compiler Assembly Programming 225 Input/Output Interfaces Instruction Set Architectures 315 Computer Organization 229 Implementation 129 Logic Transistors
3
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!
4
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?
5
This is the LC-3!
6
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
7
Course Outline Bits and Bytes Digital Logic
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?
8
Welcome! Class Organization See Schedule Grading See Syllabus
9
Policies Late Policy – No late labs. Turn in what you have. Plagiarism
Lab write-ups are individual You may not look at someone’s working code. No one else may type anything into the code. Discuss concepts and implementation strategies all you want.
10
Policies Homework Exams
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
11
Number Systems Decimal Octal Binary Hexadecimal 2’s Complement 0000 x0
0000 x0 1 0001 x1 2 0010 x2 3 0011 x3 4 0100 x4 5 0101 x5 6 0110 x6 7 0111 x7 8 10 1000 x8 -8 9 11 1001 x9 -7 12 1010 xA -6 13 1011 xB -5 14 1100 xC -4 15 1101 xD -3 16 1110 xE -2 17 1111 xF -1 20 10000 x10
12
Binary Operations 2’s Complement = (~x)+1 Invert bits Add one
Bitwise Logical operations (AND,OR,NOT) True (1), False (0) AND (&) : If both A and B are true, then true, otherwise false. OR (|) : If either A or B are true, then true, otherwise false. NOT (~) : if A is true, the false, if A is false, then true DeMorgan’s Law (!A & !B) == !(A | B) also !(A & B) == (!A | !B) So !(!A & !B) == !!(A | B) == (A | B) 1-12
13
Questions???
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.