Microprocessor 1.
Address Bus
- a programmable device that accepts binary - unidirectional
data from an input device, processes the data - used by the CPU to send out the address of
according to the instructions stored in the the memory location to be accessed
memory and provides results as output - used by the CPU to select a particular input
- it executes the program stored in the memory or output port
and transfers data and from the outside world - it may consists of parallel lines (18,16,20, or
through I/O parts even more)
- the number of bits in the address bus
determines the maximum number of data
locations in the memory that can be accessed
2. Data Bus
- bidirectional - data flows occurs both to and
I/O Devices from the microprocessor and peripherals
Input devices - are used for feeding data in the - data bus size determines the word length and
CPU size of data that can be manipulated
Examples
1. Toggle switch Internal Data Bus
2. Analog-to-digital converter - may not be the same width as external bus
3. Paper tape reader - the size of the internal data bus determines
4. Card readers the largest number that can be processed by
5. Keyboards the microprocessor
6. Disk
External Data Bus
Output devices - are used for delivering the - connects the microprocessor to I/O and
results of computations to the outside world memory
Examples
1. LED crt displays 3. Control Bus
2. Character printers - used for transmitting and receiving control
3. Plotters signals between the microprocessor and
4. Communication lines various devices in the system
- contain lines carrying synchronizing signals
Bus - sends out control signals to memory, I/O
- a communication link between the processing parts and other peripheral devices to ensure
unit and the peripheral devices proper operation
- a group of wires that carry information in the Examples
form of bits 1. Memory read
Types of Bus 2. Read input part
1. Address Bus 3. Memory wire
2. Data Bus 4. Hold
3. Control Bus 5. Write output
6. Interrupt
1
Memory Subsystem Computer Memory 1. SRAM (Static RAM)
- components, devices, chips and recording - a latch memory cell
media that are used for temporary, semi - available in bipolar, MOS, and BiCMOS
permanent, and permanent storage of data technologies
Classifications Types
1. Primary 1. Asynchronous SRAM
2. secondary 2. Synchronous SRAM
Primary memory
- holds the program instruction for the
program to be executed
- the input data to be processed
- the intermediate results of any calculations
when processing is being done
- used for storing BIOS and startup programs
Random Access Memory
- a read/write memory 2. DRAM (Dynamic RAM)
- all the memory locations in a RAM can be - made of a capacitor and a MOSFET
accessed of the same speed - the cell holds a value of 1 when the capacitor
- used to store data, program instruction and is charged and D when it is discharged
the results of any intermediate calculations Advantage compared with SRAM
during the execution of a program 1. Higher density or more bits per package
- used for short-term data storage as it connect
retain data when the power is turned off Cache memory
3 basic building blocks - a block of high-speed memory located
1. An array of memory bit cells arranged in between the main memory and the CPU
the rows and columns - mostly SRAM but can be also DRAM
2. An address decoder
3. A read/write control logic
Types
1. SRAM (Static RAM)
2. DRAM (Dynamic RAM)
2
Read Only Memory 1. Accumulator (ACC) or Result Register
- a nonvolatile memory that is used for - this is an n-bit register used in various
permanent or semipermanent storage of data arithmetic and logical operations
- the contents are retained even after the power ACC stores:
is turned off 1. Data to be processed by the ALU
ROM Classifications 2. Result of the ALU
1. Mask programmed ROMs
2. Programmable ROMs 2. General Purpose Registers or Scratch Pad
3. Erasable Programmable ROMs Memory
4. Ultraviolet Erasable Programmable ROMs - used in temporary storage and processed data
5. Electrically Erasable Programmable ROMs - there are several general-purpose n-bit
registers that can be used by the programmer
False Memory for a variety of purposes
- high density nonvolatile read/write memories
Combines the 3. Instruction Register
1. Low cost and high density features of an - this 8 bit register stores the next instruction
UVEPROM decoder which decodes it and supplied
2. In circuit electrical arasability feature of appropriate signals to the control unit
EEPROM without compromising the high
speed access 4. Program Counter
- this is a n-bit register which holds the address
—----------------------------------------------------- of the next instruction that has to be fetched
from the main memory and loaded into the
Arithmetic Logic Unit (ALU) instruction register
- a combinational network that performs - this is incremented after each instruction is
arithmetic and logical operations on the data fetched
5. Buffer Register
Internal Registers - interface the microprocessor with its memory
- used for temporary storage of data, system
instructions and addresses during execution - 2 standard buffer registers
program 1. Memory Address Register (MAR)
- the MAR is connected to the address pins of
Types the microprocessor and holds the absolute
1. Accumulator (ACC) or Result Register memory address of the data or instruction to be
2. General Purpose Registers or Scratch Pad accessed
Memory 2. Memory Buffer Register (MBR)
3. Instruction Register - the MBR, also known as the memory data
4. Program Counter register, is connected to the data pins of the
5. Buffer Register microprocessor. It stores all data written to and
6. Stack Pointer read from memory
7. Status Register or Condition Flags
8. Dedication Registers
3
6. Stack Pointer I/O Subsystems
- this is also a 16 bit register and is used by the I/O devices provide users the means of
programmers to maintain a stack in the interacting with the system
memory while using subroutines Components
Stack 1. I/O Hardware
a block of memory locations designated for 2. I/O Application Interface
temporary storage of data 3. I/O Software
7. Status Register or Condition Flags 1. I/O Hardware
- a status register consisting of a few flip-flops, - there are many I/O devices handled by the
called as condition flags is used to provide operating system such as mouse, keyboard,
indication of certain conditions that arise disk drive, etc.
during arithmetic and logical operations - there are different device drivers that can be
1. Zero - flag is set if result of instruction is 0 connected to the operating system to handle a
2. Sign - set of MSB of result is 1 specific device
3. Parity - set if result has even polarity - the device controller is an interface between
4. Carry - set if carry or borrow resulted the device and the device driver
5. Auxiliary Carry - set of instruction caused
carry out of bit 3 and into bit 4 of the 2. I/O Application Interface
resulting value - the user applications can access all the I/O
devices using the device drivers, which are
8. Dedication Registers device specific codes
- several other registers are incorporated in the - the application layer sees a common
microprocessor for its internal operation interface for all the devices
- they cannot be accessed by the programmer
3. I/O Software
- contains the user level libraries and the kernel
modules
- the libraries provide the interface to the user
program to perform input and output
- the kernel modules provides the device
drivers that interact with the computer
I/O Parts
- a physical interface on the computer through
which the input and output devices are
connected to and interact with the computer
- an interface to connect two computers to
each other
- can be configured as input and output parts
through software