We may earn an affiliate commission when you visit our partners.
Course image
Robert Mullins, Timothy M. Jones, and Alex W. Chadwick

Whether you’re downloading an app, streaming a video, or clicking a mouse, modern microprocessors are the engines powering your digital life. Arm’s 30-year-plus history of designing energy and power-efficient microprocessors helped fuel the smartphone revolution, and today from the tiniest sensors to the world's most powerful supercomputers, Arm is building the future of computing.

Read more

Whether you’re downloading an app, streaming a video, or clicking a mouse, modern microprocessors are the engines powering your digital life. Arm’s 30-year-plus history of designing energy and power-efficient microprocessors helped fuel the smartphone revolution, and today from the tiniest sensors to the world's most powerful supercomputers, Arm is building the future of computing.

This course will provide you with a deep understanding of the architecture of modern microprocessors. We'll start your learning journey by covering the basics of computer architecture, such as definitions and a description of key components of a microprocessor.

We'll then take a deep dive into important computer architectural concepts and processes. For example, you'll learn how pipelining, branch handling and cache memories can improve the performance of a single-cycle microprocessor. We'll then introduce you to the world of superscalar processors, and how to maximise performance using out-of-order instructions.

Our lab exercises will bring to life the theory discussed in the course through a range of simulation tools.

Along the way, we'll provide you with insights from key engineers at Arm, illustrating how and why certain design choices were made so you’ll have the real-world context behind these pivotal architectural decisions.

With over 250 billion Arm-based chips deployed by our vast ecosystem of partners, Arm technology is present wherever computing happens. Be a part of this thriving community and enrol in Computer Architecture Essentials on Arm today.

This course is aimed at learners who have a basic understanding of computer organisation and programming languages. If you are completely new to the world of microprocessors, we suggest you take our Introduction to Microprocessors course on edX.

What you'll learn

  • An appreciation of the origins of modern microprocessors and the key principles that go into Computer Architecture design.
  • An understanding of the fundamentals of pipelining and how it can improve performance.
  • The importance of branches and how they can be handled efficiently with the use of pipelining.
  • The impact of memory on processor performance and why caches are necessary.
  • The organisation of a modern superscalar processor.
  • An understanding of the benefits and challenges associated with an in-order superscalar processor.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops concepts behind designs within computer architecture, such as pipelining, caches, and out-of-order instructions
Features insights from leading engineers, offering practical context to architectural decisions
Requires a background in computer organization and programming, making it inappropriate for novices
Teaches an appreciation for design principles used in modern microprocessors
Provides a solid foundation for understanding superscalar processors
Includes hands-on lab exercises that reinforce theoretical concepts

Save this course

Save Computer Architecture Essentials on Arm to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computer Architecture Essentials on Arm with these activities:
Review 'Computer Architecture: A Quantitative Approach'
Review 'Computer Architecture: A Quantitative Approach' to gain a comprehensive understanding of the fundamental concepts of computer architecture, including pipelining, branch handling, and cache memories.
Show steps
  • Read the chapters on pipelining, branch handling, and cache memories.
  • Solve the practice problems at the end of each chapter.
Solve practice problems on pipelining
Solve practice problems on pipelining to reinforce your understanding of how pipelining improves processor performance.
Browse courses on Pipelining
Show steps
  • Identify the stages of a pipeline.
  • Determine the latency and throughput of a pipeline.
  • Analyze the impact of pipeline hazards on performance.
  • Design a pipeline for a given processor architecture.
Practice exercises on branch handling
Practice exercises on branch handling to enhance your understanding of how processors optimize branch prediction and reduce branch penalties.
Browse courses on Branch Handling
Show steps
  • Predict the direction of a branch using various prediction techniques.
  • Analyze the performance impact of different branch handling strategies.
  • Design a branch predictor for a given processor architecture.
Three other activities
Expand to see all activities and additional details
Show all six activities
Follow online tutorials on superscalar processors
Follow online tutorials on superscalar processors to gain insights into their organization, instruction scheduling, and performance optimization techniques.
Browse courses on Superscalar Processors
Show steps
  • Identify the key components of a superscalar processor.
  • Analyze the instruction scheduling algorithms used in superscalar processors.
  • Evaluate the performance benefits of superscalar processors over scalar processors.
Write a summary of out-of-order execution
Write a summary of out-of-order execution to enhance your understanding of how superscalar processors achieve high performance by executing instructions in a non-sequential order.
Browse courses on Out-of-Order Execution
Show steps
  • Explain the concept of out-of-order execution.
  • Describe the benefits and challenges of out-of-order execution.
  • Analyze the techniques used to implement out-of-order execution in superscalar processors.
Develop a tool to simulate a simple superscalar processor
Develop a tool to simulate a simple superscalar processor to gain hands-on experience in understanding the operation and performance of superscalar processors.
Browse courses on Computer Architecture
Show steps
  • Design the architecture of a simple superscalar processor.
  • Implement the instruction scheduling algorithm.
  • Evaluate the performance of the simulated superscalar processor.

Career center

Learners who complete Computer Architecture Essentials on Arm will develop knowledge and skills that may be useful to these careers:
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware systems. They may work on a variety of projects, from designing new processors to developing new memory technologies. This course can help you build a foundation in computer architecture, which is essential for a career in computer hardware engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize computer hardware systems.
Computer Architect
Computer Architects design and develop the architecture of computer systems. They work on a variety of projects, from designing new processors to developing new memory technologies. This course can help you build a foundation in computer architecture, which is essential for a career in computer architecture. You will learn about the different components of a computer system, how they work together, and how to design and optimize computer hardware systems.
Software Engineer
Software Engineers design, develop, and test software systems. They may work on a variety of projects, from developing new operating systems to developing new applications. This course can help you build a foundation in computer architecture, which is essential for a career in software engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize software systems.
Embedded Systems Engineer
Embedded Systems Engineers design, develop, and test embedded systems. Embedded systems are computer systems that are designed to be embedded in other devices, such as cars, medical devices, and industrial equipment. This course can help you build a foundation in computer architecture, which is essential for a career in embedded systems engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize embedded systems.
Digital Design Engineer
Digital Design Engineers design and develop digital circuits. Digital circuits are the building blocks of modern electronics, and they are used in a wide variety of devices, from computers to smartphones to cars. This course can help you build a foundation in computer architecture, which is essential for a career in digital design engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize digital circuits.
ASIC Design Engineer
ASIC Design Engineers design and develop application-specific integrated circuits (ASICs). ASICs are ICs that are designed for a specific application, such as a particular type of computer or smartphone. This course can help you build a foundation in computer architecture, which is essential for a career in ASIC design engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize ASICs.
Chip Designer
Chip Designers design and develop integrated circuits (ICs). ICs are the building blocks of modern electronics, and they are used in a wide variety of devices, from computers to smartphones to cars. This course can help you build a foundation in computer architecture, which is essential for a career in chip design. You will learn about the different components of a computer system, how they work together, and how to design and optimize ICs.
VLSI Engineer
VLSI Engineers design and develop very-large-scale integration (VLSI) circuits. VLSI circuits are ICs that contain millions or even billions of transistors. They are used in a wide variety of devices, from computers to smartphones to cars. This course can help you build a foundation in computer architecture, which is essential for a career in VLSI engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize VLSI circuits.
Systems Engineer
Systems Engineers design, develop, and test complex systems. These systems can include computer systems, software systems, and embedded systems. This course can help you build a foundation in computer architecture, which is essential for a career in systems engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize complex systems.
FPGA Design Engineer
FPGA Design Engineers design and develop field-programmable gate arrays (FPGAs). FPGAs are ICs that can be programmed after they are manufactured. This allows them to be used in a wide variety of applications, from prototyping new designs to creating custom hardware for specific applications. This course can help you build a foundation in computer architecture, which is essential for a career in FPGA design engineering. You will learn about the different components of a computer system, how they work together, and how to design and optimize FPGAs.
Technical Writer
Technical Writers create documentation for computer systems. This documentation can include user manuals, technical specifications, and white papers. This course can help you build a foundation in computer architecture, which is essential for a career in technical writing. You will learn about the different components of a computer system, how they work together, and how to write clear and concise technical documentation.
Test Engineer
Test Engineers design and develop tests for computer systems. These tests are used to verify that the systems are functioning properly. This course can help you build a foundation in computer architecture, which is essential for a career in test engineering. You will learn about the different components of a computer system, how they work together, and how to design and implement effective tests.
Product Manager
Product Managers manage the development and launch of new products. They work with engineers, designers, and marketers to bring new products to market. This course can help you build a foundation in computer architecture, which is essential for a career in product management. You will learn about the different components of a computer system, how they work together, and how to develop and launch new products.
Sales Engineer
Sales Engineers sell computer systems and software. They work with customers to identify their needs and develop solutions. This course can help you build a foundation in computer architecture, which is essential for a career in sales engineering. You will learn about the different components of a computer system, how they work together, and how to develop and sell effective solutions.
Customer Support Engineer
Customer Support Engineers provide technical support to customers. They help customers resolve problems with their computer systems and software. This course can help you build a foundation in computer architecture, which is essential for a career in customer support engineering. You will learn about the different components of a computer system, how they work together, and how to provide effective technical support.

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 Computer Architecture Essentials on Arm.
Provides a comprehensive overview of computer architecture, from the basics to advanced topics. It valuable resource for anyone who wants to learn more about how computers work.
Provides a comprehensive overview of the ARM architecture, including the instruction set, memory management, and I/O. It valuable resource for anyone who wants to learn more about how ARM processors work.
Provides a comprehensive overview of advanced computer architecture topics, such as superscalar processors, out-of-order execution, and multicore processors. It valuable resource for anyone who wants to learn more about the latest advances in computer architecture.
Provides a comprehensive overview of computer architecture, with a focus on the fundamentals of computer design. It valuable resource for anyone who wants to learn more about how computers work.
Provides a comprehensive overview of digital design and computer architecture. It valuable resource for anyone who wants to learn more about the basic principles of computer design.
Provides a comprehensive overview of embedded system design. It valuable resource for anyone who wants to learn more about how to design and implement embedded systems.
Provides a comprehensive overview of computer architecture and organization. It valuable resource for anyone who wants to learn more about the basic principles of computer design.
Provides a comprehensive overview of the fundamentals of computer science, including computer architecture. It valuable resource for anyone who wants to learn more about the basic principles of computer design.
Provides a comprehensive overview of computer networks. It valuable resource for anyone who wants to learn more about how computer networks work.
Provides a comprehensive overview of real-time systems. It valuable resource for anyone who wants to learn more about how to design and implement real-time systems.

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