CS.201 Computer Systems and Architecture (Semester 1) and CS.305 Computer Architecture Introduction...

42
CS.201 Computer Systems and Architecture (Semester 1) <http://spider.science.strath.ac.uk/spider/spider/sho wClass.php?class=cs210> and CS.305 Computer Architecture <local.cis.strath.ac.uk/teaching/ug/classes/CS.305> Introduction Duncan Smeed

Transcript of CS.201 Computer Systems and Architecture (Semester 1) and CS.305 Computer Architecture Introduction...

CS.201Computer Systems and Architecture

(Semester 1)<http://spider.science.strath.ac.uk/spider/spider/sho

wClass.php?class=cs210>

andCS.305

Computer Architecture<local.cis.strath.ac.uk/teaching/ug/classes/CS.305>

Introduction

Duncan Smeed

Introduction

Administrivia

ResourcesSyllabusEssential ReadingLecture NotesOne-Minute PapersTutorialsAssessmentsPre-requisitesRecommended Reading/ReferencesExam Stats

CS210_305_01/2

Introduction

Resources

Web pages

Forum

E-mail

CS210_305_01/3

Introduction

Resources – Web pages [CS210]

Official home page - SPIDER:<http://spider.science.strath.ac.uk/spider/spider/showClass.php?class=CS210>

Major update announcements & class information:

<http://spider.science.strath.ac.uk/spider/spider/showContent.php?class=CS210&category=info>

and in the CS210 Forum: <https://local.cis.strath.ac.uk/forums/viewforum.php?f=111>

CS210_305_01/4

Introduction

Resources – Web pages [CS305]

Official home page:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/> Primarily used for everything bar the assignment submission

system (see SPIDER below) Major update announcements:

<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/news.html>

and in the CS305 Forum: <https://local.cis.strath.ac.uk/forums/viewforum.php?f=96>

SPIDER:<spider.science.strath.ac.uk/spider/spider/showClass.php?class=CS305>

Really only used for assignment submissions Will contain links to the ‘official’ web pages

CS210_305_01/5

Introduction

Resources – Forum [CS210]

Official Forum <https://local.cis.strath.ac.uk/forums/viewforum.php?f=111>

Integral part of class delivery content• May contain examinable material

Usual place for announcements, Q&A, etc.

Note: Please strive to keep the signal/noise(S/N) ratio high!

CS210_305_01/6

Introduction

Resources – Forum [CS305]

Official Forum <https://local.cis.strath.ac.uk/forums/viewforum.php?f=96>

Integral part of class delivery content?• May contain examinable material

Usual place for announcements, Q&A, etc.

Note: Please strive to keep the signal/noise(S/N) ratio high!

CS210_305_01/7

Introduction

Resources – E-mail

The official forums are the preferred(!?) method of e-interaction…

…However, if you must use e-mail to contact me about the class then please be aware of my…

…Filters and Spam Traps, so Please use the label [CS210] or [CS305] as part of the subject

line Best to use your official University or Departmental account

CS210_305_01/8

Introduction

Aim [CS210]

To enable the student to develop a deeper understanding of typical computer architectures and their instruction sets and the complex tradeoffs between CPU clock speed, cache size, bus organization, number of core processors, etc., that influence their design and have a fundamental impact on their performance.The class will also further the student’s knowledge of the need for, and the design and implementation of, those other vital components of a modern computer, namely memory and storage hierarchies, operating systems and communication networks. The interactions between many of these components will be investigated by means of significant practical work that consolidates the lecture content in the context of: (i) (instruction set) architecture, (ii) performance evaluation, (iii) device interfacing, (iv) communications and (v) operating system capabilities. Software developed in appropriate programming languages will form the basis of much of the practical work thus enabling the student to enhance their software design and implementation skills in this domain.[<www.strath.ac.uk/cis/localteaching/localug/cs210/>]

CS210_305_01/9

Learning Outcomes [CS210]

On completion of the class, a student should be able: Understand the key concepts that are likely to be included in

the design of any modern computer system. Understand and to evaluate the impact that programming

languages, their compilers and underlying operating systems have on the design of computer systems.

Understand and to apply the basic metrics and techniques by which new and existing computer systems may be evaluated.

Apply programming techniques made possible by languages such as C to understand execution characteristics and performance issues arising therefrom.

Understand and to evaluate the impact that I/O devices and networks, their interconnection and underlying data operations have on the design of computer systems.

Introduction CS210_305_01/10

Learning Outcomes [CS210] (Cont’d)

… Display knowledge of the fundamental techniques used in

operating systems and other systems software. Understand threading and concurrency mechanisms. Appreciate the need for memory management and to display

knowledge of concepts and techniques involved in virtual memory management.

Appreciate the resource requirements of multimedia applications and the design, implementation, and operation of high-performance computer/communication/operating systems developed to meet these requirements.

Introduction CS210_305_01/11

Syllabus [CS210]

Introduction: historical overview; economic trends; underlying technologies.

Computer Performance: the metrics of performance; popular performance metrics; comparing and summarising performance.

Instruction Set Design: Alternatives and Principles: classifying instruction set architectures; operations in the instruction set; type and size of operands; instruction representations.

Processor Implementation Techniques: processor datapath and steps of execution; hardwired control; microprogrammed control; interrupts; pipeline and superscalar implementations.

Memory Systems: principle of locality, principles of memory hierarchy, caches, main memory, virtual memory.

Introduction CS210_305_01/12

Syllabus [CS210] (Cont’d)

… Input/Output: I/O performance measures, types and

characteristics of I/O devices, buses: connecting I/O devices to processor and memory, interfacing I/O devices to memory, processor, and operating system.

Networks: ISO 7-layer reference model in general and its instantiation in TCP/IP; overview of Physical and Data Link layer concepts; Internetworking and routing; transport layer services.

Operating Systems: basic concepts and structure (concurrency, process and processor, system calls); virtual machines.

Introduction CS210_305_01/13

Introduction

Aim [CS305]

To help the student develop an understanding of the nature and characteristics of the organisation and design of the modern computer systems. [<www.strath.ac.uk/cis/localteaching/localug/cs305/>]

CS210_305_01/14

Learning Outcomes [CS305]

On completion of the class, a student should be able: to understand the key concepts that are likely to be included

in the design of any modern computer system to understand and to apply the basic metrics by which new

and existing computer systems may be evaluated to understand and to evaluate the impact that languages,

their compilers and underlying operating systems have on the design of computer systems

to understand and to evaluate the impact that peripherals, their interconnection and underlying data operations have on the design of computer systems

to demonstrate the techniques needed to conduct the design of a computer

to examine different computer implementations and assess their strengths and weaknesses

Introduction CS210_305_01/15

Syllabus [CS305]

Introduction: historical overview, economic trends, underlying technologies.

Computer Performance: the metrics of performance, popular performance metrics, comparing and summarising performance.

Instruction Set Design: Alternatives and Principles: classifying instruction set architectures, operations in the instruction set, type and size of operands, instruction representations.

Arithmetic Logic Unit: arithmetic and logic operations, arithmetic and logic operands, constructing an arithmetic logic unit.

Basic Processor Implementation Techniques: processor datapath, basic steps of execution, hardwired control, microprogrammed control, interrupts.

Introduction CS210_305_01/16

Syllabus [CS305] (Cont’d)

… Pipelining: pipelined datapaths, pipelined control, pipeline

hazards, pipeline implementations, taking advantage of more instruction-level parallelism.

Memory Systems: principle of locality, principles of memory hierarchy, caches, main memory, virtual memory.

Input/Output: I/O performance measures, types and characteristics of I/O devices, buses: connecting I/O devices to processor and memory, interfacing I/O devices to memory, processor, and operating system.

Introduction CS210_305_01/17

Introduction

Essential Reading – Semester 1

Essential Reading

<http://tinyurl.com/PandH4th>

Computer Organization and Design: The Hardware/Software Interface, Fourth Edition

David Patterson, University of California, Berkeley

John Hennessy, Stanford University

More textbook details at:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/about/textbook.html>

CS210_305_01/18

Introduction

Lecture Notes - Semester 1

Distribution policy (on-line)CS210:<spider.science.strath.ac.uk/spider/spider/

showContent.php?class=CS210&category=lecture_slides>

CS305:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/downloads/>

Occasionally handouts of complex slides/diagrams will be distributed in (advance of) a lecture

Slides only part of the story! Attending the lectures is highly recommended* Having (access to) the textbook is essential

* Note: It is now departmental policy to record attendance at lectures, practicals and tutorials.

CS210_305_01/19

Introduction

One-Minute Papers

This will be my 6th year of using OMPs to support the teaching of my classes

Handed out at the start of each lecture If I forget then please remind me!

Collected in at the end of each lecture Please don’t forget to hand in your OMP!

(Usually) Returned at a subsequent tutorial/practical E.g. used to kick-start a tutorial’s Q&A?

OMP Bonus Scheme! Worth up to an additional 10% of the coursework contribution.

E.g. 10% * 20% => 2% of the overall assessment. Each OMP is given a mark between 1 and 3

① Neither of the questions answered② Only one of the questions (sensibly!?)③ Both questions answered (sensibly!?)

CS210_305_01/20

Introduction

One-Minute Paper… Questions

There are two OMP questions:Q1 What was the most important point made in the lecture

today?Q2 What are you still most unsure of as a result of the lecture?

Please answer these questions as honestly as possible They are an invaluable, and immediate, source of feedback Answers to Q2 will help focus later lectures/tutorials on common

issues

There may be a third question – typically a MCQ for eliciting feedback. For instance:

CS210_305_01/21

Introduction

Practicals [CS210] – Semester 1

Details/Links:TBA

Guidelines:TBA

Start Week 3* – Allocations announced in Week 2 – Day/Time/Room: Mon/11:00-12:00/L12.01 (Kelvin Lab) Mon/13:00-14:00/L12.01 (Kelvin Lab) Tue/12:00-13:00/L12.01 (Kelvin Lab)

There’s work to be done before, and in, each practical!

* CS210 students are encouraged to attend any lab in week 2

CS210_305_01/22

Introduction

Tutorials [CS305]

Details/Links:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/

tutorials/>

Guidelines:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/

tutorials/guidelines.html>

Start Week 3 – Allocations announced in Week 2 – Day/Time/Room: Thu/11:00-12:00/GH450 Thu/12:00-13:00/Col430 Fri/12:00-13:00/Col430 (Weeks 3 & 4) Mon/12:00-13:00/M212 (Weeks 5 onwards)

There’s work to be done before, and in, each tutorial! E.g.<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/

tutorials/t01.html>CS210_305_01/23

Tutorials [CS305] (Cont’d)

Encourage Learning with In-Tutorial Exercises Exercises attempted before/during/after tutorials are a vital

aspect of engaging with the class content. Most of the exercises will be derived from the end-of-chapter

exercises of the textbook. The more exercises attempted the better the level of

knowledge and understanding will be. Given the number of exercises that are set and the

importance of these, it is recommended that students organise themselves into small self-help groups.

I call these self-help groups “ELITE Teams” ;-)

Introduction CS210_305_01/24

ELITE Teams [CS305]

Composition Self-determined by the students Up to 4 students in each team Members of a team should be in the same tutorial group

Organisation ELITE Teams are encouraged to meet on an ad-hoc, weekly,

basis outside the scheduled times for the CS305 lectures/tutorials. The time available in a tutorial will not be enough!

Members of the team are encouraged to share the workload of answering the In-Tutorial Exercises. How this is done is up to each team. There are several approaches…

Justification & Motivation ELITE Team members will be able to discuss and answer more

questions/exercises than they could as individuals.

Introduction CS210_305_01/25

Introduction

Assessments

CS210 Exam in May 2011: 70%CS305 Exam in Jan 2011: 80%Coursework in Semester 1:

CS210(??%) & CS305 (20%): Assessed Coursework Exercise #1 Assessed Coursework Exercise #2 Assessed Coursework Exercise Group Project Class Test #1 Class Test #2

Bonuses: ?% OMP Bonus Scheme! Bonus questions in ACEs?

CS210_305_01/26

Introduction

Assessed Coursework Exercises (ACEs)

Assessed Coursework Exercise #1 (ACE #1) Type: Individual Exercise Weight: 100/? [CS210], 100/300 [CS305] Set: Monday, 11th October - Week 3 Due: 09:00 Monday, 8th November – Week 7

Assessed Coursework Exercise #2 (ACE #2) Type: Individual Exercise Weight: 100/? [CS210], 100/300 [CS305] Set: Monday, 8th November - Week 7 Due: 09:00 Monday, 6th December - Week 11

CS210_305_01/27

Introduction

ACE Group Project - Semester 1

Assessed Coursework Exercise Group Project Type: Group Exercise Weight: 100/? [CS210], 100/300 [CS305] Set: Monday, 15th November - Week 8 Due: Friday, 17th December - Week 12

ACE Groups Composition: Possibly the same as an ELITE Team for CS305

students. TBD for CS210 students. Operation: TBD

CS210_305_01/28

Introduction

Class Tests - Semester 1

Class Test #1 (CT #1) Type: In-lecture, 25 question, 20-minute, MCQ Weight: 50/? [CS210], 50/300 [CS305]* Set: Thursday, 11th November - Week 7

Class Test #2 (CT #2) Type: In-lecture, 25 question, 20-minute, MCQ Weight: 50/? [CS210], 50/300 [CS305]* Set: Thursday, 9th December - Week 11

* The total mark from the assessments is 300 and is calculated from the best mix of ACE #1, ACE #2, CT #1 and CT #2 marks added to the ACE Group Project mark. I.e. the combined mark for CT #1 and CT #2 may be used to compensate for the poorest #ACE mark if this gives a better total. The Group Project mark cannot be compensated.

CS210_305_01/29

Feedback Mechanisms

Marked work and/or marking schemes As appropriate

Sample solutions Online and/or covered in lectures/tutorials/practicals

Forum Q&As But remember this is not a ‘distance learning’ class!

One-Minute Papers Help focus later lectures/tutorials/practicals on common

issues

Class Tests Correct answers given in the lecture following the class test

Tutorials/Practicals Worked exercises and solutions to (some) exercises

Introduction CS210_305_01/30

Introduction

Pre-requisites [CS210]

Note recommended pre-requisites for CS210: CS106 Computer Systems and Organisation or

CS107 Fundamentals of Computer Systems

CS210_305_01/31

Introduction

Pre-requisites [CS305]

Note recommended pre-requisites for the class: 52 139 Computer Organisation 52 223 Low Level Programming

CS210_305_01/32

Lectures [CS210]

Tue 14:00-15:00, K325 & Thu 14:00-15:00, R667 Weeks 1-4:

Bringing CS210 students up to speed on 52.223-related material

Weeks 5-12: Co-taught with CS305 cohort in CS210 lecture slots

Introduction CS210_305_01/33

Lectures [CS305]

Weeks 1-4:

Mon 12:00-13:00, M212 & Fri 11:00-12:00, McC3 Bringing CS305 students up to speed on CS106/107-related

material

Weeks 5-12: Co-taught with CS210 cohort in CS210 lecture slots:

Tue 14:00-15:00, K325 & Thu 14:00-15:00, R667

Introduction CS210_305_01/34

Introduction

Recommended Reading/References

1. Computer Organization and Design: The Hardware/Software Interface, Fourth Editionby David Patterson & John Hennessy

<http://tinyurl.com/PandH4th>

2. CS107 Lecture Notes (2009-2010)Available (restricted access) from:<spider.science.strath.ac.uk/spider/spider/showClass.php?class=CS107&category=lecture_slides>

3. 52.139 (Duncan's version) Lecture NotesAvailable (restricted access) from:<local.cis.strath.ac.uk/teaching/ug/classes/CS.305/downloads/>

4. 52.223 Lecture NotesAvailable (restricted access) from:<local.cis.strath.ac.uk/teaching/ug/classes/52.223/downloads/>

CS210_305_01/35

Exam Stats [CS305]

Out of curiousity I have analysed the exam results from the first diet CS305 exams for past cohorts.

In particular, I was curious to see if the attendances at lectures and tutorials were a good predictor of performance in the exam. So, here are the raw stats so you can draw your own conclusions.

Key: #l = number of lectures #s = number of students #t = number of tutorials #p = number of students passing the first diet exam

Introduction CS210_305_01/36

Exam Stats [CS305] – AY 2006/2007 - Details

By lecture attendance #l #s #p Mean Std.Dev 23 13 13 69.3 17.2 21-22 20 19 65.1 14.5 16-20 23 17 60.0 21.4 9-15 8 4 44.7 15.9 <9 9 3 34.3 22.0

By tutorial attendance #t #s #p Mean Std.Dev 8-9 28 27 67.8 16.2 5-7 28 21 53.8 19.0 <5 17 7 41.1 21.9

Introduction CS210_305_01/37

Exam Stats [CS305] – AY 2007/2008 - Details

By lecture attendance #l #s #p Mean Std.Dev 23 16 16 64.5 12.8 21-22 16 14 47.0 10.8 16-20 21 17 48.0 12.8 9-15 16 5 32.6 13.2 <9 2 1 27.0 24.0

By tutorial attendance #t #s #p Mean Std.Dev 9 25 22 56.3 16.0 8 19 17 48.8 13.2 5-7 21 13 41.6 14.9 <5 5 1 31.0 12.9

Introduction CS210_305_01/38

Exam Stats [CS305] – AY 2008/2009 - Details

By lecture attendance #l #s #p Mean Std.Dev 22 7 6 57.6 13.9 20-21 23 20 60.3 16.1 15-19 23 21 55.6 15.6 10-14 5 5 62.6 12.2 <10 5 2 51.5 9.5

By tutorial attendance #t #s #p Mean Std.Dev 10 12 12 64.8 13.5 9 17 15 59.5 16.9 8 14 12 54.9 13.2 5-7 12 11 58.1 14.6 <5 8 4 46.2 12.6

Introduction CS210_305_01/39

Exam Stats [CS305] – AY 2009/2010 - Details

By lecture attendance #l #s #p Mean Std.Dev 22 6 6 68.5 10.3 20-21 19 16 57.1 14.7 15-19 28 24 50.2 15.1 10-14 3 1 34.7 19.2 <10 3 1 14.5 16.9

By tutorial attendance #t #s #p Mean Std.Dev 9 18 15 56.4 17.4 8 13 10 54.1 13.8 5-7 20 17 50.6 17.8 <5 8 4 44.9 18.1

Introduction CS210_305_01/40

Exam Stats [CS305] – Summaries AY2006/2007 – 73 Students:

Number of students that passed at first attempt: 56 Number of students absent from exam: 4 Average exam mark: 57.1%, Std. dev. of exam marks: 20.8

AY2007/2008 – 74 Students Number of students that passed at first attempt: 53 Number of students absent from exam: 4 Average exam mark: 47.6%, Std. dev. of exam marks: 17.2

AY2008/2009 – 63 Students: Number of students that passed at first attempt: 54 Number of students absent from exam: 3 Average exam mark: 58.1%, Std. dev. of exam marks: 15.4

AY2009/2010 – 63 Students: Number of students that passed at first attempt: 48 Number of students absent from exam: 4 Average exam mark: 52.4%, Std. dev. of exam marks: 17.3

Introduction CS210_305_01/41

One more thing…

Introduction CS210_305_01/42