TU BCA Computer Fundamentals & Applications (CFA) Master Guide: Von Neumann Architecture & Number Conversions
Author: Bhuban Subedi | Subject: Computer Fundamentals and Applications (CACS101) | Semester: First Semester
For every incoming Tribhuvan University BCA scholar, Computer Fundamentals and Applications (CACS101) lays the conceptual hardware and software foundation of computer science. It establishes the principles of digital data representation, CPU micro-architecture, memory hierarchy tiers, and operating system mechanisms.
In the final 60-mark TU board examination, Group B and Group C consistently feature questions on the Von Neumann Architecture vs. Harvard Architecture, Step-by-step Number Base Conversions (Binary, Octal, Hexadecimal, 2’s Complement), and the Computer Memory Hierarchy.
In this guide, I will break down these core computing fundamentals with clear diagrams and solved conversions.
1. Von Neumann Architecture vs. Harvard Architecture
In 1945, mathematician John von Neumann proposed the Stored-Program Computer Architecture, which remains the standard design of modern general-purpose microprocessors.
+-------------------------------------------------------------------------------+
| VON NEUMANN COMPUTER ARCHITECTURE |
| |
| +-------------------------------+ |
| | CENTRAL PROCESSING UNIT | |
| | +-------------------------+ | |
| | | Arithmetic Logic (ALU) | | |
| | +-------------------------+ | |
| | | Control Unit (CU) | | |
| | +-------------------------+ | |
| | | Registers (PC, MAR, MDR)| | |
| | +-------------------------+ | |
| +---------------+---------------+ |
| │ Shared Bus |
| ▼ |
| +-------------------------------+ |
| | UNIFIED MAIN MEMORY | |
| | [Program Code + Data Memory] | |
| +-------------------------------+ |
+-------------------------------------------------------------------------------+
+-------------------+-----------------------------------+-----------------------------------+
| Parameter | Von Neumann Architecture | Harvard Architecture |
+-------------------+-----------------------------------+-----------------------------------+
| **Memory Bus** | Single shared memory and bus for | Physically separate memories and |
| | both program instructions & data. | buses for instructions and data. |
+-------------------+-----------------------------------+-----------------------------------+
| **Speed** | Suffers from *Von Neumann Bottleneck*| Faster; simultaneous instruction |
| | (cannot fetch data & code at once)| fetch and data read/write cycles. |
+-------------------+-----------------------------------+-----------------------------------+
| **Application** | General-purpose PCs & Servers. | Digital Signal Processors (DSP), |
| | | Microcontrollers (AVR, PIC, ARM). |
+-------------------+-----------------------------------+-----------------------------------+
2. Number Systems: Solved Base Conversions
Problem 1: Convert Decimal $(156.625)_{10}$ to Binary
Step 1: Convert Integer Part $(156)_{10}$ via Successive Division by 2:
– $156 \div 2 = 78 \quad \text{Rem } 0 \quad \uparrow$
– $78 \div 2 = 39 \quad \text{Rem } 0$
– $39 \div 2 = 19 \quad \text{Rem } 1$
– $19 \div 2 = 9 \quad \text{Rem } 1$
– $9 \div 2 = 4 \quad \text{Rem } 1$
– $4 \div 2 = 2 \quad \text{Rem } 0$
– $2 \div 2 = 1 \quad \text{Rem } 0$
– $1 \div 2 = 0 \quad \text{Rem } 1 \quad \text{(MSB)}$
– Reading from bottom to top: $(156)_{10} = \mathbf{(10011100)_2}$
Step 2: Convert Fractional Part $(0.625)_{10}$ via Successive Multiplication by 2:
– $0.625 \times 2 = \mathbf{1}.250 \implies \text{Carry } 1 \quad \downarrow$
– $0.250 \times 2 = \mathbf{0}.500 \implies \text{Carry } 0$
– $0.500 \times 2 = \mathbf{1}.000 \implies \text{Carry } 1 \quad \text{(Terminated)}$
– Reading from top to bottom: $(0.625)_{10} = \mathbf{(0.101)_2}$
Combined Result: $(156.625)_{10} = \mathbf{(10011100.101)_2}$
Problem 2: 2’s Complement Subtraction $(25 – 14)$
Find $(25 – 14)$ in 8-bit 2’s complement binary:
1. Binary of $+25 = (00011001)_2$
2. Binary of $+14 = (00001110)_2$
3. Find 1’s Complement of $+14 = (11110001)_2$
4. Add 1 to get 2’s Complement ($-14$):
$$11110001 + 1 = (11110010)_2$$
5. Add $+25$ and $-14$:
$$\begin{aligned}
&\phantom{+} 00011001 \quad (+25) \
&+ 11110010 \quad (-14) \
\hline
&\mathbf{1} \; 00001011
\end{aligned}$$
6. Since there is an end-around carry of 1, discard the carry.
7. The remaining bits are $(00001011)_2 = 8 + 2 + 1 = \mathbf{+11}$.
3. Computer Memory Hierarchy
+-----------------------------------+
| CPU REGISTERS (< 1 KB) | Fastest Access (< 1 ns)
| (Inside CPU core) | Highest Cost / Bit
+-----------------+-----------------+
|
+-----------------+-----------------+
| CACHE MEMORY L1 / L2 / L3 | SRAM Technology
| (2 MB - 64 MB) | Access: 2 - 10 ns
+-----------------+-----------------+
|
+-----------------+-----------------+
| MAIN MEMORY (DRAM RAM) | Volatile
| (8 GB - 64 GB) | Access: 50 - 100 ns
+-----------------+-----------------+
|
+-----------------+-----------------+
| SECONDARY STORAGE (SSD / NVMe) | Non-Volatile
| (512 GB - 4 TB) | Access: 50 - 100 \mu s
+-----------------------------------+
Frequently Asked Questions (FAQ)
Q1: What is the difference between System Software and Application Software?
System Software (e.g., Operating Systems, Device Drivers, Compilers) manages computer hardware resources and provides a platform for running programs. Application Software (e.g., MS Word, Web Browsers, Tally) performs specific end-user tasks.
Q2: What is the Von Neumann Bottleneck?
The Von Neumann Bottleneck is the throughput limitation caused by the shared single data/instruction bus connecting the fast CPU to the slower main memory, limiting maximum processing speeds.



