4. Computer Organization and Embedded System (ACtE04)
Computer Engineering - Nec (Nepal Engineering Council)
Chapters
- 1. Concept of Basic Electrical and Electronics Engineering
- 2. Digital Logic and Microprocessor (AExE02)
- 3. Programming Language and Its Applications
- 4. Computer Organization and Embedded System (ACtE04)
- 5. Concept of Computer Network and Network Security System (ACtE05)
- 6. Theory of Computation and Computer Graphics (ACtE06)
- 7. Data Structures and Algorithm, Database System, and Operating System (ACtE07)
- 8. Software Engineering and Information System (ACtE08)
- 9. Artificial Intelligence, Data Science, and Internet of Things (ACtE09)
- 10. Project Management and Innovation (ACtE10)
4. Computer Organization and Embedded System (ACtE04)
4.1 Control and Central Processing Units (CPU) (ACtE0401)
Control Memory and Addressing Sequencing
- Control Memory: Stores microinstructions used by the control unit.
- Addressing Sequencing: Determines how instructions are fetched and executed in sequence.
Computer Configuration and CPU Structure
- Components:
- Control Unit (CU): Directs data flow.
- Arithmetic Logic Unit (ALU): Performs calculations.
- Registers: Temporary storage locations.
- Bus System: Transfers data.
Microinstruction Format & Control Unit Design
- Microinstructions: Instructions stored in control memory.
- Control Unit Types:
- Hardwired Control: Uses fixed logic circuits.
- Microprogrammed Control: Uses control memory for instruction execution.
Arithmetic and Logic Unit (ALU)
- Performs:
- Arithmetic operations: Addition, subtraction, multiplication, division.
- Logical operations: AND, OR, NOT, XOR.
Instruction Formats and Addressing Modes
- Instruction Formats: Define how an instruction is structured (Opcode + Operands).
- Addressing Modes:
- Immediate: Operand is part of instruction.
- Direct: Address of operand is in instruction.
- Indirect: Instruction contains a pointer to the address.
RISC and CISC Architectures
- RISC (Reduced Instruction Set Computing):
- Fewer, simpler instructions.
- High-speed execution.
- CISC (Complex Instruction Set Computing):
- More complex instructions.
- Uses microprogramming.
Pipelining and Parallel Processing
- Pipelining: Execution of multiple instructions in parallel stages.
- Parallel Processing: Use of multiple processors to speed up execution.
4.2 Computer Arithmetic and Memory System (ACtE0402)
Arithmetic and Logical Operations
- Binary Addition/Subtraction
- Multiplication (Booth’s Algorithm)
- Division (Restoring & Non-Restoring)
Memory Hierarchy
- Registers → Cache → RAM → Hard Drive
Internal and External Memory
- Internal Memory: Cache, RAM.
- External Memory: Hard Disk, SSD, USB.
Cache Memory Principles
- Purpose: Stores frequently accessed data for faster access.
- Elements of Cache Design:
- Cache Size: Determines speed.
- Mapping Functions: Direct, Associative, Set-Associative.
- Replacement Algorithm: FIFO, LRU, Random.
- Write Policy: Write-through, Write-back.
Memory Write Ability and Storage Permanence
- Volatile Memory: RAM (data lost when power is off).
- Non-Volatile Memory: Hard Drive, SSD, Flash Memory.
4.3 Input-Output Organization and Multiprocessor (ACtE0403)
Peripheral Devices and I/O Modules
- Peripheral Devices: Keyboard, Mouse, Printer, Storage.
- I/O Modules: Interface between CPU and peripherals.
I/O Interface and Modes of Transfer
- Programmed I/O: CPU manually checks for data transfer.
- Interrupt-Driven I/O: CPU is interrupted when I/O is ready.
- Direct Memory Access (DMA): Data transfers directly without CPU intervention.
Multiprocessors
- Characteristics: Multiple CPUs working together.
- Interconnection Structures: Shared memory, Bus-based, Point-to-Point.
- Inter-Processor Communication & Synchronization: Message passing, Shared memory.
4.4 Hardware-Software Design Issues on Embedded Systems (ACtE0404)
Overview of Embedded Systems
- Definition: A dedicated computing system for specific tasks.
- Examples: Washing machines, ATMs, Smart TVs.
Classification of Embedded Systems
- Real-time: Used in time-sensitive applications.
- Stand-alone: Independent systems.
- Networked: Connected via networks.
Custom Single-Purpose Processor Design
- Optimized for specific tasks.
- Example: Signal processing chips, Car engine controllers.
Basic Architecture and Programmer’s View
- Architecture Components: CPU, Memory, I/O, Timers.
- Programmer’s View: Registers, Memory access, Instruction Set.
Application-Specific Instruction-Set Processors (ASIP)
- Customized instruction sets for specific applications.
- Example: DSP Processors, Image Processing Units.
4.5 Real-Time Operating and Control Systems (ACtE0405)
Operating System Basics
- Types of OS:
- Batch OS: Jobs executed in batches.
- Multitasking OS: Runs multiple processes.
- Real-Time OS (RTOS): Time-sensitive operations.
Task, Process, and Threads
- Task: Basic unit of work.
- Process: Independent execution unit.
- Thread: Smallest executable unit within a process.
Multiprocessing and Multitasking
- Multiprocessing: Multiple CPUs working together.
- Multitasking: Running multiple tasks simultaneously.
Task Scheduling and Synchronization
- Task Scheduling: Determines execution order of tasks.
- Preemptive Scheduling
- Non-Preemptive Scheduling
- Synchronization: Prevents data conflicts (Mutex, Semaphore).
Device Drivers
- Software that enables hardware communication.
Control Systems
- Open-Loop: No feedback (e.g., Microwave timer).
- Closed-Loop: Uses feedback (e.g., Air Conditioner).
4.6 Hardware Description Language (HDL) and IC Technology (ACtE0406)
VHDL Overview
- VHDL (Very High-Speed Integrated Circuit Hardware Description Language) is used to model digital circuits.
Data Representation Using VHDL
- Binary, Octal, Hexadecimal formats.
- Bitwise operations (AND, OR, XOR).
Design of Combinational and Sequential Logic Using VHDL
- Combinational Circuits: Logic gates, MUX, DEMUX.
- Sequential Circuits: Flip-Flops, Counters.
Pipelining Using VHDL
- Used to improve performance by executing multiple instructions simultaneously.
- Example: Processor instruction pipelining.