๐ Microprocessor and Computer Architecture BCA 152 | Semester II
๐ Course Description
This course is designed to familiarize the fundamental knowledge about computer architecture, instruction cycle, components of microprocessor, Intel 8085 and assembly programming.
๐ฏ Course Objectives
- Understand the basic components of a microprocessor
- Explain the block diagram of Intel 8085
- Demonstrate assembly language programming using Intel 8085
- Interpret timing diagrams, instruction cycles, and machine cycles
- Explain the role of the control unit and central processing unit (CPU)
- Differentiate between RISC and CISC architectures
- Describe the concept of Direct Memory Access (DMA)
- Explain memory organization and operations
- Understand the concept of pipelining in processors
- Describe microprogramming and microinstructions
- Perform computer arithmetic operations such as multiplication and division
๐ Detailed Syllabus
Unit 1: Introduction to Microprocessor
3 Hours
- Definition of Microprocessor
- Components: Registers, ALU, Control and Timing, System Buses (Address, Data, Control)
- Microprocessor System with Bus Organization
- Application of Microprocessor
Unit 2: 8085 Microprocessor
12 Hours
- Functional Block Diagram, Pin Configuration
- Description of each Block: Registers, Flag (description of each flag)
- Multiplex Address data bus (AD0-AD7), Timing and Control Unit
- Interrupts (Introduction Only), Addressing Modes
- Instruction cycle, Machine cycle (Opcode fetch, memory read, memory write) and T states
- Timing diagram of MOV, LDA, STA, MVI
- 8085 Instruction Set:
- Data Transfer: MOV, MVI, STA, LDA, LXI, LDAX, STAX, XCHG
- Arithmetic: ADD, ADI, ADC, SUB, SUI, SBB, INR, DCR, INX, DCX
- Logic: ANA, ANI, ORA, ORI, XRA, XRI, CMA, CMB
- Branching: JMP, JNZ, JZ, JNC, JC
- Basic Assembly Language Programming using 8085: Addition (8 and 16 bit), Subtraction (8 and 16 bit), Multiplication (8 bit) and Division (8 bit), Simple Sequence Program, Array Searching using branching and looping
Unit 3: 8086 Microprocessor
4 Hours
- Logical block diagram and components
- Bus Interface Unit and Execution Unit, flag
- Pipeline concept, Memory Segmentation
- Segmentation register
Unit 4: Basic Computer Architecture and Design
6 Hours
- Stored Program Organization, Computer Registers
- Common bus system, Instruction set, Timing and Control – Instruction Cycle
- Micro-Operation
- Arithmetic Micro Operations: Addition, Subtraction, Increment, Decrement
- Logic Micro Operations: AND, OR, NOT, NAND, NOR, XOR
- Shift Micro Operations: Logical, Circular and Arithmetic
Unit 5: Microprogrammed Control Unit
5 Hours
- Hardwired vs Microprogrammed Control Unit
- Control Memory, Address Sequencing
- Micro-operation, Micro instruction
- Micro Instruction Format
- Micro-program: Symbolic and Binary Micro-program (FETCH)
Unit 6: Central Processing Unit
6 Hours
- Introduction, General Register Organization
- Stack Organization
- RISC and CISC architecture
Unit 7: Computer Arithmetic
3 Hours
- Addition and Subtraction with signed magnitude data
- Addition and Subtraction with signed 2’s complement data
- Booth Multiplication Algorithm
Unit 8: Input/Output Organization and Memory Organization
5 Hours
- Introduction to Peripheral Devices, I/O interface – I/O bus and Interface Modules
- Isolated versus Memory Mapped I/O, Interrupt
- Direct Memory Access (DMA): Introduction, Basic DMA Procedures (DMA controller only)
- Hierarchy of Memory System
- Primary Memory: RAM and ROM, Memory Address Map with examples of Address Decoding
- Secondary Memory: Structure of Magnetic Disk
- Cache Memory
Unit 9: Pipelining
4 Hours
- Concept of Pipelining and Flynn’s Classification
- Pipelining Example with Speed Up Ratio
- Arithmetic Pipeline, Pipeline for Floating-point Addition and Subtraction
- Instruction Pipeline: Four Segment Instruction Pipeline
- Data Dependency, Handling of Branch Instruction
- Pipeline hazard and its solution
๐ฌ Laboratory Work (48 Hours)
Platforms: 8085 Microprocessor Trainer Kit + Software-based 8085 Simulators
Assembly programs using 8085 trainer kit and simulators
Demonstrate all instruction types and addressing modes
8-bit and 16-bit addition and subtraction
8-bit multiplication and division
Logical operations and bitwise manipulation
Loops and branching techniques (array searching)
Simple sequence programs with conditional jumps
Implement computer arithmetic algorithms using high-level language (C/Python)
๐ Practical focus: Hands-on assembly programming, timing diagram analysis, and simulator-based debugging.
๐ Required Readings & References
- Gaonkar, R. S. โ Microprocessor Architecture, Programming, and Applications with the 8085, Prentice-Hall
- Hall, D. V. โ Microprocessors and Interfacing: Programming and Hardware, McGraw-Hill
- Mano, M. M. โ Computer System Architecture, Prentice-Hall
๐ก Note: Students are expected to write and execute assembly language programs using both hardware trainer kits and simulators. Emphasis on understanding instruction cycles, timing diagrams, and real-world interfacing concepts.