csee4824_f11_lec16

csee4824_f11_lec16 - CSEE W4824 Computer Architecture Fall...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSEE W4824 – Computer Architecture Fall 2011 Luca Carloni Department of Computer Science Columbia University in the City of New York http://www.cs.columbia.edu/~cs4824/ Lecture 16 Thread-Level Parallelism (TLP) and Multithreaded Architectures CSEE 4824 – Fall 2011 - Lecture 16 Page 2 Luca Carloni – Columbia University Review: Virtual Memory •A process is a running program plus any state needed to continue running it C P U i s time-shared among processes through context- switch mechanisms •P r o g r a m s m a y – require more memory than what is physically available – use only a small part of the address space •V i r t u a l M e m o r y – relieves programmers from the burden of managing directly the loading/ unloading of overlays from/to disk • With multiprogramming, several processes share the CPU –V i r t u a l M e m o r y divides physical memory into blocks and allocates them to different processes • illusion of unlimited dedicated memory • protection mechanisms
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 CSEE 4824 – Fall 2011 - Lecture 16 Page 3 Luca Carloni – Columbia University Review: Protection and Sharing in Virtual Memory with Paging Page table for process 1 Mai n memor y Per mission bits Pointer Flags process 2 To disk memory Only read accesses allowed Read & write accesses allowed •S h a r i n g o f a p a g e between 2 or more processes is simple – just make the corresponding entries in the associated page tables point to the same page in main memory or disk •P r o t e c t i o n –a u g m e n t t h e page table entry with permission bits that specify what types of access to the page are allowed to the given process [Source: B Parhami] CSEE 4824 – Fall 2011 - Lecture 16 Page 4 Luca Carloni – Columbia University Empty Issue Slots in Superscalar Architectures • Empty issue slots leading to idle processor resources can be divided in two classes •V e r t i c a l w a s t e – processor issues no instructions in a cycle (issue stalling) • Horizontal waste – processor fills only a non-empty subsets of the slots available at a given cycle • w.r.t. single-issue processors, superscalar architectures do – increase the amount of vertical waste – introduce horizontal waste issue slots cycles vertical waste horizontal waste
Background image of page 2
3 CSEE 4824 – Fall 2011 - Lecture 16 Page 5 Luca Carloni – Columbia University Processes vs. Threads • Process (or task) • a running program plus any state needed to continue running it –a p r o c e s s i s the heaviest unit of OS kernel scheduling and owns resources allocated by OS » memory, file handles, sockets, device handles –i n a multitasking OS , processes are typically independent, have separate address space, carry large state information, and communicate through system-provided inter-process communication schemes (sockets, pipes, files,…) • Thread of execution • a single sequence of instructions ( similar to a process ) th r e ad i s the lightest unit of OS kernel scheduling – at least one thread exists within each process
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/12/2011 for the course CSEE 4824 taught by Professor Carloni during the Fall '11 term at Columbia.

Page1 / 21

csee4824_f11_lec16 - CSEE W4824 Computer Architecture Fall...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online