CS210_305_01 - CIS Personal Web Pages

Download Report

Transcript CS210_305_01 - CIS Personal Web Pages

CS.201

Computer Systems and Architecture

(Semester 1)

and CS.305

Computer Architecture

Introduction

Duncan Smeed

Administrivia

Resources

Syllabus

Essential Reading

Lecture Notes

One-Minute Papers

Tutorials

Assessments

Pre-requisites

Recommended Reading/References

Exam Stats

Introduction CS210_305_01/2

Resources

Web pages

Forum

E-mail

Introduction CS210_305_01/3

Resources – Web pages [CS210]

Official home page - SPIDER:

Major update announcements & class information: and in the CS210 Forum:

hp?f=111>

Introduction CS210_305_01/4

Resources – Web pages [CS305]

Official home page:

Primarily used for everything bar the assignment submission system (see SPIDER below)

Major update announcements:

html> and in the CS305 Forum:

hp?f=96>

SPIDER:

hp?class=CS305>

 

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

Introduction CS210_305_01/5

Resources – Forum [CS210]

Official Forum

hp?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!

Introduction CS210_305_01/6

Resources – Forum [CS305]

Official Forum

hp?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!

Introduction CS210_305_01/7

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

Introduction CS210_305_01/8

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.

]

Introduction 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

Aim [CS305]

To help the student develop an understanding of the nature and characteristics of the organisation and design of the modern computer systems.

[ ]

Introduction 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

Essential Reading – Semester 1

Essential Reading

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

David Patterson, University of California, Berkeley John Hennessy, Stanford University

More textbook details at:

>

Introduction CS210_305_01/18

Lecture Notes - Semester 1

Distribution policy (on-line) CS210:

?class=CS210&category=lecture_slides> CS305:

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.

Introduction CS210_305_01/19

One-Minute Papers

This will be my 6 th 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!?)

Introduction CS210_305_01/20

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:

Introduction CS210_305_01/21

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

Introduction CS210_305_01/22

Tutorials [CS305]

Details/Links:

Guidelines:

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.

Introduction 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

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?

Introduction CS210_305_01/26

Assessed Coursework Exercises (ACEs)

Assessed Coursework Exercise #1 (ACE #1)

   

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

Assessed Coursework Exercise #2 (ACE #2)

Type: Individual Exercise

  

Weight: 100/? [CS210], 100/300 [CS305] Set: Due: Monday, 8th November - Week 7 09:00 Monday, 6th December - Week 11

Introduction CS210_305_01/27

ACE Group Project - Semester 1

Assessed Coursework Exercise Group Project

   

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

ACE Groups

Composition: Possibly the same as an ELITE Team for CS305 students. TBD for CS210 students.

Operation: TBD

Introduction CS210_305_01/28

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.

Introduction 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

Pre-requisites [CS210]

Note recommended pre-requisites for CS210:

CS106 Computer Systems and Organisation or CS107 Fundamentals of Computer Systems

Introduction CS210_305_01/31

Pre-requisites [CS305]

Note recommended pre-requisites for the class:

 

52 139 Computer Organisation 52 223 Low Level Programming

Introduction 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

Recommended Reading/References

1. Computer Organization and Design: The

Hardware/Software Interface, Fourth Edition

by David Patterson & John Hennessy 2. CS107 Lecture Notes (2009-2010) Available (restricted access) from: 3. 52.139 (Duncan's version) Lecture Notes Available (restricted access) from: 4. 52.223 Lecture Notes Available (restricted access) from:

Introduction 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 23 21-22 #s 13 20 #p 13 19

  

16-20 9-15 <9 23 8 9 17 4 3 Mean 69.3

65.1

60.0

44.7

34.3

Std.Dev

17.2

14.5

21.4

15.9

22.0

By tutorial attendance

#t #s #p

  

8-9 5-7 <5 28 28 17 27 21 7 Mean 67.8

53.8

41.1

Std.Dev

16.2

19.0

21.9

Introduction CS210_305_01/37

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

By lecture attendance

  

#l 23 21-22 #s 16 16 #p 16 14

  

16-20 9-15 <9 21 16 2 17 5 1 Mean 64.5

47.0

48.0

32.6

27.0

Std.Dev

12.8

10.8

12.8

13.2

24.0

By tutorial attendance

#t #s #p

   

9 8 5-7 <5 25 19 21 5 22 17 13 1 Mean 56.3

48.8

41.6

31.0

Std.Dev

16.0

13.2

14.9

12.9

Introduction CS210_305_01/38

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

By lecture attendance

  

#l 22 20-21 #s 7 23 #p 6 20

  

15-19 10-14 <10 23 5 5 21 5 2

By tutorial attendance

 

#t 10 #s 12 #p 12

   

9 8 5-7 <5 17 14 12 8 15 12 11 4 Mean 57.6

60.3

55.6

62.6

51.5

Mean 64.8

59.5

54.9

58.1

46.2

Std.Dev

13.9

16.1

15.6

12.2

9.5

Std.Dev

13.5

16.9

13.2

14.6

12.6

Introduction CS210_305_01/39

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

By lecture attendance

  

#l 22 20-21 #s 6 19 #p 6 16

  

15-19 10-14 <10 28 3 3 24 1 1

By tutorial attendance

 

#t 9 #s 18 #p 15

  

8 5-7 <5 13 20 8 10 17 4 Mean 68.5

57.1

50.2

34.7

14.5

Mean 56.4

54.1

50.6

44.9

Std.Dev

10.3

14.7

15.1

19.2

16.9

Std.Dev

17.4

13.8

17.8

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