Slides kiến trúc máy tính nhóm 8 multiprocessor

108 8 0
  • Loading ...
1/108 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 01/12/2016, 21:05

LOGO MultiProcessor Nhóm 8: Nguyễn phúc Ánh – 13070221 Lê Minh Nam – 13070249 Nguyễn Hữu Hiếu – 12073119 Mai Văn Tinh – 13070270 Lê Thanh Phương – 13070254 Lý Đoàn Duy Khánh – 13070238 Contents Introduce MultiProcessor Synchronization Memory Consistency Superscalar Cache Coherence Directory-Based Protocol Snoopy-based protocol MESI Protocol Contents Introduce MultiProcessor Introduce MultiProcessor System A multiprocessor is a tightly coupled computer system having two or more processing units (Multiple Processors) each sharing main memory and peripherals, in order to simultaneously process programs complete system Introduce MultiProcessor System Why we need multiprocessors ?     Need to improve system performance Uniprocessor speed keeps improving but will be limited Growth in data-intensive applications: database, file server Improved understanding in how to use multiprocessors effectively => Solution  Improve performance by connecting multiple microprocessors together Introduce MultiProcessor System Flynn’s Taxonomy Flynn’s Taxonomy of Parallel Machines classified into four categories based on     How many Instruction streams? How many Data streams? Two possible states: Single or Multiple Four category of Flynn classification: • SISD • SIMD • MISD • MIMD Flynn’s Taxonomy SISD: Single I Stream, Single D Stream  A uniprocessor  Single instruction: only one instruction stream is being acted on by the CPU during any one clock cycle  Single data: only one data stream is being used as input during any one clock cycle  Instructions are executed sequentially  IBM 701, IBM 1620, IBM 7090 Flynn’s Taxonomy SIMD: Single I, Multiple D Streams  The same instruction is executed by multiple processors  Each processor has its own data memory (hence multiple data)  Popular for some applications like image, word processing  Illiac – IV (Word Slice Processing), STARAN (Bit Slice processing) Flynn’s Taxonomy MISD: Multiple I, Single D Stream  Not used much, use for special purpose computations  multiple cryptography algorithms attempting to crack a single coded message MESI Protocol (4)  Operation can be described informally by looking at action in local processor • • • • Read Hit Read Miss Write Hit Write Miss  More formally by state transition diagram MESI Local Read Hit  Line must be in one of MES  This must be correct local value (if M it must have been modified locally)  Simply return value  No state change MESI Local Read Miss (1)  No other copy in caches  Processor makes bus request to memory  Value read to local cache, marked E  One cache has E copy      Processor makes bus request to memory Snooping cache puts copy value on the bus Memory access is abandoned Local processor caches value Both lines set to S MESI Local Read Miss (2)  Several caches have S copy       Processor makes bus request to memory One cache puts copy value on the bus (arbitrated) Memory access is abandoned Local processor caches value Local copy set to S Other copies remain S MESI Local Read Miss (3)  One cache has M copy        Processor makes bus request to memory Snooping cache puts copy value on the bus Memory access is abandoned Local processor caches value Local copy tagged S Source (M) value copied back to memory Source value M -> S MESI Local Write Hit (1) Line must be one of MES M  line is exclusive and already ‘dirty’  Update local cache value  no state change E  Update local cache value  State E -> M MESI Local Write Hit (2) S     Processor broadcasts an invalidate on bus Snooping processors with S copy change S->I Local cache value is updated Local state change S->M MESI Local Write Miss (1) Detailed action depends on copies in other processors  No other copies  Value read from memory to local cache (?)  Value updated  Local copy state set to M MESI Local Write Miss (2)  Other copies, either one in state E or more in state S  Value read from memory to local cache - bus transaction marked RWITM (read with intent to modify)  Snooping processors see this and set their copy state to I  Local copy updated & state set to M MESI Local Write Miss (3) Another copy in state M  Processor issues bus transaction marked RWITM  Snooping processor sees this     Blocks RWITM request Takes control of bus Writes back its copy to memory Sets its copy state to I MESI Local Write Miss (4) Another copy in state M (continued)  Original local processor re-issues RWITM request  Is now simple no-copy case  Value read from memory to local cache  Local copy value updated  Local copy state set to M MESI Local Write Miss (4) Another copy in state M (continued)  Original local processor re-issues RWITM request  Is now simple no-copy case  Value read from memory to local cache  Local copy value updated  Local copy state set to M MESI – locally initiated accesses Invalid RWITM Write Miss Read Hit Modified Write Hit Mem Read Mem Read Read Miss(sh) Read Miss(ex) Write Hit Shared Read Hit Exclusive Rea d Hit Invalidate Write Hit = bus transaction MESI – remotely initiated accesses Mem Read Invalidate Invalid Shared Mem Read RWITM Modified Mem Read RWITM Exclusive = copy back LOGO Thank You ! [...]... Multiple I, Multiple D Streams  Each processor executes its own instructions and operates on its own data  Includes multi-core processors  Use for: General purpose parallel computers  IBM 370/1 68 MP; Univac 1100 /80 Contents 2 Synchronization Locking Typical use of a lock: while (!acquire (lock)) /*spin*/ /* some computation on shared data (critical section) */ release (lock) Acquire based on primitive:... processor performs an atomic operation to obtain a memory location (element of an array) on which to spin o Upon a release, the lock can be directly handed off to the next waiting processor Contents 3 7 8 Memory Consistency Outline       Memory consistency Relaxed Consistency Models Sequential Consistency Processor Consistency Weak Consistency Release Consistency  Eager release consistency  Lazy... model, and release consistency, depending on the details of the ordering restrictions and how synchronization operations enforce ordering Sequential Consistency  Sequential Consistency (Lamport*) “A multiprocessor is sequentially consistent if the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual
- Xem thêm -

Xem thêm: Slides kiến trúc máy tính nhóm 8 multiprocessor , Slides kiến trúc máy tính nhóm 8 multiprocessor , Slides kiến trúc máy tính nhóm 8 multiprocessor

Mục lục

Xem thêm

Gợi ý tài liệu liên quan cho bạn

Nạp tiền Tải lên
Đăng ký
Đăng nhập