Digital Computer Organization - Course Pack
Digital Computer Organization - Course Pack
SCHEME
The scheme is an overview of work-integrated learning opportunities and gets students out into
the real world. This will give what a course entails.
Practical
Tutorial
- -
Theory
delivery
study
Self-
SEE
Practical
CIE
- -
Self-study - -
Total 3 3 100 50% 50%
Course Lead Prof. Uday Kumar Singh Course Prof. Mukesh Mishra
Coordinator:
Names Theory Practical
Course Prof. Uday Kumar Singh NA
Instructors Prof. Maneesh Upadhyay
Prof. Mukesh Mishra
COURSE OVERVIEW
Computer Organization and Architecture course is designed to disseminate the knowledge of
Computer Organization and Architecture. It will comprehensively cover bus organization, stack
organization, register organization, addressing modes, look ahead carry adder, multiplication and
division algorithms, array multiplier, pipelining, Memory management, Input/output interface,
direct memory access, synchronous and asynchronous communication.
PREREQUISITE COURSE
COURSEPACK | FORMAT
COURSE OBJECTIVE
To understand the state-of-the-art design of computer architectures in terms of micro-operations,
micro-programmed control unit, memory and I/O organization of a typical computer system.
To analyze the system performance.
To apply the knowledge on designing hardware of the computers.
To learn & use the new technologies in computers
CO E1PA102T.1 Explain bus architecture of a computer and the function of the instruction
execution cycle, RTL interpretation of instructions, addressing modes,
instruction set, control unit
CO E1PA102T.2 Apply various arithmetic operations on fixed point representation of binary
numbers and design the ALU.
CO E1PA102T.3
Design a memory module and analyze its operation by interfacing with the CPU
and understand the different ways of communicating with I/O devices
COURSEPACK | FORMAT
BLOOM’S LEVEL OF THE COURSE OUTCOMES
Bloom's taxonomy is a set of hierarchical models used for the classification of educational learning objectives
into levels of complexity and specificity. The learning domains are cognitive, affective, and psychomotor.
THEORY
PO2: Problem Analysis: Identify, formulate, research literature, and solve complex computing problems reaching
substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain
disciplines.
PO3: Design /Development of Solutions: Design and evaluate solutions for complex computing problems, and
design and evaluate systems, components, or processes that meet specified needs with appropriate consideration for
public health and safety, cultural, societal, and environmental considerations.
PO4: Conduct investigations of complex Computing problems: Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid
conclusions.
PO5: Modern Tool Usage: Create, select, adapt and apply appropriate techniques, resources, and modern computing
tools to complex computing activities, with an understanding of the limitations.
PO6: Professional Ethics: Understand and commit to professional ethics and cyber regulations, responsibilities, and
norms of professional computing practices.
PO7: Life-long Learning: Recognize the need, and have the ability, to engage in independent learning for continual
development as a computing professional.
PO8: Project management and finance: Demonstrate knowledge and understanding of the computing and
management principles and apply these to one’s own work, as a member and leader in a team, to manage projects
and in multidisciplinary environments.
COURSEPACK | FORMAT
PO9: Communication Efficacy: Communicate effectively with the computing community, and with society at large,
about complex computing activities by being able to comprehend and write effective reports, design documentation,
make effective presentations, and give and understand clear instructions.
PO10: Societal and Environmental Concern: Understand and assess societal, environmental, health, safety, legal, and
cultural issues within local and global contexts, and the consequential responsibilities relevant to professional
computing practices.
PO11: Individual and Team Work: Function effectively as an individual and as a member or leader in diverse teams
and in multidisciplinary environments.
PO12: Innovation and Entrepreneurship: Identify a timely opportunity and using innovation to pursue that
opportunity to create value and wealth for the betterment of the individual and society at large.
COs/
PSO1
PSO2
PO10
PO11
PO12
PO1
PO2
PO3
PO4
PO5
PO6
PO7
PO8
PO9
POs
2 1
E1PA102T.1 2 2 1
2 1
1 2
E1PA102T.2 2 2- 2
1 2
2
E1PA102T.3 2 2 2
1 2 2 1
COURSEPACK | FORMAT
COURSE ASSESSMENT
The course assessment patterns are the assessment tools used both informative and summative examinations.
COURSEPACK | FORMAT
COURSE CONTENTTHEORY
Content
Computing Fundamentals:Logic Gates, Boolean Algebra, K-Maps, Maps Simplification, Combinational circuit
Design – Half adder, full adders, Decoders, Encoder, Flip-Flops, Registers, shift registers, Types of Registers,
Register Transfer and Micro operations, instruction codes and formats.
Basic Computer Organization and Arithmetic: Functional units of digital system and their interconnections,
buses, common bus system, bus architecture, types of buses and bus arbitration. Register, bus and memory transfer.
Processor organization: general registers organization, stack organization and addressing modes, Arithmetic
Operations: Addition and Subtraction, Multiplication, Booth’s algorithm and array multiplier
Control Unit: Instruction types, formats, instruction cycles and sub cycles (fetch and execute etc), micro-operations,
execution of a complete instruction. Introduction to Assembly Language, Program Control, Reduced Instruction Set
Computer, Pipelining, Parallel Processing, Hardwired and Microprogrammed control unit.
Input / Output: Peripheral devices, I/O interface, I/O ports, Interrupts: interrupt hardware, types of interrupts and
exceptions. Modes of Data Transfer: Programmed I/O, interrupt initiated I/O and Direct Memory Access.. Serial
Communication: Synchronous & asynchronous communication.
Memory:Basic concept and hierarchy, semiconductor RAM memories, 2D & 2 1/2D memory organization. ROM
memories. Cache memories: concept, design issues & performance, address mapping and replacement Auxiliary
memories: magnetic disk, magnetic tape and optical disks Virtual memory: concept implementation.
COURSEPACK | FORMAT
6 L Types of Registers, Register Transfer and system bus.
Micro operation
11 L
To know about the
bus and memory transfer. Processor organization:
addition, subtraction,
general registers organization
multiplication,
12 L Register, bus and memory transfer
division operations
13 L Processor organization: general registers and also know about
organization, stack organization and addressing the representation of
modes floating-point
14 L Arithmetic Operations: Addition and numbers.
Subtraction,
15 L Booth’s algorithm and array multiplier And to understand
about stack
16 L Bus architecture organization and
Addressing Modes
COURSEPACK | FORMAT
30 L Direct Memory Access
31 L Serial Communication: Synchronous &
asynchronous communication
32 L Memory: Basic concept and hierarchy,
semiconductor RAM memories.
COURSEPACK | FORMAT
BIBLIOGRAPHY
TextBook
SWAYAM/NPTEL/MOOCs Certification
https://www.coursera.org/learn/comparch
https://nptel.ac.in/courses/106105163
https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/
COURSEPACK | FORMAT
PROBLEM-BASED LEARNING
COURSEPACK | FORMAT
processing tasks, considering issues like thread synchronization and cache coherence
25. Create a memory hierarchy design for a computer system, specifying the size and 3
organization of cache levels, main memory, and secondary storage, and justify your design
choices.
26. Develop a pipeline diagram for a simplified CPU architecture and illustrate how different 3
stages of the pipeline process instructions
27. Design a memory management scheme for a virtual memory system, including page 3
replacement policies and address translation mechanisms, and simulate its performance for
various workloads.
28. Given a set of performance metrics and constraints, select and configure appropriate cache 3
replacement policies for a specific microprocessor design.
29. Propose a customized instruction set extension for a general-purpose CPU to accelerate a 3
particular type of computation, such as floating-point operations or encryption algorithms.
30. Develop a pipelined processor design for a specific set of instructions and pipeline stages, 3
and calculate the speedup achieved compared to a non-pipelined processor.
31. Create a detailed plan for upgrading an existing computer system, specifying the 3
components to be upgraded, the expected performance improvements, and the associated
costs.
32. Configure a computer system with a memory hierarchy to meet specific real-world 3
application requirements, such as real-time gaming or scientific simulations, and optimize
the design for performance.
33. Examine the differences in instruction-level parallelism (ILP) between superscalar and 4
VLIW processor architectures.
34. Compare the trade-offs between using static RAM (SRAM) and dynamic RAM (DRAM) 4
in computer memory subsystems.
35. Investigate the impact of branch prediction strategies on CPU performance and discuss 4
their relevance
36. Evaluate the role of cache memory in enhancing the performance of a computer system, 4
and discuss the trade-offs involved in cache design, such as size vs. associativity.
37. Evaluate the impact of pipelining hazards (e.g., data hazards, control hazards) on the 4
performance of a pipelined processor, and propose solutions to mitigate these hazards
38. Analyze the trade-offs between using a single-core CPU with high clock speed and a 4
multi-core CPU with lower clock speed in terms of power consumption and performance
for a given workload.
39. Investigate the impact of memory hierarchy design choices (e.g., inclusion/exclusion 4
policies, write policies) on cache coherence and memory consistency in multiprocessor
systems.
40. Evaluate the performance and energy efficiency trade-offs of using different memory 4
technologies (e.g., DRAM, SRAM, NVRAM) in computer memory subsystems
41. Analyze the design principles behind instruction set architectures (ISAs) and discuss how 4
different ISAs influence the development of compilers and software for a specific
architecture.
42. Compare and contrast the memory consistency models used in shared-memory 4
multiprocessor systems, and explain the implications of choosing one model over another
43. Analyze the advantages and disadvantages of different interconnection topologies (e.g., 4
bus, crossbar, mesh) in multiprocessor systems, considering scalability and fault tolerance
44. Develop a branch prediction algorithm for a processor, analyze its performance using 4
benchmark programs, and fine-tune the algorithm to improve accuracy
45. Design a custom instruction scheduling algorithm for a superscalar processor to optimize 4
the execution of a specific set of instructions.
COURSEPACK | FORMAT