16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Datapath and Control<br />

• Single-cycle and multi-cycle datapaths<br />

• Control of datapaths and implementing control finite-state machines<br />

Pipelining<br />

• Basic pipelined datapath and control<br />

• Data dependences, data hazards, bypassing, code scheduling<br />

• Branch hazards, delayed branches, branch prediction<br />

Memory Hierarchies<br />

• Caches (direct mapped, fully associative, set associative)<br />

• Main memories<br />

• Memory hierarchy performance metrics and their use<br />

• Virtual memory, address translation, TLBs<br />

Input and Output<br />

• Common I/O device types and characteristics<br />

• Memory mapped I/O, DMA, program-controlled I/O, polling, interrupts<br />

• Networks<br />

Multiprocessors<br />

• Introduction to multiprocessors<br />

• Cache coherence problem<br />

What is the format of the course<br />

The course is 15 weeks long, with students meeting for three 50-minute lectures per week or two 75-minute<br />

lectures per week. If the latter, the course is typically “front loaded” so that lecture material is covered earlier in<br />

the semester and students are able to spend more time later in the semester working on their projects.<br />

How are students assessed<br />

Assessment is a combination of homework, class project, and exams. There are typically six homework<br />

assignments. The project is a detailed implementation of a 16-bit computer for an example instruction set. The<br />

project requires both an unpipelined as well as a pipelined implementation and typically takes close to a hundred<br />

hours of work to complete successfully. The project and homeworks are typically done by teams of 2 students.<br />

There is a midterm exam and a <strong>final</strong> exam, each of which is typically 2 hours long.<br />

Course textbooks and materials<br />

David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware and Software<br />

Interface Morgan Kaufmann Publishers,<br />

Fourth Edition. ISBN: 978-0-12-374493-7<br />

Why do you teach the course this way<br />

Since the objective is to teach how a digital computer is designed and built and how it executes programs, we want<br />

to show how basic logic gates could be combined to construct building blocks which are then combined to work<br />

together to execute programs written in a machine language. The students learn the concepts of how to do so in<br />

the classroom, and then apply them in their project. Having taken this course a student can go into an industrial<br />

environment and be ready to participate in the design of complex digital.<br />

- 247 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!