• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • DesignFast
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

A look at the computer engineering stack

August 16, 2017 By Scott Thornton 2 Comments

The embedded world looks a lot like the computing world as technology evolves, so it’s worth taking a look at the full computer engineering stack. This kind of stack refers to the structures built on top of each other that combine to form computers, not the memory register stack that processors use and can sometimes overflow. Sometimes you can understand snippets but can’t place the context in the big picture. Maybe a discussion of the big picture from the point of view of the computer engineering stack can help. The layers in the computer engineering stack are shown in Figure 1.

Figure 1: Most people are aware of the top three layers of this conceptual stack based on what’s learned in schools. Programmers and developers work in the top four layers. (Image Credit: Christopher Batten, Cornell University)

The application layer is the one almost anyone who’s used a computer or a smartphone has used and is familiar with. The application interfaces directly with the user in terms that the user can understand, whether through audio, visual, or tactile means (or even through electrodes that capture brain waves.)

An Algorithm is the basic flow of events, often depicted in a flow chart. Almost everyone has worked out an algorithm at one point when trying to organize a process, and it’s not much different for working out what you want a program to do on a given piece of hardware.

The Programming Language is a high-level language that translates the algorithm into discrete steps. The high-level language is translated by a compiler into machine language that the processor can understand. Ultimately, the machine language is translated into very, very long strings of 0s and 1s.

The Operating System greatly affects the presentation of the applications to the user but does much more than organizing the computer. The operating system manages the low-level hardware, including peripherals such as a touch screen, microphone, speaker, interfaces like USB, inputs from all manner of sensors including buttons, and much more. The operating system interacts with the processor to execute instructions at the machine level.

Figure 2: The OS, ISA, microarchitecture and RTL are further away from the human interface and increasingly more difficult to work with. Computer architects do much of their work in these layers. MIPS32 refers to processor core by MIPS. (Image Credit: Christopher Batten, Cornell University)

The Instruction Set Architecture (ISA) is a finite set of instructions that are specific to that processor. Each processor, whether it be MIPS, x86, or ARM, has its own instruction set architecture that works with that processor. The particular way that the ISA is implemented is called the Microarchitecture. Intel® x86 processors, for instance, store the least significant byte in the lowest address. This practice in storing memory is called little endian. Other processors are either big endian (storing the most significant bytes beginning at the lowest address) or allow the engineer to choose (called bi-endian). This question of endianness has to do with the microarchitecture of the processor chip.

The Register-Transfer Level (RTL) physically affects how data flows through the system and is part of the logic design of an integrated circuit. RTL is also a hardware description language that is used in the design of digital circuits at the gate-level. RTL is an abstraction layer that allows an engineer to specify the operations on data and data transfers at the digital (gate) level, i.e., in terms of 0s and 1s. The RTL can be thought of as a programming tool for circuit design.

Figure 3: Circuits and devices (components) are the realms of the hardware engineer as programming commands are translated into electrical signals subject to noise, fan-out, and multiple other challenges. (Image Credit: Christopher Batten, Cornell University)

The Gate Level is the layout of the digital logic that was described in broader terms at the register-transfer level. Here, Boolean logic transacts simple decisions on long strings of 0s and 1s to make higher level decisions that can be more easily seen at the register-transfer level.

Circuits are networks of interconnected devices such as transistors (which act like simple switches to decide where the 0s and 1s go). Combinations of devices (components) work together to arrive at results and accomplish tasks that were designated at a higher level up the stack. At this point, at the Device Level, the 0s and 1s become voltage-level signals to circuit designers. A 0 is near to 0 volts and a 1 might be 0.9 V, 1.8 V, 3.3 V, or even 5 V. The physics of electricity begin to play a large part when electronic components work together to make billions of decisions a second. The term “one Giga Hertz (GHz)” with respect to a CPU means that one billion (1,000,000,000) instructions per second are executing at the ISA level. At the device level, that number is even higher as billions (or trillions) of transistors crammed onto a square of silicon (smaller than a Chiclet) make decisions for each 0 and 1 flowing through them. These minor decisions are based on what was programmed way up the stack, in a language that a human can understand (C+, Python, Basic, Fortran, SQL, Google voice translation, etc.)

Technology is a broad term used at the foundation of the stack to indicate the Silicon Process Technology. However, technology involves more than the materials science of silicon processes or processes of other chemical compounds (e.g., GaN, SiC) to create processors and surrounding devices on integrated circuits. Technology transcends the stack.

 

Filed Under: Embedded, FAQ, Featured Tagged With: basics, FAQ

Reader Interactions

Comments

  1. juhee says

    April 29, 2019 at 9:41 am

    Thanks, Its good article.

    Reply
    • Staphan says

      April 4, 2022 at 1:24 pm

      stop all stack overflow from system, and control all privacy risks

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Five challenges for developing next-generation ADAS and autonomous vehicles

Securing IoT devices against quantum computing risks

RISC-V implementation strategies for certification of safety-critical systems

What’s new with Matter: how Matter 1.4 is reshaping interoperability and energy management

Edge AI: Revolutionizing real-time data processing and automation

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: 5G Technology
This Tech Toolbox covers the basics of 5G technology plus a story about how engineers designed and built a prototype DSL router mostly from old cellphone parts. Download this first 5G/wired/wireless communications Tech Toolbox to learn more!

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

DesignFast

Design Fast Logo
Component Selection Made Simple.

Try it Today
design fast globle

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • DesignFast
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2025 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy