0% found this document useful (0 votes)
8 views12 pages

Unit

The document provides a comprehensive overview of basic computer organization, focusing on components like the CPU, memory, and input/output devices, as well as instruction cycles and registers. It also delves into CPU architecture, instruction formats, addressing modes, and data transfer methods, including RISC and CISC architectures. Additionally, it covers computer arithmetic, including algorithms for addition, subtraction, multiplication, and division, as well as floating-point representations and input-output organization.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views12 pages

Unit

The document provides a comprehensive overview of basic computer organization, focusing on components like the CPU, memory, and input/output devices, as well as instruction cycles and registers. It also delves into CPU architecture, instruction formats, addressing modes, and data transfer methods, including RISC and CISC architectures. Additionally, it covers computer arithmetic, including algorithms for addition, subtraction, multiplication, and division, as well as floating-point representations and input-output organization.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

UNIT-I: Basic Computer Organization and Design

This unit lays the foundation for how a computer works. Think of it as understanding
the individual parts and how they connect to make the whole machine function.
 Basic Computer Organization and Design: This refers to the fundamental
components of a computer and how they interact. The core components are:
o CPU (Central Processing Unit): The "brain" of the computer. It
fetches instructions, decodes them, and executes them. It performs
calculations and controls other parts.
o Memory: Stores data and instructions that the CPU needs.

o Input Devices: Allow you to provide data and commands for the
computer (e.g., keyboard, mouse).
o Output Devices: Display or output results from the computer (e.g.,
monitor, printer).
o System Bus: The communication pathway that connects all these
components, like the roads connecting different cities.
 Instructions and Instruction Codes:
o Instruction: A command that tells the computer to perform a specific
operation (e.g., add two numbers, move data).
o Instruction Code: A binary representation of an instruction that the
CPU understands. Each instruction has a specific code, called the
opcode that indicates the operation to be performed. There are other
parts of the instruction as well. For instance, it will include one or more
operands, which are memory addresses or immediate data (a number
to add directly).
 Timing and Control / Instruction Cycle:
o Timing and Control: The process of synchronizing and controlling the
execution of instructions. This is crucial to ensure that each step of an
instruction is performed in the correct sequence and at the right time.
The control unit within the CPU orchestrates this.
o Instruction Cycle: The sequence of steps the CPU performs for each
instruction:
1. Fetch: Retrieve the instruction from memory.
2. Decode: Interpret the instructions to determine what operation
to perform.
3. Execute: Perform the operation specified by the instruction.
4. Store: Save the results of the execution (if needed).
The instruction cycle is continuous. It repeats every instruction
the computer executes.
 Register / Types of Register / General Purpose & Special Purpose
Registers / Index Registers:
o Register: A small, high-speed storage location within the CPU.
Registers are used to temporarily hold data and instructions that the
CPU is actively working with. Think of them as the CPU's personal
scratchpad.
o Types of Registers:


 General-Purpose Registers: Can be used for a variety of
purposes, such as storing operands for arithmetic operations or
holding memory addresses. They provide flexibility for
programmers. (e.g. AX, BX, CX, DX in x86 architecture)
 Special-Purpose Registers: Have specific roles and are used
by the CPU for particular tasks. Examples include:
 Program Counter (PC): Holds the address of the next
instruction to be executed.
 Instruction Register (IR): Holds the current instruction
being executed.
 Memory Address Register (MAR): Holds the address of
the memory location to be accessed.
 Memory Buffer Register (MBR) or Memory Data
Register (MDR): Holds the data being read from or
written to memory.
 Status Register: Contains bits that reflect the current
status of the CPU, such as carry, overflow, or zero flags.
 Index Registers: Used in address calculations, especially for
accessing elements in arrays. They hold an offset value that is
added to a base address to calculate the effective address of an
element.
 Register Transfer and Micro Operations / Register Transfer
Instructions:
o Register Transfer: The movement of data between registers within
the CPU.
o Micro-operations: Basic, elementary operations performed on data
stored in registers. Examples include:
 Addition: Adding the contents of two registers.
 Subtraction: Subtracting the contents of two registers.
 Shift: Shifting the bits in a register left or right.
 Load: Copying data from memory into a register.
 Store: Copying data from a register into memory.
o Register Transfer Instructions: Instructions in assembly language
that specify the transfer of data between registers. For example, in
assembly language, MOV AX, BX would move the contents of register
BX into register AX.
 Memory and Memory Function:
o Memory: A storage device that holds data and instructions for the CPU
to access. There are different types of memory:
 RAM (Random Access Memory): Volatile memory that can be
read from and written to. It is the primary working memory of
the computer. When the power is turned off, RAM data is lost.
 ROM (Read-Only Memory): Non-volatile memory that can only
be read from. It typically stores the boot program and other
essential system software. The contents of ROM are permanent.
o Memory Function: Storing and retrieving data as needed by the CPU.
Memory is organized into addressable locations, each with a unique
address. The CPU uses these addresses to access specific data
locations.
 Bus / Data Transfer Instructions:
o Bus: A set of electrical conductors (wires) that connect different
components of the computer. It provides a communication pathway for
data, addresses, and control signals.
o Types of Buses:

 Data Bus: Carries data between the CPU, memory, and


peripherals.
 Address Bus: Carries the memory addresses that the CPU
wants to access.
 Control Bus: Carries control signals that coordinate the
activities of the different components.
o Data Transfer Instructions: Instructions that move data between
memory and registers, or between different memory locations.
 Arithmetic Logic Micro-Operations / Shift Micro-Operations:
o Arithmetic Micro-operations: Basic arithmetic operations performed
on data, such as addition, subtraction, multiplication, and division.
o Logic Micro-operations: Basic logical operations performed on data,
such as AND, OR, NOT, XOR.
o Shift Micro-operations: Operations that shift the bits in a register
left or right. These are used for multiplication (left shift), division (right
shift), and bit manipulation.
 Input/Output and Interrupts:
o Input/Output (I/O): The process of transferring data between the
computer and external devices (peripherals).
o Interrupts: Signals that cause the CPU to temporarily suspend its
current execution and handle a specific event (e.g., data arriving from
a keyboard, a disk drive completing an operation). Interrupts allow the
CPU to respond to events in a timely manner without constantly polling
devices.
 Memory Reference Instructions: Instructions that access memory
locations. These instructions specify the operation to be performed (e.g.,
load, store) and the memory address to be accessed.
 Memory Interfacing: The process of connecting memory to the CPU. This
involves addressing, data transfer, and control signals. The CPU needs to be
able to select a specific memory location, read data from it, or write data to
it.
 Cache Memory: A small, fast memory that stores frequently accessed data
and instructions. It is located between the CPU and main memory. When the
CPU needs data, it first checks the cache. If the data is found in the cache (a
"cache hit"), it is accessed quickly. If the data is not found in the cache (a
"cache miss"), it must be fetched from main memory, which is slower.
UNIT-II: Central Processing Unit (CPU)
This unit dives deeper into the architecture and function of the CPU.
 General Register Organization / Stacks Organizations:
o General Register Organization: CPUs can have various
architectures in terms of how registers are organized and used. Some
CPUs have a large number of general-purpose registers, providing
flexibility for programmers. Others have a smaller number of registers
and rely more on memory access.
o Stack Organization: A stack is a data structure that follows the Last-
In, First-Out (LIFO) principle. The CPU can use a stack to store
temporary data, return addresses for function calls, and parameters for
functions. A stack pointer register keeps track of the top of the stack.
Operations: Push (add to top), Pop (remove from top).
 Instruction Formats:
o Instruction Format: The structure of an instruction, which specifies
the opcode, operands, and addressing modes.
o Types of Instruction Formats:

 Zero-Address Instructions: Used in stack-based architectures.


Operands are implicitly taken from the stack.
 One-Address Instructions: One operand is specified in the
instruction, and the other is implicitly the accumulator register.
 Two-Address Instructions: Two operands are specified in the
instruction. One operand can be a source and the other a
destination (which also acts as the other source).
 Three-Address Instructions: Three operands are specified in
the instruction: two sources and one destination.
 Addressing Modes:
o Addressing Mode: The way in which the operand of an instruction is
specified. Different addressing modes provide different ways to access
data. Common addressing modes include:
 Immediate Addressing: The operand is a constant value
included in the instruction itself.
 Direct Addressing: The operand is the memory address of the
data.
 Indirect Addressing: The operand is the memory address of a
pointer to the data.
 Register Addressing: The operand is a register that contains
the data.
 Register Indirect Addressing: The operand is a register that
contains the memory address of the data.
 Displacement/Indexed Addressing: The effective address is
calculated by adding a displacement or index value to a base
address (which can be in a register or another part of the
instruction).
 Data Transfer and Manipulation:
o Data Transfer Instructions: Instructions that move data between
registers, memory, and I/O devices (e.g., MOV, LOAD, STORE).
o Data Manipulation Instructions: Instructions that perform
arithmetic, logical, and shift operations on data (e.g., ADD, SUB, AND,
OR, NOT, SHL, SHR).
 Program Control:
o Program Control Instructions: Instructions that control the flow of
execution of a program. These include:
 Branch Instructions: Transfer control to a different part of the
program based on a condition (e.g., JMP, JE, JNE).
 Call Instructions: Transfer control to a subroutine or function.
 Return Instructions: Return from a subroutine or function.
 Loop Instructions: Repeat a sequence of instructions a
specified number of times.
 Reduced Instruction Set Computer (RISC) / Complex Instruction Set
Computer (CISC) / Pipeline:
o CISC (Complex Instruction Set Computer): A CPU architecture that
has a large number of complex instructions. CISC architectures aim to
provide powerful instructions that can perform complex tasks in a
single instruction.
o RISC (Reduced Instruction Set Computer): A CPU architecture that
has a small number of simple instructions. RISC architectures focus on
executing instructions quickly and efficiently. RISC CPUs typically use
pipelining more effectively than CISC CPUs.
o Pipelining: A technique that allows multiple instructions to be in
different stages of execution at the same time. This improves the
overall throughput of the CPU. Think of it like an assembly line in a
factory, where each station performs a specific task on the product.
 Pipeline / RISC / CISC pipeline vector processing / array processing:
o Pipeline Hazards: Situations that can disrupt the smooth flow of
instructions through the pipeline, such as data dependencies (when
one instruction needs the result of a previous instruction) and control
dependencies (when a branch instruction changes the flow of
execution).
o Vector Processing: A technique that allows the CPU to perform the
same operation on multiple data elements simultaneously. This is
useful for processing arrays and other large datasets.
o Array Processing: A specialized form of parallel processing that
performs the same operation on all elements of an array at the same
time. Array processors are often used in scientific and engineering
applications.
UNIT-III: Computer Arithmetic
This unit covers the algorithms and methods used to perform arithmetic operations
in computers.
 Addition, Subtraction, and Multiplication Algorithms:
o Addition: Basic binary addition, handling carry bits.

o Subtraction: Implemented using two's complement addition. To


subtract A from B, find the two's complement of A and add it to B.
o Multiplication: Several algorithms exist:

 Shift-and-Add Multiplication: A basic algorithm that


repeatedly shifts the multiplicand and adds it to a partial
product.
 Booth's Algorithm: An efficient algorithm for multiplying
signed numbers. It reduces the number of additions and
subtractions required.
 Division Algorithms:
o Division: Algorithms for dividing binary numbers. One common
approach is:
 Restoring Division: Repeatedly subtracts the divisor from the
dividend (or partial remainder). If the result is negative, the
divisor is added back (restoring the previous value), and the
quotient bit is set to 0. Otherwise, the quotient bit is set to 1.
 Non-Restoring Division: A more efficient algorithm that avoids
the restoring step by performing additions and subtractions
based on the sign of the partial remainder.
 Floating-Point Representations:
o Floating-Point Numbers: A way to represent real numbers (numbers
with fractional parts) in computers. Floating-point numbers are
represented using three parts:
 Sign Bit: Indicates whether the number is positive or negative.
 Exponent: Represents the magnitude of the number.
 Mantissa (or Significand): Represents the significant digits of
the number. Usually stored in normalized form (e.g., [Link]).
o IEEE 754 Standard: A widely used standard for representing floating-
point numbers. It defines formats for single-precision (32-bit) and
double-precision (64-bit) floating-point numbers.
 Floating-Point Arithmetic Operations:
o Floating-Point Addition, Subtraction, Multiplication, Division:
These operations are more complex than integer arithmetic due to the
need to align exponents and normalize the result.
 Decimal Arithmetic Operations:
o Binary Coded Decimal (BCD): A way to represent decimal digits (0-
9) using 4 bits.
o Decimal Arithmetic: Performing arithmetic operations directly on
BCD numbers. This is useful in applications where accuracy in decimal
representation is important (e.g., financial calculations).
UNIT-IV: Input-Output Organization
This unit describes how the computer interacts with external devices.
 Peripheral Devices:
o Peripheral Devices: External devices that connect to the computer,
such as keyboards, mice, monitors, printers, disk drives, and network
interfaces.
 Input/Output Interface:
o I/O Interface: The hardware and software that allows the computer to
communicate with peripheral devices. The interface handles data
transfer, addressing, and control signals.
o I/O Modules/Controllers: The specific hardware that handles the I/O
operations for a particular device (e.g., a disk controller, a network
interface card).
 ALU Asynchronous Data Transfer:
o Asynchronous Data Transfer: A method of data transfer where the
sender and receiver do not rely on a common clock signal. Instead,
they use handshaking signals to coordinate the transfer.
 Mode of Transfer:
o Programmed I/O: The CPU directly controls the I/O operation. The
CPU waits for the I/O device to be ready and then transfers data. This is
a simple but inefficient method.
o Interrupt-Driven I/O: The I/O device signals the CPU when it is ready
to transfer data using an interrupt. The CPU then suspends its current
execution and handles the I/O request. This is more efficient than
programmed I/O.
o Direct Memory Access (DMA): A method that allows I/O devices to
transfer data directly to or from memory without involving the CPU.
The DMA controller takes control of the system bus and transfers data
independently. This is the most efficient method.
 Priority Interrupts:
o Priority Interrupts: A system where different interrupt requests are
assigned different priorities. Higher-priority interrupts are handled
before lower-priority interrupts. This ensures that important events are
handled promptly.
o Methods for Handling Priority Interrupts:

 Hardware Priority Interrupts: Uses dedicated hardware to


prioritize interrupts.
 Software Priority Interrupts: Uses software routines to
prioritize interrupts.
 Direct Memory Access (DMA):
o DMA Controller: A specialized hardware component that controls
DMA transfers. The DMA controller manages the transfer of data
between I/O devices and memory, freeing up the CPU to perform other
tasks.
 Input/Output Processor (IOP):
o IOP: A specialized processor that handles I/O operations. An IOP is
more sophisticated than a DMA controller and can perform more
complex I/O tasks.
 Serial Communication:
o Serial Communication: A method of data transfer where data is
transmitted one bit at a time over a single wire. This is commonly used
for long-distance communication.
o Asynchronous Serial Communication: Data is transmitted without
a common clock signal. Start and stop bits are used to frame each
character. (e.g., UART)
o Synchronous Serial Communication: Data is transmitted with a
common clock signal. (e.g., SPI, I2C)
UNIT-V: Evaluation of Microprocessor
This unit covers the evolution of microprocessors, focusing on the Intel family.
 Overview of Intel 8085 to Intel Pentium Processors:
o Intel 8085: An 8-bit microprocessor that was popular in the early
1980s.
o Intel 8086/8088: 16-bit microprocessors that introduced the x86
architecture.
o Intel 80286: A 16-bit microprocessor that introduced memory
protection.
o Intel 80386: A 32-bit microprocessor that introduced protected mode.

o Intel 80486: A 32-bit microprocessor that integrated a floating-point


unit (FPU) on the chip.
o Intel Pentium: A series of microprocessors that introduced
superscalar architecture and MMX technology.
 Basic Microprocessors, Architecture and Interface:
o Explains the fundamental architectural components of a
microprocessor, including the ALU, control unit, registers, and memory
interface.
 Internal Architecture:
o Details the internal organization and functional units of a
microprocessor, such as the instruction decoder, execution unit, and
cache memory.
 External Architecture:
o Covers the external interfaces and connections of a microprocessor,
including the address bus, data bus, and control signals.
 Memory and Input/Output Interface:
o Discusses how microprocessors interact with memory and input/output
devices, including addressing schemes, data transfer protocols, and
interrupt handling.
UNIT-VI: Assembly Language Programming
This unit teaches you how to write programs in assembly language.
 Assembly Language:
o Assembly Language: A low-level programming language that uses
symbolic instructions to represent machine code instructions.
o Assembler: A program that translates assembly language code into
machine code.
 Assembler:
o Assembler Directives: Instructions to the assembler that control the
assembly process (e.g., defining data segments, allocating memory).
o Assembler Stages: Typically involves two passes: the first pass to
build a symbol table and the second pass to generate machine code.
 Assembly Level Instructions:
o Instruction Set Architecture (ISA): The set of instructions that a
particular CPU can execute.
o Types of Instructions:

 Data Transfer Instructions: MOV, LOAD, STORE


 Arithmetic Instructions: ADD, SUB, MUL, DIV
 Logical Instructions: AND, OR, NOT, XOR
 Branch Instructions: JMP, JE, JNE, JG, JL
 Call/Return Instructions: CALL, RET
 Macro:
o Macro: A sequence of instructions that is given a name. When the
macro name is used in the program, the assembler replaces it with the
corresponding sequence of instructions.
 Use of Macros in I/O Instructions:
o Macros can be used to simplify I/O programming by encapsulating
common I/O operations.
 Program Loops:
o Looping Constructs: Using assembly language instructions to create
loops that repeat a sequence of instructions a specified number of
times.
 Programming Arithmetic and Logic Subroutines:
o Subroutines (Functions): Writing reusable blocks of code that
perform specific tasks.
o Parameter Passing: Passing data to subroutines using registers, the
stack, or memory.
o Return Values: Returning results from subroutines.

 Input-Output Programming:
o Interacting with I/O Devices: Using assembly language instructions
to read data from input devices and write data to output devices.
o Interrupt Handling: Writing interrupt handlers to respond to
interrupts from I/O devices.
Key Takeaways and General Tips:
 Start with the Basics: Make sure you have a solid understanding of the
fundamental concepts (number systems, logic gates, basic computer
organization) before moving on to more advanced topics.
 Use Diagrams: Draw diagrams to visualize how different components of the
computer interact.
 Practice Assembly Language: The best way to learn assembly language is
to write programs. Start with simple programs and gradually increase the
complexity.
 Think Step-by-Step: Break down complex operations into smaller, simpler
steps.
 Use Examples: Look for examples of how the concepts are applied in real-
world systems.
This breakdown provides a good foundation for understanding the topics in your
course. Remember to consult your textbook, lecture notes, and other resources for
more detailed information. Good luck!

You might also like