Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Computer Architecture: From Number Systems to Parallelism
Rating: 4.1 out of 5(13 ratings)
866 students

Computer Architecture: From Number Systems to Parallelism

Computer Organization and Architecture
Last updated 7/2025
English

What you'll learn

  • Number Systems and Logic Gates: Understand binary, decimal, octal, and hexadecimal systems, Explore logic gates (AND, OR, NOT, etc.), Perform binary arithmetic
  • Computer Architectures: Study functional units, bus structures, and assembly language, Investigate a case study (e.g., 8086 architecture).
  • Design of Arithmetic and Logic Units (ALUs): Apply De Morgan’s Theorem, Explore adders, multipliers (unsigned, signed), and IEEE 754 floating point operations.
  • Control Unit and Pipelining: Study the basic processing unit, instruction execution, and branch instructions, Learn about pipelining concepts.
  • Parallelism and Memory Systems: Explore the need for parallelism and multicore processors, Evaluate memory system performance.

Course content

5 sections27 lectures1h 44m total length
  • Introduction2:05

    Section Description:

    Welcome to the first step in your journey to understanding the inner workings of computers! This introductory section lays the essential groundwork for the entire course. We will begin by demystifying the core concepts of computer organization and architecture, exploring the fundamental components that make up a modern computer system. You will learn how we measure a computer's power through its capacity and speed and take a brief tour through the history of computing to appreciate how we arrived at today's technology.

    We will then dive into the language of computers: the binary world. This section provides a comprehensive overview of the number systems crucial to computing, including binary, octal, decimal, and hexadecimal. You'll master the art of converting between these systems and understand how computers represent not just numbers but all forms of data using various coding schemes like BCD, Gray Code, and ASCII. We'll also cover the essentials of binary arithmetic and error detection.

    Finally, we will get to the absolute foundation of all digital computation: logic gates. You will learn about the basic building blocks like AND, OR, and NOT, as well as universal gates, which can be used to build any digital circuit imaginable. By the end of this section, you will have a solid grasp of the fundamental principles upon which all complex computer systems are built.

  • Number System and Logic Gates: - Binary, Decimal, Octal, Hexadecimal1:13
  • Binary Arithmetic- Addition, Subtraction, Multiplication, Division1:45

    Binary Arithmetic: Addition, Subtraction, Multiplication, Division

    Binary arithmetic forms the foundation of all digital computation, enabling computers to process data using only 0s and 1s. Understanding these operations is essential for grasping how digital systems perform calculations at the most fundamental level.

    Overview of Binary Arithmetic Operations

    Binary arithmetic follows similar principles to decimal arithmetic but operates within the base‑2 number system. Each operation has specific rules and procedures due to the binary nature of the operands.

    OperationBasic RulesKey Characteristics

    Addition0+0=0, 0+1=1, 1+0=1, 1+1=10

    Generates carry when sum ≥ 2SubtractionDirect or complement methodsUses borrowing or complement arithmeticMultiplication0×0=0, 0×1=0, 1×0=0, 1×1=1Similar to decimal but simplerDivision0÷1=0, 1÷1=1, division by 0 is undefinedUses long division bit-wise

    1. Binary Addition

    Fundamental Rules

    ABSumCarry0000011010101101

    Extra rule: 1 + 1 + 1 = 1 (carry 1)

    Procedure

    1. Align numbers by place value.

    2. Start from the rightmost bit.

    3. Apply binary addition rules.

    4. Propagate carries to the left.

    5. Continue until all bits are processed.

    Examples

    Without Carry:

      101₂  (5)

    +  010₂ (2)

    --------

      111₂  (7)


    With Carry:

       1001₂ (9)

    +   0111₂ (7)

    -----------

      10000₂ (16)


    Multi-bit:


      10001₂

    + 11101₂

    ---------

    101110₂


    Fractional Binary Addition

    markdown

    CopyEdit  101.10₂

    +  011.01₂

    ------------

    1000.11₂


    2. Binary Subtraction

    Direct Method Rules

    • 0 − 0 = 0

    • 1 − 0 = 1

    • 1 − 1 = 0

    • 0 − 1 = 1 (with borrow)

    Example:

    markdown

    CopyEdit  10110₂ (22)

    − 10010₂ (18)

    -------------

        0100₂ (4)


    1’s Complement Method

    Steps:

    1. Flip bits of subtrahend.

    2. Add to minuend.

    3. If carry occurs, add it back (end-around carry).

    4. If no carry, complement result and mark it negative.

    Example:


    CopyEditMinuend:    110110₂ 

    Subtrahend: 100010₂ 

    1's Comp:   011101₂ 

    Sum:        110110 + 011101 = 1010011₂ 

    Add carry → Result: 010100₂ (20)


    2’s Complement Method

    Steps:

    1. Find 1’s complement + 1 (i.e., 2’s complement) of subtrahend.

    2. Add to minuend.

    3. Discard carry if any.

    Example:

    15₁₀ = 01111₂ 

    9₁₀  = 01001₂ 

    2's Comp of 9 = 10111₂ 

    Sum = 01111 + 10111 = 100110₂ 

    Result (ignore carry) = 00110₂ (6)


    3. Binary Multiplication

    Rules

    ABProduct000010100111

    Procedure

    1. Multiply each bit of multiplier with multiplicand.

    2. Shift each partial product to the left accordingly.

    3. Add all partial products.

    Examples

    Example 1:

       1010₂ (10)

    ×    101₂ (5)

    -------------

       1010

      0000

    + 1010

    -------------

    110010₂ (50)


    Example 2:

       1101₂ (13)

    ×    011₂ (3)

    -------------

       1101

    + 1101 (shifted)

    -------------

    100111₂ (39)


    Fractional Multiplication

    0.101₂ × 0.11₂ 

    Partial Products:

      101

    +1010 (shifted)

    -------------

    01111₂ → Result: 0.01111₂


    4. Binary Division

    Rules

    DividendDivisorQuotientRemainder0100111000Undefined–10Undefined–

    Procedure

    1. Compare divisor with bits of dividend from left.

    2. If fits, write 1 and subtract.

    3. Else write 0.

    4. Bring down next bit and repeat.

    Examples

    Example 1:

    11011₂ ÷ 11₂

         1001

       ------

    11)11011

       11

       ---

        001 (bring down 0)

        011 (bring down 1)

        011 (fits)

        ---

        000


    Quotient: 1001₂ (9)


    Example 2:

    110011₂ ÷ 11₂

         10001

       -------

    11)110011

       11

       ---

        000 (bring down bits)

        011

        ---

        000


    Quotient: 10001₂ (17), Remainder: 0


    Fractional Division


    CopyEdit110101.11₂ ÷ 10₂ 

    = 11010.111₂ (26.875)


    Sign‑Magnitude Arithmetic

    Sign-magnitude representation uses the MSB (Most Significant Bit) to indicate the sign.

    SignMagnitudeValue00110+610110–601001+911001–9

    Operations

    • Same sign: Add magnitudes, retain sign.

    • Different sign: Subtract smaller magnitude from larger; keep sign of larger.

    • Subtraction: Flip the sign of subtrahend and add.

    Example: (+6) + (–4)

    +6 = 0110 

    –4 = 1100 (sign bit 1, mag 0100) 

    Result: 0010 (+2)


    Pros & Cons

    • Easy sign detection

    • Two zeros: +0 and –0

    • More complex circuits for arithmetic

    Key Takeaways

    • Carry propagation in addition is essential.

    • Complement methods reduce subtraction logic.

    • Binary multiplication relies on shifting and adding.

    • Binary division mirrors long division with bit-by-bit steps.

    • Sign-magnitude is simple in concept but less efficient for computation.

  • 1’s compliment, 2’s compliment, BCD Arithmetic1:45
  • Logic Gates-AND, OR, NOT, NAND, NOR, EX-OR, EX-NOR.2:17
  • BCD adder10:49

Requirements

  • No prerequiste

Description

The Computer Organization and Architecture course  is a comprehensive exploration into the intricate workings of computers. It provides a deep dive into the fundamentals of computer hardware, memory operations, and addressing modes, offering students a solid foundation in understanding the internal structure of computers.

The course begins with an introduction to number systems, including binary, decimal, octal, and hexadecimal, and covers various codes such as Grey, BCD, Excess-3, ASCII, and Parity. It also delves into binary arithmetic, including addition, subtraction, multiplication, and division using Sign Magnitude, 1’s compliment, 2’s compliment, and BCD Arithmetic. The course also introduces students to logic gates, including AND, OR, NOT, NAND, NOR, EX-OR, and EX-NOR.

The course then moves on to the study of computer architectures, focusing on the functional units of a computer, operational concepts, bus structures, memory addresses and operations, assembly language, instructions, instruction sequencing, and addressing modes. It includes a case study on the 8086 architecture to provide practical insights.

The design and operation of the Arithmetic and Logic Unit (ALU) form a significant part of the course. Students learn about De Morgan’s Theorem, adders, multipliers, division, and IEEE 754 Floating point numbers and operations. The course also covers the basic processing unit, ALU operations, instruction execution, branch instruction, multiple bus organization, hardwired control, generation of control signals, micro-programmed control, and the basic concepts of pipelining.

The course explores the need for parallelism, the architecture of parallel systems, and Flynn’s classification. It also introduces students to the ARM Processor, its instruction set, processor and CPU cores, instruction encoding format, memory load and store instruction, and the basics of I/O operations. Case studies on ARM 5 and ARM 7 Architecture are included to provide practical insights.

By the end of the course, students will have a thorough understanding of computer organization and architecture, enabling them to identify computer hardware, apply Boolean algebra in designing computer logic, examine the operation of basic processing units, analyze concepts of parallelism and multi-core processors, and classify memory technologies and input-output systems. This course equips students with the knowledge and skills necessary to excel in the field of computer science and engineering.

Who this course is for:

  • Students and Enthusiasts