comp2300 comp6300 introduction to computer systems 2016
play

COMP2300/COMP6300 Introduction to Computer Systems 2016 Eric - PowerPoint PPT Presentation

COMP2300/COMP6300 Introduction to Computer Systems 2016 Eric McCreath Acknowledgement "We acknowledge and celebrate the First Australians on whose traditional lands we meet, and pay our respects to the elders of the Ngunnawal people past


  1. COMP2300/COMP6300 Introduction to Computer Systems 2016 Eric McCreath

  2. Acknowledgement "We acknowledge and celebrate the First Australians on whose traditional lands we meet, and pay our respects to the elders of the Ngunnawal people past and present." - The official ANU Acknowledgement wording see: http://reconciliation.anu.edu.au/ 2

  3. Course Information Website: http://cs.anu.edu.au/courses/COMP2300/ Convener: Dr. Eric McCreath - ericm@cs.anu.edu.au, CSIT Building N227 Second Examiner: Mr. Gaurav Mitra - gaurav.mitra@anu.edu.au, CSIT Building N230 Forums via http://cs.anu.edu.au/streams Announcements: posting from lecturer - emailed to everyone Discussion: for everyone to use. 3

  4. Assessment The proposed assessment for COMP 2300/6300 in 2016 will be in 4 parts: 2 Assignments each worth 10% - (20% in total) Lab tests - 9 Tutorial/Labs - start in week 3 (10%) Lab Participation - 10% Final exam 60% The exam mark or final raw mark may be scaled to produce the final overall mark and grade. The final marks for COMP2300 and COMP6300 are scaled separately. Students must get a minimum final overall mark of at least 50% to pass the course. Final marks are moderated at a Research School of Computer Science examiner's meeting. 4

  5. A Layered Approach Computers are very complex artifacts. A good way of dealing with complexity is to use a layered approach. Layers build on each other, with each layer providing 'services' for higher layers. 5

  6. Abstraction and Virtualization The field of computer systems is enabled by 2 fundamental concepts: Abstraction with multiple levels of detail/description. This helps manage complexity, and provides interfaces and standards. Virtualization gives the appearance of a capability or service. This decouples the service from the underlying physical resources. Virtualization helps in terms of: simplicity, flexibility, and resource sharing. 6

  7. Computer Systems This course is about: The hardware-software interface. The workings of a computer (ranging from the very low to the very high levels of abstraction). System-oriented programming (using C, interfacing directly with the operating system). Very low-level programming (assembler, and C). A programmer's view of computer hardware. 7

  8. Computer Systems Mind-Set Real systems are very very complex!! To deal with this complexity you need to: get an overall idea of the system, and work out which parts you need to understand in detail and just focus on those. 8

  9. The Transistor The transistor is a key enabling technology for computers as the transistor provides both switching and amplification within electronic circuits. This is done within a very small area, while only using a very small amount of power. Many transistors can be produced cheaply on an integrated circuit. 9

  10. The Transistor Current processors are manufactured using a CMOS (Complementary metal-oxide-semiconductor). Gates can be made very small and power is mainly used when the gate is switched. e.g. The Intel i7 processor uses an 22nm CMOS process. 8 core Intel Xeon (nehalem) ~2.3 billion transistors NVIDIA GTX 680 ~3.5 billion transistors. CMOS Not Gate Public Domain 10

  11. Integrated Circuit Cell processor Cross-section of IC CCA 3.0 Unported license - Delemon CCA 3.0 Unported license - Cepheiden 11

  12. Hello World - A Closer Look 12

  13. What do we cover? Digital building blocks (number systems, data representation, logic gates, machine code, architectures, history, ...) C Programming (functions, compiling, debugging, system calls, arrays, memory allocation, pointers, ...) rPeANUt computer (architecture, registers, machine and assembly language, procedures, interrupts, ...) Memory Systems and Modern Architectures (virtual memory, page replacement, latency, cache, instruction set design, ..) Operating Systems Concepts (system calls, processes, scheduling, file systems, ...) Interconnection Networks (communication model, switched/packet approaches, ethernet, TCP/IP, ...) 13

  14. Things to do ... Register for a tutorial/lab group via http://cs.anu.edu.au/streams Select texts (C, computer systems) Check out course web pages Read related textbook material. Aim to understand, learn and reflect on the material at hand. 14

Recommend


More recommend