1 / 19

COMP25212: System Architecture

COMP25212: System Architecture. Lecturers Alasdair.Rawsthorne@manchester.ac.uk Javier.Navaridas@manchester.ac.uk Lectures 22 (two per week) Wed 1200 Chemistry G.53 Thu 1400 Kilburn 1.1 Laboratories 5 x 2 hour sessions starting NEXT week (Thu 1100 or Thu 1500). 1.

karma
Download Presentation

COMP25212: System Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP25212: System Architecture • Lecturers Alasdair.Rawsthorne@manchester.ac.uk Javier.Navaridas@manchester.ac.uk • Lectures 22 (two per week) Wed 1200 Chemistry G.53 Thu 1400 Kilburn 1.1 • Laboratories 5 x 2 hour sessions starting NEXT week (Thu 1100 or Thu 1500) 1 COMP25212 Lecture 1

  2. COMP25212: System Architecture • Recommended textbook • D.A. Patterson & J.L. Hennessy, “Computer Organization and Design. The Hardware/Software Interface”, Morgan Kaufmann, now in 4th Edition 2 COMP25212 Lecture 1

  3. Aims of the Course • To introduce architectural techniques which are used in modern processors and systems • To understand how the specification of systems affects their performance and suitability for particular applications • To understand how to design such systems COMP25212 Lecture 1

  4. COMP25212: Course Overview • Architectural techniques – making processors go faster • Caches • Pipelines • Multi-Threading • Multi-Core • How to make processors more flexible • Virtualization • The architecture of permanent storage COMP25212 Lecture 1

  5. Motivation for Performance • There is always a demand for increased computational performance • Current ‘microprocessors’ are several thousand times faster than when they were first introduced 30 years ago. • But still lots of things they can’t do due to lack of speed – e.g. HD video synthesis, realistic game physics COMP25212 Lecture 1

  6. Single Core Performance Core i7 COMP25212 Lecture 1

  7. Alternative View: COMP25212 Lecture 1

  8. Architecture & the Future • Speed improvements due to technology have slowed since around 2004/5 • Physical production limits • Power Dissipation • Device Variability • Architecture plays a larger role in future performance gains – particularly parallelism (multi-core?) COMP25212 Lecture 1

  9. Architecture & Technology • A lot of performance improvements over 30 years have been due to technology • Mainly due to smaller faster circuits • But it isn’t that simple e.g. • CPU speed increased 1000x • Main memory speed < 10x • Need to tailor architecture to exploit technology – changes with time COMP25212 Lecture 1

  10. Processor Cache Memory • A very important technique in processors since about mid 1980s • Purpose is to overcome the speed imbalance between fast internal processor circuitry (e.g. ALU & registers) & main memory • No modern processor could perform anywhere near current speeds without caches COMP25212 Lecture 1

  11. Understand Caches:Prerequisites • Processor is a CPU connected to memory • CPU fetches a sequence of instructions from memory and executes them • Each memory location has a unique address – a binary value • Some instructions are loads or stores which read or write values from/to memory addresses COMP25212 Lecture 1

  12. What is a Cache? • Cache: “A secret hiding place” • General principle • If something is far away and/or takes a long time to access, keep a local copy • Usually limited fast local space • Not just processors • Web pages kept on local disc • Virtual Memory is a form of caching • Web Content Delivery Networks (e.g. akamai.com) COMP25212 Lecture 1

  13. What is a Processor Cache? • Small amount of very fast memory used as temporary store for frequently used memory locations (both instructions and data) • Relies on locality: • during any short period of time, a program uses only a small subset (working set) of its instructions and data. COMP25212 Lecture 1

  14. Processor Cache Memory • 2Ghz processor with 32k L1 data cache and • 32k L1 instruction cache plus 256k on-chip L2 cache (L2 cache is 4 way set associative) • What does it mean? • Why is it there? • What is ‘good’? COMP25212 Lecture 1

  15. Why is Cache Needed? • Modern processor speed > 1GHz • > 1 instruction / nsec (10-9 sec) • Every instruction needs to be fetched from main memory. • Many instructions (1 in 3?) also access main memory to read or write data. • But RAM memory access time typically >50 nsec! (67 x too slow!) COMP25212 Lecture 1

  16. Facts about memory speeds • Circuit capacitance is the thing that makes things slow (needs charging) • Bigger things have bigger capacitance • So large memories are slow • Dynamic memories (storing data on capacitance) are slower than static memories (bistable circuits) COMP25212 Lecture 1

  17. Interconnection Speeds • External wires also have significant capacitance. • Driving signals between chips needs special high power interface circuits. • Things within a VLSI ‘chip’ are fast – anything ‘off chip’ is slow. • Put everything on a single chip? Maybe one day! Manufacturing limitations COMP25212 Lecture 1

  18. Basic Level 1 (L1) Cache L1 Cache CPU RAM Memory Registers On-chip Compiler makes best use of registers – they are the fastest. Anything not in registers – must go (logically) to memory. But is data (a copy!) in cache? COMP25212 Lecture 1

  19. Cache Requirements • Main memory is big e.g. potentially 232 bytes (4G bytes) if 32 bit byte address (or 248 if 48 – x64) • Cache is small (to be fast), e.g. 32k bytes, can only hold a very small fraction (x10-17 or x10-33) of all possible data. • But cache must be able to store and retrieve any one of 232 (or 248) addresses/data(in practice would not hold single bytes, but in principle ….) • Special structures needed – is not simple memory indexed by address. COMP25212 Lecture 1

More Related