EdX

Introduction to Microprocessors (edX)

Introduction to Microprocessors (edX)

An introduction to computer architecture, microprocessors and CPUs. Learn about the basic components of a PC, what they do, how they talk to each other and how object code gets transformed into machine code. The topics covered by this course are key to anyone interested in computer hardware engineering but also an essential foundation for software programming.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Want to understand how the central processing unit (CPU) of a microprocessor works? How the code you type is actually executed by your computer? Presented by engineers from Arm, this course provides you with an introduction to the central components of processors including:

  • the Arithmetic Logic Unit, or ALU, and the arithmetic and logical operations it carries out;
  • the Fetch-Decode-Execute cycle or FDE within different architectures;
  • pipelining, or how a CPU decides what to prioritise and the challenges faced when doing so;

types of memory and their uses;

  • the process that high level code, such as C#, goes through to get converted into machine code;
  • assembly code, an interim step between high level and machine level code; and
  • how assembling and compiling work together to produce object code or executable files.

There is also a practical opportunity to be introduced to an assembly language.

What you'll learn
You will learn:

  • The purpose, specs, components and activities of a CPU
  • The differences and uses of RAM, ROM, and cache memory
  • The purpose and activities of buses and registers
  • Opcode, operands and memory addresses
  • The purpose and operations of an arithmetic logic unit
  • The fetch-decode-execute cycle
  • The need for assembly and machine code
  • Basic conversion of assembly code to machine code

Syllabus

Module 1: Introduction to the CPU
An introduction to the CPU, the importance of binary in Computing, and the central components of processors.

Module 2 The ALU and Decode Unit
An exploration of the Arithmetic Logic Unit (ALU), the arithmetical and logical operations it carries out, often on a bit-by-bit level.

Module 3 The Fetch-Decode-Execute Cycle
A discussion of the Fetch-Execute or Fetch-Decode-Execute cycle (FDE). Consideration of some elements which impact the performance of the CPU, the connecting types of memory, and pipelining.

Module 4 Assembly Language
Discussion of the need for machine code and the process to convert object code to machine code. A practical introduction to assembly language through the BSim emulator.

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

Related Courses

Big Data Analytics Using Spark (edX) EdX
University of California, San Diego,UC San DiegoX

Big Data Analytics Using Spark (edX)

Learn how to analyze large datasets using Jupyter notebooks, MapReduce and Spark as a platform. In data science, data is called “big” if it cannot fit into the memory of a single standard laptop or workstation. The analysis of big datasets requires using a cluster of tens, hundreds or thousands of computers. Effectively using such clusters requires the use of distributed files systems, such as the Hadoop Distributed File System (HDFS) and corresponding computational models, such as Hadoop, MapReduce and Spark.

Dec 5th 2023
5-12 Weeks
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Jun 8th 2026
4 Weeks
Introduction to RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to RISC-V (edX)

Discover various aspects of RISC-V, including technical aspects, specifications and the community ecosystem. RISC-V is a free and open instruction set architecture (ISA) enabling a new era of processor innovation through open standard collaboration. This course will guide you through the various aspects of understanding the RISC-V community ecosystem, the RISC-V specifications, and some technical aspects of working with RISC-V.

Self Paced
Self-Paced
Sensors and Sensor Circuit Design (Coursera) Coursera
University of Colorado Boulder

Sensors and Sensor Circuit Design (Coursera)

After taking this course, you will be able to: understand how to specify the proper thermal, flow, or rotary sensor for taking real-time process data; implement thermal sensors into an embedded system in both hardware and software; add the sensor and sensor interface into a microprocessor based development kit; create hardware and firmware to process sensor signals and feed data to a microprocessor for further evaluation; study sensor signal noise and apply proper hardware techniques to reduce it to acceptable levels.

Jun 1st 2026
5-12 Weeks
Fondamenti di informatica (Federica Web Learning) Federica Web Learning
University of Naples Federico II

Fondamenti di informatica (Federica Web Learning)

Il mondo moderno è sempre più dipendente dall’Informatica e conoscerne i fondamenti e le relative applicazioni risulta essenziale per comprendere il funzionamento degli attuali Sistemi di Elaborazione delle Informazioni, oramai diffusi nei contesti più disparati ed imprescindibili per molte delle attività della nostra vita quotidiana. Il corso di Fondamenti di Informatica si propone di fornire ai discenti le nozioni preliminari alla base dell’informatica, ed in particolare quelle relative al trattamento delle informazioni mediante procedure “automatizzabili”.

No sessions available
13-24 Weeks
High Performance Computer Architecture (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computer Architecture (Udacity)

The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first level of performance refinement, is reviewed. The weaknesses of pipelining will be exposed and explored, and various solutions to these issues will be studied. The student will learn hardware, software, and compiler based solutions to these issues.

Self Paced
Self-Paced
Understanding Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Computer Systems (FutureLearn)

Understand how the components of a computer system interact with each other on this online course for computing teachers. Learn what really happens when you turn a computer on. Understanding how a computer works after you press the power button is key to working with technology effectively. On this course, you will explore what happens inside the machine and learn how computers turn inputs into outputs.

Nov 1st 2021
3 Weeks
How Computers Work: Demystifying Computation (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

How Computers Work: Demystifying Computation (FutureLearn)

Explore the fundamentals of computing - computer architecture, binary logic, data processing, circuits, and more. Understand computation, the basis of every computer system. On this course, you’ll gain an understanding of how computers work at a fundamental level.

Jan 2nd 2023
4 Weeks
Energy Efficient Programming (openHPI) OpenHPI
Hasso-Plattner-Institut

Energy Efficient Programming (openHPI)

Efficiency in computer science often refers to the runtime or memory usage, that a certain algorithm needs to produce an output. However, efficiency can also describe the amount of energy, that is consumed by the hardware during the runtime of an algorithm. This course explains the relevant computer architecture components, as well as different coding techniques, that allow computer scientists to design and program energy efficient algorithms.

Mar 27th 2023
2 Weeks
Malware Analysis and Assembly Language Introduction (edX) EdX
IBM

Malware Analysis and Assembly Language Introduction (edX)

This course introduces the processes and methods for conducting malware analysis of different file types and describes how Assembly Language is used to analyze malware. Malicious software, or malware, is typically delivered over a network and is designed to cause disruption to a computer, client, server, or network. Disruptions can include leaked private information, unauthorized access to information or systems, blocked user access, interference with security and privacy, or numerous other variations of attacking systems.

Self Paced
Self-Paced