# Hierarchy of Digital Systems: From Sand To Data Centers and AI We will take some time to discuss the structure of the digital systems we design, and how it is completely our decision to draw the boundaries that separate their constituent elements. A digital system is (if seen from the right perspective) a collection of components or building blocks exchanging data. But here is the key: the criterion to define what makes something as "a block" can be somewhat arbitrary. When does something qualify for being called "an object", an "element" or "a thing"? Well, without pretending to get too philosophical, an object, to be called such, needs to have an "entity". Having a name and a definite shape helps when it comes to having an entity. But things without physical properties like shape and weight can have entities as well. For instance, take a software library. It can perfectly be a building block in system architecture, and it still lacks all sorts of physical properties, as it doesn't weigh anything, you cannot touch it, lift it, or hit it with a hammer. > [!attention] > ==A "System" is in the eye of the beholder==. A system, as a concept, is independent of physical scale and shape. It can be a tiny object like a system-on-chip (SoC), something amorphous like a mobile network, a sleek machine like an aircraft, a gas turbine, or entire "system of systems" such as an air transportation system. > The concept of system also heavily depends on the frame of reference: what is a system for me can be a subsystem for another observer, or vice versa. With this in mind, we will try to describe the constituent parts of digital systems, along with their functionalities and boundaries. We will go both material and immaterial, as we will include hardware elements like memories, software elements like operating systems, and abstract elements such as Instruction Set Architectures in this discussion. I understand this may require some effort from the reader to stay reasonably zoomed out from the low-level details and always try to see the forest for the trees. The bottom line here is that we, as digital systems designers, have the power to define the hierarchy and the borders between the components that make up the systems we create. We cannot afford as designers not to understand what our designs are made of. [[Product Breakdown]] [[Semiconductors]] [[Electronic Design Automation (EDA)]] [[Printed Circuit Boards]] [[Backplanes and Standard Form Factors]] [[Units, Chassis and Racks]] [[Reference Architectures]] [[Software]] [[Real-Time, Near Real-Time, and Non-Real-Time Systems]] [[Data Centers and "The Cloud"]] [[Artificial Intelligence]] [[site/Resources/Hierarchy of Digital Systems/References|References]]