Download presentation
Presentation is loading. Please wait.
1
COSC121: Computer Systems
Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer Organization and Design (4th) **A special thanks to Rich Squier and M. Schmalz
2
Outline Course Outline Overview and Continuity of COSC-120
See Course Syllabus Overview and Continuity of COSC-120 Big Picture
3
Big Picture A computer is a concert of many levels of abstraction
COSC 121: Computer Systems Application (Browser) Operating System (Win, Linux) Compiler COSC 255: Operating Systems Software Assembler Drivers Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design COSC 120: Computer Hardware Circuit Design transistors A computer is a concert of many levels of abstraction
4
Big Picture: From C to Executable
temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program (e.g., C) Compiler lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Assembly Language Program Assembler Machine Language Program Machine Interpretation Control Signal Specification
5
Major Topics Review ISA (LC3) From C to executable
Programming in Assembly Compilation Computer Architecture Performance Pipelining Memory Hierarchy Input / Output Operating System (as a manager of resources) Polling vs Interrupts Traps Non-traditional Computing **If time**
6
Projects (rough estimate!)
Programming in Assembly using PennSim Project 4** Driver for Memory Mapped,Textual Display Project 5 Compilation from X to LC Project 6: runtime stack Project 7**: cache sim Project 8 (if time) Interrupts COSC 121: Computer Systems Application (Browser) Operating System (Win, Linux) Compiler Software Assembler Drivers Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors
7
Why Me!? Why are you here? Why learn about hardware and underlying implementation? Knowing a computers abilities and limitations based on hardware is very important as a programmer. An int is not an Integer! A float is not a Real! Assemblers and Compilers. Understanding the translation process is important as a programmer! Lost in translation: The code you write is not necessarily the code executed! Embedded systems and “time-critical” segments are programmed in assembly Architecture and efficiency: Pipelining Memory Organization Efficiency: time, space, energy
8
Things To Do! Software Tools To Be Used Unix Environment Subversion
PennSim X Compiler (to LC3) Electric / Verilog
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.