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

comp2300 comp6300 introduction to computer systems 2016
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

COMP2300/COMP6300 Introduction to Computer Systems 2016

Eric McCreath

slide-2
SLIDE 2

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/

slide-3
SLIDE 3

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.

slide-4
SLIDE 4

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

  • f Computer Science examiner's meeting.
slide-5
SLIDE 5

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.

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

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.

slide-8
SLIDE 8

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.

slide-9
SLIDE 9

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.

slide-10
SLIDE 10

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

slide-11
SLIDE 11

11

Integrated Circuit

Cell processor

CCA 3.0 Unported license - Delemon

Cross-section of IC

CCA 3.0 Unported license - Cepheiden

slide-12
SLIDE 12

12

Hello World - A Closer Look

slide-13
SLIDE 13

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, ...)

slide-14
SLIDE 14

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.