Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Massachusetts Institute of Technology

Computation Structures 3: Computer Organization

Massachusetts Institute of Technology via edX

This course may be unavailable.

Overview

Coursera Plus Annual Sale: All Certificates & Courses 25% Off!

Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!

This is Part 3 of a 3-part series on digital systems, providing an introduction to the hardware/software interface and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include pipelined computers, virtual memories, implementation of a simple time-sharing operating system, interrupts and real-time, and techniques for parallel processing.

Using your browser for design entry and simulation, you’ll optimize your processor design from Part 2 for size and speed, and make additions to a simple time-sharing operating system.

Learner Testimonial

"Out of the many edX courses I have taken, the first two parts of 6.004x were clearly the best. I am looking forward to the third part.” -- Previous Student

Syllabus

  • Pipelined Beta: pipelined execution of instructions, data and control hazards, resolving hazards using bypassing, stalling and speculation.
  • Virtual Memory: extending the memory hierarchy, paging using hierarchical page maps and look-aside buffers, contexts and context switching, integrating virtual memories with caches.
  • Operating Systems: processes, interrupts, time sharing, supervisor calls.
  • Devices and Interrupts: device handlers asynchronous I/O, stalling supervisor calls, scheduling, interrupt latencies, weak and strong priority systems.
  • Processes, Synchronization and Deadlock: inter-process communication, bounded buffer problem, semaphores for precedence and mutual exclusion, semaphore implementation, dealing with deadlock.
  • Interconnect: the truth about wires, point-to-point vs. shared interconnect, communication topologies.
  • Parallel Processing: instruction-, data- and thread-level parallelism, Amdahl’s Law, cache coherency.
  • Labs: optimizing your Beta design for size and speed, emulating instructions, extending a simple time-sharing operating system.

Taught by

Chris Terman, Steve Ward and ​Silvina Hanono Wachman

Reviews

Start your review of Computation Structures 3: Computer Organization

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.