Outoforder Instruction scheduling 3 Why multicore Difficult to make singlecore clock frequencies even higher heat problems Deeply pipelined circuits heat problems needs special cooling arrangements ID: 1028951
Download Presentation The PPT/PDF document "Multi-core processors 2 Processor develo..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. Multi-core processors
2. 2Processor development till 2004Out-of-orderInstruction scheduling
3. 3Why multi-core ?Difficult to make single-coreclock frequencies even higher – heat problems Deeply pipelined circuits:heat problems, needs special cooling arrangementsIntel’s NetBurst architecture was not continuedMany new applications are multithreaded General trend in computer architecture (shift towards more parallelism)
4. 4Why multi-core ?
5. 5Single-core computer
6. 6Single-core CPU chipthe single core
7. 7Multi-core architecturesReplicate multiple processor cores on a single die.Core 1Core 2Core 3Core 4Multi-core CPU chip
8. Multi-core processor
9. 9Multi-core CPU chipThe cores fit on a single processor socketAlso called CMP (Chip Multi-Processor)core1core2core3core4
10. 10The cores run in parallelcore1core2core3core4thread 1thread 2thread 3thread 4
11. 11Within each core, threads are time-sliced (just like on a uniprocessor)core1core2core3core4several threadsseveral threadsseveral threadsseveral threads
12. 12Interaction with theOperating SystemOS perceives each core as a separate processorOS scheduler maps threads/processes to different coresMost major OS support multi-core today:Windows, Linux, Mac OS X, …
13. 13Instruction-level parallelismParallelism at the machine-instruction levelThe processor can re-order, pipeline instructions, split them into microinstructions, do aggressive branch prediction, etc.Instruction-level parallelism enabled rapid increases in processor speeds over the last 15 years
14. 14Thread-level parallelism (TLP)This is parallelism on a more coarser scaleServer can serve each client in a separate thread (Web server, database server)A computer game can do AI, graphics, and a physics-related computation in three separate threadsSingle-core superscalar processors cannot fully exploit TLPMulti-core architectures are the next step in processor evolution: explicitly exploiting TLP
15. 15General context: MultiprocessorsMultiprocessor is any computer with several processorsSIMDSingle instruction, multiple dataModern graphics cardsMIMDMultiple instructions, multiple dataLemieux cluster,Pittsburgh supercomputing center
16. 16Multiprocessor memory typesShared memory:In this model, there is one (large) common shared memory for all processorsDistributed memory:In this model, each processor has its own (small) local memory, and its content is not replicated anywhere else
17. 17Multi-core processor is a special kind of a multiprocessor:All processors are on the same chipMulti-core processors are MIMD:Different cores execute different threads (Multiple Instructions), operating on different parts of memory (Multiple Data).Multi-core is a shared memory multiprocessor:All cores share the same memory
18. 18What applications benefit from multi-core?Database serversWeb servers (Web commerce)Multimedia applicationsScientific applications, CAD/CAMIn general, applications with Thread-level parallelism(as opposed to instruction-level parallelism) are better supportedEach can run on itsown core
19. 19More examplesEditing a photo while recording a TV show through a digital video recorderDownloading software while running an anti-virus program “Anything that can be threaded today will map efficiently to multi-core”BUT: some applications difficult to parallelize