Inf2C - Computer Systems Lecture 1 Course overview & the big picture

Similar documents
Computer Architecture!

Computer Architecture

Computer Architecture!

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Computer Architecture

Computer Systems & Architecture

Computer Architecture!

Operating Systems. P. Healy. Spring CS1-08 Computer Science Bldg. tel: Administrive Details Introduction

Introduction to Computer Systems

COMPUTER ARCHITECTURE AND OPERATING SYSTEMS (CS31702)

ECE 15B COMPUTER ORGANIZATION

CSE506: Operating Systems CSE 506: Operating Systems

CS 241 Data Organization using C

COMP3221: Microprocessors and. Embedded Systems

What is this class all about?

CS61C Machine Structures. Lecture 1 Introduction. 8/25/2003 Brian Harvey. John Wawrzynek (Warznek) www-inst.eecs.berkeley.

EECE 321: Computer Organization

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

CS342 Operating Systems

Database Systems (INFR10070) Dr Paolo Guagliardo. University of Edinburgh. Fall 2016

Comp 104: Operating Systems Concepts

CS 0449 Intro to Systems Software Fall Term: 2181

CSE506: Operating Systems CSE 506: Operating Systems

CMPSCI 201: Architecture and Assembly Language

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng

CS 3410: Intro to Computer System Organization and Programming

CSE 504: Compiler Design

Inf2C - Computer Systems Lecture 2 Data Representation

High Performance Computing in C and C++

Introduction. 1990s. UNSW/NICTA startup OK Labs Timeline. Operating UNSW. John Lions (19 January December 1998)

What is this class all about?

CPSC 213. Introduction to Computer Systems. Introduction. Unit 0

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

Introduction to Computer Systems

Processors. Nils Jansen and Kasper Brink. (based on slides from Jeroen Keiren, Marc Seutter and David N. Jansen)

Introduction & Logistics

C Programming for Engineers Introduction

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

Introduction to Parallel Computing

Instructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.

AE Computer Programming for Aerospace Engineers

CS240: Programming in C

ECE573 Introduction to Compilers & Translators

SOA - Advanced Operating Systems

CS3350B Computer Architecture. Introduction

Administrative matters. EEL-4713C Computer Architecture Lecture 1. Overview. What is this class about?

CASO - Advanced Concepts on Operating Systems

PC Applications IT102 estart Fall 2014

CPSC 213. Introduction to Computer Systems. About the Course. Course Policies. Reading. Introduction. Unit 0

CSCI455: Introduction to Programming System Design

CS 113: Introduction to

CS 326: Operating Systems. Lecture 1

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

Microprocessor. Dr. Rabie A. Ramadan. Al-Azhar University Lecture 1

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

Computer Architecture. Fall Dongkun Shin, SKKU

Syllabus CSCI 405 Operating Systems Fall 2018

CS61C C/Assembler Operators and Operands Lecture 2 January 22, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson)

Processor: Faster and Faster

Lecture 1: Introduction to Digital Logic Design

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

Calendar Description

CSE 417 Practical Algorithms. (a.k.a. Algorithms & Computational Complexity)

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

EE3032 Introduction to VLSI Design

CSE 240 Introduction to Computer Architecture

Introduction to Basis and Practice in Programming

Welcome to Solving Problems with Computers I

CNT 4004: Computer Networks I. Tentative Syllabus

SSE3044: Operating Systems

Introduction. 1990s. UNSW/NICTA startup OK Labs Timeline. 2000s. Operating UNSW. John Lions (19 January December 1998)

CS270 Computer Organization Fall 2017

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

Introduction CPS343. Spring Parallel and High Performance Computing. CPS343 (Parallel and HPC) Introduction Spring / 29

ECE 154A. Architecture. Dmitri Strukov

Computer Organization & Assembly Language Programming (CSE 2312)

Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management

COMPUTER ARCHTECTURE

Data Structures and Algorithms

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

Compiling Techniques

Computers and programming languages introduction

Computer Architecture

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

CS64 Computer Organization

COS 318: Operating Systems. Introduction

Intro to Math 230 Assembly Language Programming. Lecture # 01 01/15/08

Course web site: teaching/courses/car. Piazza discussion forum:

Computer Architecture. R. Poss

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

1.2.1 Electronic computers based on digital switching

ECE/CS 552: Introduction To Computer Architecture 1

Operating Systems, Spring 2015 Course Syllabus

Introduction. 1990s. UNSW/NICTA startup OK Labs Timeline. 2000s. Operating UNSW. John Lions (19 January December 1998)

Chapter 1. Computer Abstractions and Technology. Lesson 2: Understanding Performance

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

Transcription:

Inf2C - Computer Systems Lecture 1 Course overview & the big picture Boris Grot School of Informatics University of Edinburgh

Practicalities Lectures: Tue 15:10 16:00 @ Appleton Tower, LT 2 Fri 15:10 16:00 @ Teviot LT Tutorials: weeks 3, 5, 7, 9 Labs: Drop-in format. Demonstrators available to help Online discussion forum: Piazza https://piazza.com/ed.ac.uk/fall2017/inf2ccs/home Primary means to Q&A outside of class. Study resources: slides, book, lecture notes (online) All material are/will be on the course web-page: http://www.inf.ed.ac.uk/teaching/courses/inf2c-cs Inf2C Computer Systems - 2017-2018. Boris Grot 2

Lecture schedule, slides, notes Schedule will drift. It s OK. Inf2C Computer Systems - 2017-2018. Boris Grot 3

Books Required: Patterson & Hennessy: Computer Organization and Design, Morgan Kaufmann 5 th or 4 th ed recommended Several copies on reserve in the library and online Silberschatz, Galvin, Gagne: Operating Systems Concepts, Wiley 9 th ed Library has 5 th and 7 th ed ebook (both OK) Only a few sections needed for this course Kernighan and Ritchie. The C Programming Language, Prentice Hall 2 nd ed Generally useful, but not mandatory for this course Inf2C Computer Systems - 2017-2018. Boris Grot 4

Exam and Coursework Exam - 60% In December; exact date not available yet. Must achieve at least 40/100 to pass the course Coursework 40% 1. MIPS assembly programming Out: Tue 10 Oct (week 4) Due: Wed 25 Oct (week 6) @ 4pm 2. C programming Out: Tue 7 Nov (week 8) Due: Wed 22 Nov (week 10) @ 4pm Must achieve at least 40% in total to pass the course Inf2C Computer Systems - 2017-2018. Boris Grot 5

Late coursework Normally, you will not be allowed to submit coursework late If you have a really good reason to submit late, contact the ITO via their Support Form. The ITO will log the report and pass it on to the UG2 Course/Year Organiser (Dr. Rik Sarkar) Only in exceptional circumstances (e.g., illness that stopped you getting to email), would an extension be granted after a deadline has passed Inf2C Computer Systems - 2017-2018. Boris Grot 6

What is good reason? Something that, in the judgement of the member of staff responsible, would prevent a competent, wellorganised, conscientious student from being able to submit on time. Examples: Significant illness Serious personal problems Non-examples: Difficult cluster of deadlines Last-minute computer problems, dog ate your homework, Inf2C Computer Systems - 2017-2018. Boris Grot 7

Academic Misconduct (aka Cheating) How cheating is defined in this course: Any similarity in the submitted coursework How we check for cheating: Pairwise comparisons between all submissions Two tools: MOSS (commercial grade) and an internal tool Rely on sophisticated fingerprinting techniques that are rename and reorder proof I have a great track record of hunting down cheaters Will go to great lengths to prosecute to the max extent DON T DO IT!!! Inf2C Computer Systems - 2017-2018. Boris Grot 8

How to do well in this class Get started on assignments early They are intended to be work-intensive Take advantage of labs But don t wait till the last day à demonstrators will be swamped and will not have time for all Don t ignore tutorials Advance prep will allow you to focus on nuances Keep up with the reading and the lectures Don t cheat/plagiarise Inf2C Computer Systems - 2017-2018. Boris Grot 9

Inf2C Computer Systems - 2017-2018. Boris Grot 10

So what is this course about? Inf2C Computer Systems - 2017-2018. Boris Grot 12

Syllabus Overview Hardware: Data representation and operations Design of (very) simple circuits Processor organisation The memory subsystem Input/Output (I/O) Exceptions and interrupts Software: Low-level (assembly) programming C programming Operating systems basics Inf2C Computer Systems - 2017-2018. Boris Grot 13

Let s dig in Inf2C Computer Systems - 2017-2018. Boris Grot 14

Evolution of computers Early computers had their programs set up by plugging cables and setting switches John von Neumann first proposed to store the program in the computer s memory All computers since then (~1945) are storedprogram machines Inf2C Computer Systems - 2017-2018. Boris Grot 15

Evolution of computers What has changed is the number of transistors (electronic switches) and their speed Implementation technology progressed from vacuum tubes to discrete bipolar transistors to (eventually) Integrated Circuits (a.k.a. chips) made with complementary metal-oxide semiconductor (CMOS) technology. Inf2C Computer Systems - 2017-2018. Boris Grot 16

Evolution of computers What has changed is the number of transistors (electronic switches) and their speed Implementation technology progressed from vacuum tubes to discrete bipolar transistors to (eventually) Integrated Circuits (a.k.a. chips) made with complementary metal-oxide semiconductor (CMOS) technology. At the same time, the cost per transistor has been dropping Inf2C Computer Systems - 2017-2018. Boris Grot 17

Moore s law Inf2C Computer Systems - 2017-2018. Boris Grot 18

Moore s law Transistor counts double roughly every 2 years Intel 4004 (1971): 2300 transistors Intel Xeon Westmere EX (2011): 2.3 bil. transistors Million-fold increase in just 40 years! Inf2C Computer Systems - 2017-2018. Boris Grot Biggest CPU today: AMD Epyc 19 19.2 Bil transistors

Types of computer systems Servers Used for either few large tasks (e.g., engineering apps), or many small tasks (e.g., web server, Google) Fast processors, lots of memory Multi-user, multi-program Personal computers Laptops, desktops Balance cost, processing power Few users, multi-program Inf2C Computer Systems - 2017-2018. Boris Grot 20

Types of computer systems (con d) Mobile devices Smart phones, tablets Highly integrated (multiple processors, GPU, GPS, media accelerators, etc), low-power Single-user, multi-program Embedded: Task specific: sensing, control, media playback, etc. Low-cost, low-power Single program Inf2C Computer Systems - 2017-2018. Boris Grot 21

Which computer system category is the largest? 100,000 Units shipped per year (millions) 10,000 1,000 100 10 1 Servers Personal Computers Mobile Devices Embedded Inf2C Computer Systems - 2017-2018. Boris Grot 22

Computer components Data path Performs actual operations on data Control path Fetches instructions from program in memory Controls the flow of data through the data path Memory Stores data and instructions Input/Output Interfaces with other devices for getting/giving data Processor Inf2C Computer Systems - 2017-2018. Boris Grot 23

A modern processor Interface to other chips, peripherals Interface to main memory Individual processors Fast on-chip memory Inf2C Computer Systems - 2017-2018. Boris Grot 24

Modern computer system Source code Compiler System software User application OS Hardware Compiler Translates High Level Language (HLL) into machine language or byte code Operating System (OS) Mediates access to hardware resources (CPU, Memory, I/O) Schedules applications Inf2C Computer Systems - 2017-2018. Boris Grot 25

Words of wisdom & caution This class covers a lot of material Keeping up will require effort on your part This ain t no INF1! Attend all lectures, tutorials and labs Get started on assignments early They are meant to be work-intensive ASK QUESTIONS! Reward: you will learn a lot! Inf2C Computer Systems - 2017-2018. Boris Grot 26

randomoverload.net Inf2C Computer Systems - 2017-2018. Boris Grot 27