subject

edX: Computation Structures 2: Computer Architecture

 with  Chris Terman, Steve Ward and ​Silvina Hanono Wachman
Sponsored
Digital Marketing Certificate
Cornell University via eCornell

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 2 of a 3-part series on digital systems, teaching the fundamentals of computer architecture and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include instruction set architectures and assembly language, stacks and procedures, 32-bit computer architecture, the memory hierarchy, and caches.

Using your browser for design entry and simulation, you’ll implement a 32-bit computer using our gate library and write assembly language programs to explore the hardware/software interface.

 

Learner Testimonial

“If you look back, we've done sooooo much: assembly programming, stack crawling (detective work), building a 32-bit computer, for crying out loud, and also learnt about caches as the cherry on top (which really helped me because I always had trouble understanding how temporary memory worked). And to top it off, they're promising us more exciting courses in the future.” -- Previous Student

Syllabus

  • Instruction Set Architectures: datapaths and FSMs, programmable datapaths, the von Neumann model, storage, ALU instructions, constant operands, memory access, branches, jumps.  
  • Assembly Language: from assembly language to binary, symbols and labels, instruction macros.
  • Models of Computation: computability, universality, uncomputable functions.
  • Compilers: interpretation vs. compilation, compiling expressions, compiling statements, compiler frontend, optimization and code generation.
  • Procedures and Stacks: procedural abstraction, activation records and stacks, stack frame organization, compiling a procedure, stack detective.
  • Building the Beta: circuit building blocks, ALU instructions, load and store, jumps and branches, exceptions.
  • The Memory Hierarchy: memory technologies, hierarchical memory systems, the locality principle and caching, direct-mapped caches, block size, cache conflicts, associative caches, write strategies.
  • Labs: simple assembly programming, Quicksort procedure, designing the 32-bit Beta processor.
1 Student
review
Cost Free Online Course
Pace Self Paced
Provider edX
Language English
Hours 6 hours a week
Calendar 11 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

1 review for edX's Computation Structures 2: Computer Architecture

Write a review
7 months ago
profile picture
Wiktor Guź partially completed this course.
Was this review helpful to you? YES | NO

Class Central

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

Sign up for free