Research
Research
Research
MICROPROCESSOR SYSTEMS
ALU (Arithmetic Logic Unit) – is the part of the microprocessor that performs arithmetic
operations. ALUs can typically add, subtract, divide, multiply, and perform logical operations of
two numbers (and, or, nor, not, etc).
- The inputs to an ALU are the data to be operated on, called operands, and a code
indicating the operation to be performed; the ALU's output is the result of the performed operation.
In many designs, the ALU also has status inputs or outputs, or both, which convey information
about a previous operation or the current operation, respectively, between the ALU and
external status registers.
CU (Control Unit) – reads the instructions, and generates the necessary digital signals to
operate the other components. An instruction to add two numbers together would cause the
Control Unit to activate the addition module, for instance.
- is a component of a computer's central processing unit (CPU) that directs the operation
of the processor. It tells the computer's memory, arithmetic and logic unit and input and output
devices how to respond to the instructions that have been sent to the processor.
- It directs the operation of the other units by providing timing and control signals. Most
computer resources are managed by the CU. It directs the flow of data between the CPU and
the other devices. John von Neumann included the control unit as part of the von Neumann
architecture.
- In modern computer designs, the control unit is typically an internal part of the CPU with
its overall role and operation unchanged since its introduction.
Registers – This book includes data about different kinds of registers. Hopefully it will be obvious
which kind of register we are talking about from the context.
-The most general meaning is a "hardware register": anything that can be used to
store bits of information, in a way that all the bits of the register can be written to or read out
simultaneously. Since registers outside of a CPU are also outside the scope of the book, this
book will only discuss processor registers, which are hardware registers that happen to be inside
a CPU. But usually we will refer to a more specific kind of register.
A register is a temporary storage area built into a CPU. Some registers are used internally and
cannot be accessed outside the processor, while others are user-accessible. Most modern CPU
architectures include both types of registers.
- Is a quickly accessible location available to a computer's processor. Registers
usually consist of a small amount of fast storage, although some registers have specific hardware
functions, and may be read-only or write-only. In computer architecture, registers are typically
addressed by mechanisms other than main memory, but may in some cases be assigned
a memory address e.g. DEC PDP-10, ICT 1900.
- are normally at the top of the memory hierarchy, and provide the fastest way to
access data. The term normally refers only to the group of registers that are directly encoded as
part of an instruction, as defined by the instruction set. However, modern high-performance
CPUs often have duplicates of these "architectural registers" in order to improve performance
via register renaming, allowing parallel and speculative execution. Modern x86 design
acquired these techniques around 1995 with the releases of Pentium Pro, Cyrix 6x86, Nx586,
and AMD K5.
- Registers are normally measured by the number of bits they can hold, for example,
an "8-bit register", "32-bit register" or a "64-bit register" or even more. In some instruction sets,
the registers can operate in various modes breaking down its storage memory into smaller ones
(32-bit into four 8-bit one for instance) to which multiple data (vector, or one dimensional array
of data) can be loaded and operated upon at the same time. Typically it is implemented by adding
extra registers that map their memory into bigger one. Processors that have the ability to execute
single instruction on multiple data are called vector processors.
Other Peripherals
CPU (Central Processing Unit) - The CPU, sometimes called a processor or
microprocessor, controls all of the instructions/data flow that it receives. You can
think of it as the brains of the system, processing all the data input it receives and
executes the required instructions. Its two main components are the Arithmetic
Logic Unit (ALU), which performs arithmetic and logical operations, and the Control
Unit (CU), which handles all of the processor’s instruction executions.
RAM - is a component that temporarily stores data, and can be accessed quickly. It
provides quick read-and-write access to the storage device. This differs from most
other memories as it takes longer for data to be extracted since the data isn’t readily
available. You can see it as RAM having access to the surface of data – easily
reachable – but anything that dives deeper will require a different type of memory.
RAM improves total system performance because it allows the microcontroller to
work with more information at the same time. Since RAM is temporary data, its
content is always erased when the microcontroller is shut down .
Flash Memory - is a type of non-volatile memory that, unlike RAM, retains its data
for an extended period, even if the microcontroller is turned off. This keeps the
saved program that you might have uploaded to the microcontroller. Flash Memory
writes to a “block” or “sector” at a time, so if you need to just re -write one byte,
Flash Memory will need to re-write the whole block that the byte is in, which can
wear out quicker.
EEPROM - is like Flash Memory, being a non-volatile memory and retaining its data
even after shutdown. The difference is that, while Flash Memory re -writes a “block”
of bytes, EEPROM can re-write any specific byte at any time. This extends the life
of EEPROM compared to Flash Memory, but also means that it is more expensive .
I/O ports - are what the microcontroller uses to connect to real-world applications.
Inputs receive changes in the real-world, from temperature sensing, to motion
sensing, to push buttons, and much more. The input then goes to the CPU and
decides what to do with that information. When it’s time to do a certain command
based on a certain value from the input, it sends a signal to the output ports, where
it can range from a simple LED light going off, to running a motor for a certain part,
to many more. Figure 3 shows some common input and output components.
2. Fetch-Decode-Execute Cycle - The main job of the CPU is to execute programs using the fetch-
decode-execute cycle (also known as the instruction cycle). This cycle begins as soon as you turn on
a computer. To execute a program, the program code is copied from secondary storage into the main
memory.
- The CPU's program counter is set to the memory location where the first instruction in the
program has been stored, and execution begins. The program is now running.
- In a program, each machine code instruction takes up a slot in the main memory. These slots
(or memory locations) each have a unique memory address. The program counter stores the address
of each instruction and tells the CPU in what order they should be carried out.
- When a program is being executed, the CPU performs the fetch-decode-execute cycle, which
repeats over and over again until reaching the STOP instruction.