We may earn an affiliate commission when you visit our partners.
Course image
Course image
edX logo

Introduction to Microprocessors

Oli Howson, Visakh Ajith, Suzanne Candanedo, Awadhy Mohammed, Gianluca Cantone, Jay Piamjariyakul, and Angeliki Agathi Tsintzira

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:

Read more

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's inside

Learning objectives

  • 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
  • You will learn:

Syllabus

Module 1: Introduction to the CPU
An introduction to the CPU, the importance of binary in Computing, and the central components of processors.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores the full scope of modern processor architecture
Examines essential concepts for understanding foundational computer science concepts
Taught by recognized engineers from Arm, a leading chip designer
Practical insights into assembly language through BSim emulator
Suitable for students and professionals seeking to strengthen their understanding of computer architecture
Assumes basic understanding of programming concepts

Save this course

Save Introduction to Microprocessors to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Introduction to Microprocessors. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Introduction to Microprocessors will develop knowledge and skills that may be useful to these careers:
Database Administrator
Database Administrators design, implement, and maintain databases. They may work on a variety of projects, from creating new databases to optimizing existing systems. Some Administrators specialize in a particular type of database, such as SQL or NoSQL. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Database Administrator.
Web Developer
Web Developers design and develop websites and web applications. They may work on a variety of projects, from creating simple websites to developing complex e-commerce systems. Some Developers specialize in a particular area, such as front-end development or back-end development. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Web Developer.
Network Administrator
Network Administrators design, implement, and maintain computer networks. They may work on a variety of projects, from creating new networks to optimizing existing systems. Some Administrators specialize in a particular area, such as network security or network management. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Network Administrator.
Game Developer
Game Developers design and develop video games. They may work on a variety of projects, from creating simple games to developing complex AAA titles. Some Developers specialize in a particular area, such as game design or programming. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Game Developer.
Software Developer
Software Developers design, develop, and maintain computer applications. They may work on a variety of projects, from developing new software to updating existing systems. Some Developers specialize in a particular area, such as mobile development or cloud computing. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Software Developer.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. They may work on a variety of projects, from creating new systems to upgrading existing systems. Some Analysts specialize in a particular area, such as business analysis or systems engineering. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Systems Analyst.
Mobile Developer
Mobile Developers design and develop mobile applications. They may work on a variety of projects, from creating simple games to developing complex business applications. Some Developers specialize in a particular platform, such as iOS or Android. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Mobile Developer.
Computer Programmer
Computer Programmers write and maintain the code that makes computers and applications work. They may work on a variety of projects, from developing new software to updating existing systems. Some Programmers specialize in a particular area, such as database programming or web development. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Computer Programmer.
Computer Engineer
Computer Engineers design, develop, and maintain computer systems. They may work on a variety of projects, from creating new hardware to developing new software. Some Engineers specialize in a particular area, such as computer architecture or computer security. This course can help you build a foundation for success. It will introduce you to the central components of processors, the Fetch-Decode-Execute cycle, and assembly language. These concepts are essential for anyone who wants to work as a Computer Engineer.
Mechanical Engineer
Mechanical Engineers design, develop, and maintain mechanical systems. They may work on a variety of projects, from creating new products to improving existing systems. Some Engineers specialize in a particular area, such as robotics or manufacturing. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering or mechatronics.
Materials Scientist
Materials Scientists research and develop new materials. They may work on a variety of projects, from creating new products to improving existing systems. Some Scientists specialize in a particular area, such as materials chemistry or materials physics. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering or embedded systems.
Chemical Engineer
Chemical Engineers design, develop, and maintain chemical processes. They may work on a variety of projects, from creating new products to improving existing systems. Some Engineers specialize in a particular area, such as process engineering or materials science. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering or embedded systems.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems. They may work on a variety of projects, from creating new products to improving existing systems. Some Engineers specialize in a particular area, such as power systems or electronics. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering.
Biomedical Engineer
Biomedical Engineers design, develop, and maintain medical devices and systems. They may work on a variety of projects, from creating new products to improving existing systems. Some Engineers specialize in a particular area, such as biomaterials or medical imaging. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering or embedded systems.
Civil Engineer
Civil Engineers design, develop, and maintain civil infrastructure. They may work on a variety of projects, from creating new buildings to improving existing roads. Some Engineers specialize in a particular area, such as structural engineering or transportation engineering. This course may be useful for you. It will provide you with a foundation in the central components of processors. This knowledge will be helpful if you choose to specialize in computer engineering or embedded systems.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Microprocessors.
Often used at academic institutions, this book delves into the fundamental principles of computer architecture and organization, providing a useful complement to the course's introduction to the components and activities of a CPU.
Provides a broad overview of computer systems, including topics such as computer architecture and assembly language, offering a good supplement to the course's introduction to the components and activities of a CPU.
Offers a more in-depth exploration of computer architecture, providing a strong foundation for understanding the concepts covered in the course.
Save
While not directly related to the course's focus on ARM assembly language, this book provides a solid foundation in assembly language programming, complementing the course's introduction to the subject.
Covers topics such as digital logic design and computer architecture, offering a valuable complement to the course's introduction to the components and activities of a CPU.
Provides a thorough examination of computer systems from a programmer's point of view, offering valuable insights that complement the course's introduction to the components and activities of a CPU.
While not directly related to the course's focus on ARM assembly language, this book offers a detailed examination of MIPS assembly language, providing a valuable supplement to the course's introduction to the subject.
Provides a comprehensive guide to ARM system development, complementing the course's introduction to ARM assembly language.
Offers a practical introduction to assembly language programming, providing a useful supplement to the course's introduction to the subject.
Provides a comprehensive overview of microprocessor theory and design, complementing the course's introduction to the components and activities of a CPU.
Offers a concise overview of computer organization and architecture, providing a useful supplement to the course's introduction to the components and activities of a CPU.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser