Introduction: Hardware
Let us ask ourselves this question: What is the hardware kit we use in this class made of? The answer to this question depends on what abstraction layer (level) we choose when looking at the kit. In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Using abstraction enables efficient design and testing of the systems. Primary abstraction levels of a hardware kit like ours are as follows:
Atoms: Everything is made of atoms!
CMOS transistors: A CMOS transistor gathers several types of material in a specific shape and form and creates a tiny switch that can be either open or closed.
Logic gates: Logic gates such as AND, OR, NOR, XOR, etc. are made of CMOS transistors and implement simple logic operations.
Combinational logic: In digital circuit theory, combinational logic is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only.
Sequential logic: A group of gates, including storage gates such as flip-flop that implement a function that depends on current inputs as well as the history of its inputs, is called sequential logic. In essence, sequential logic has memory while combinational logic does not. A circuit, which is purely made of logical gates such as AND, OR, NOT, XOR, etc., without any feedback in the circuit, has no memory and therefore, it is combinational. In electronics, a flip-flop is a circuit that has two stable states and can be used to store state information. It is the basic storage element in sequential logic.
Architectural units: These are advanced logic circuits that have a specific role in the design. Examples include ALU, register file, decoder, etc.
CPU: Central Processing Unit is made of a set of architectural units that is responsible for doing the general-purpose computation.
MCU: MicroController Unit is a System-On-Chip (SoC) that consists of a CPU and a set of peripherals such as Analog/Digital Converter and communication units residing on the same chip.
The development board: The development board is a Printed Circuit Board (PCB) that houses MCU as well as many other chips and components. The development board helps the system developer design and debug their application.
Multi-board system: In addition to the main development board, there are usually other boards with even more components and peripherals. The designers can build various systems by combining these boards which provide different functionalities.
Ask yourself
What is an abstraction level in computing?
What is the CPU?
What is the MCU?
What is the difference between CPU and MCU?
What is SoC?
What is PCB?
What is similar between a MCU and a development boards?
What is different between a MCU and a development board?
What is the difference between sequential and combinational logic?
What is the name of the gate that can be used as storage element?