Computer Organization | RISC Architecture, Pipelining, Memory Hierarchy

University of Utah

Explore the inner workings of computer systems, from instruction set and processor design to memory management and I/O. Gain a solid foundation for further studies in computer architecture and system design.

University CoursesComputer Architecture

Introduction

Bilkent Courses on the Web

CS-224 Computer Organization by William Sawyer covers instruction set architecture (ISA), ISA design considerations, RISC vs. CISC, assembly and machine language, programming a RISC machine. It also includes computer arithmetic, arithmetic logic unit, floating-point numbers and their arithmetic implementations, processor design, data path and control implementation, micro programmed control, exception detection, pipelining, hazards, pipelined processor design, hazard detection and forwarding, branch prediction and exception handling, memory hierarchy, principles, structure, and performance of caches, virtual memory, segmentation and paging, I/O devices, and I/O performance.

screenshot

Highlights

  • Covers fundamental concepts of computer organization and architecture
  • Includes hands-on programming of a RISC machine
  • Explores advanced topics such as pipelining, memory hierarchy, and I/O

Recommendation

This course is recommended for students interested in understanding the inner workings of computer systems, from the instruction set and processor design to memory management and I/O. It provides a solid foundation for further studies in computer architecture and system design.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

Great Ideas in Computer Architecture | Machine Structures | UC Berkeley

22
University CoursesC
Explore fundamental concepts in computer architecture, including C and assembly programming, caches, performance measurement, and parallelism. Gain valuable skills for computer science and engineering.

Computation Structures | Digital Systems Design | Hardware-Software Intersection

28
University CoursesComputer Architecture
Explore the fundamentals of computation structures with MIT's 6.004 course, covering digital system architecture, hardware-software integration, and contemporary software structures.

Introduction to the Internet: Architecture and Protocols | CS 168 - UC Berkeley

28
University Courses
Comprehensive course on the fundamental design principles and architecture of the Internet, covering key protocols and technologies. Ideal for students interested in networking and internet infrastructure.

Systems Programming | C Language | UNIX/Linux

13
University CoursesC
Gain a deep understanding of system programming and develop skills to write high-performance, low-level software like web servers and multiplayer internet games.

Distributed Systems | CS 425 - Univ of Illinois, Urbana-Champaign

3
University CoursesComputer ScienceDistributed Systems
Comprehensive course covering fundamental concepts in distributed systems, including vector clocks, consensus, and Paxos. Taught by experienced professor Indranil Gupta.

Cloud Computing | Cornell University CS 5412

12
University CoursesCloud ComputingDistributed Systems
Explore the technology of cloud computing, including cloud architecture, scalability, and security. Taught by industry expert Ken Birman.

Computer Architecture | CSCI 360 | CUNY Hunter College

22
University CoursesComputer ArchitectureGPU Programming
Dive into advanced computer architecture topics like cache design, memory hierarchies, and multiprocessors, including in-depth coverage of GPUs and hands-on CUDA programming.

Parallel Computing | CSCI 493.75 - CUNY Hunter College

25
University CoursesCC++
Dive into parallel algorithms and programming with C/C++, MPI, and OpenMP. Gain hands-on experience and understand the principles of high-performance computing.

Programming for Performance | ECE 459 - University of Waterloo

21
University CoursesC++GPU Programming
Learn advanced techniques for profiling, rearchitecting, and implementing high-performance software systems, including parallelization, multithreading, async I/O, and distributed computing.