আমরা আমাদের সামনে দুই ধরনের Computer দেখতে পাই:
Fixed Program Computers – যে সমস্ত কম্পিউটার কে নতুন ভাবে প্রোগ্রাম করা যায় না। এই ধরনের কম্পিউটার শুধু কিছু নির্দিষ্ট ধরনের কাজই কেবল করতে পারে। যেমন – Calculators , digital watch ইত্যাদি।
Stored Program Computers – এই ধরনের কম্পিউটার কোন application বা প্রোগ্রাম কে store করে রাখতে পারে এবং এই application এর ওপর ভিত্তি করে নানান ধরনের কাজ করতে পারে।
এখন আমরা যে সমস্ত কম্পিউটার ব্যবহার করি তা stored-program concept এর ওপর ভিত্তি করে কাজ করে। এই stored-program concept এর জনক হলেন mathematician এবং early computer scientist, John Von Neumann। যাতে কম্পিউটার কে সহজে নতুন ভাবে প্রোগ্রাম করে বিভিন্ন ধরনের কাজ করান যায় , তা মাথায় রেখেই এই architecture এর উতভাবন। এই stored-program concept এ programs এবং data, separate storage unit বা memories তে store করা হয়। CPU সেই instruction এবং data প্রয়োজন মতন memory থেকে একের পর এক নিয়ে কাজ করে।
সুতরাং এই সব কম্পিউটার এ instruction, sequentially execute হয় যা খুব slow process। এই কারনে এই ধরনের কম্পিউটার গুলিকে control flow computer ও বলা হয়। speed বাড়ানর জন্য computer এ parallel processing ব্যবহার করা হয়। যেখানে কতগুলি serial CPU কে parallel ভাবে connect করা হয়। কিন্তু parallel computer হওয়া সত্ত্যেও basic building block গুলি Neumann processors থাকে।
Von Neumann basic structure

এই ধরনের computer এর তিনটি basic unit থাকে:
এবার এই unit গুলি সম্পর্কে বিস্তারিত জানা যাক।
- Control Unit – control unit (CU), processor এর control signal এর ওপর ভিত্তি করে সব input এবং output flow কে direct করে , system এর মধ্যে data কি ভাবে move করবে তা নিরধারন করে।
- Arithmetic and Logic Unit বা ALU – arithmetic logic unit , CPUর ই একটি অংশ যা CPU র সব calculation করে। যেমন – Addition, Subtraction, Comparisons ইত্যাদি । এবং Logical Operations, Bit Shifting Operations, এবং Arithmetic Operation.

- Main Memory Unit (Registers) –
- Accumulator: arithmetic logic unit এর calculation হয়ে জাওয়ার পর results গুলি এখানে জমা হয়।
- Program Counter (PC): CPU কে সম্পন্ন করতে হবে এমন পরবর্তী instruction এর memory location ধরে রাখে এবং Memory Address Register (MAR) কে সেই address টি সরবরাহ করে।
- Memory Address Register (MAR): এক এর পর এক যে সমস্ত instruction cpu তে execute হবে তাদের store করা এর কাজ।
- Memory Data Register (MDR): Memory থেকে আসা instruction বা data কে খুব সংক্ষিপ্ত সময়ের জন্য store করে।
- Current Instruction Register (CIR): Memory থেকে আসা instruction, execute হবার আগে এখানে store হয়।
- Instruction Buffer Register (IBR): যে সমস্ত instruction কে immediately execute করা হবে না, সেগুলি instruction buffer register বা IBRএ সঞ্ছিত হয়।
- Input/Output Devices – Input Devices এর মাধ্যমে secondary storage বা অন্য data source থেকে Program ও data, main memory তে আসে। Output devices এর মাধ্যমে result অন্যত্র (storege) যায়, কখন কখন আবার এই result , CPUএর কাছে ফিরে আছে অন্য কাজ সম্পন্ন করার জন্য।
- Buses – Data, computer এর এক জায়গা থেকে অন্য জায়গায় যায় Busএর মাধ্যমে। এই Bus এর সাহায্যে computer এর major internal components, CPU এবং memoryর সাথে যুক্ত থাকে। Bus এর Types:
- Data Bus: Data Bus এর মাধ্যমে data, memory unit, I/O device, এবং processor ইত্যাদি অংশে সঞ্ছালিত হয়।
- Address Bus: এই ধরনের Bus কোন Data পরিবহন করে না, কিন্তু Data সংক্রান্ত address (Data কথায় আছে), memory এবং processor এর মধ্যে পরিবহন করে।
- Control Bus: CPU এর সব control command এই Control Bus এর মাধ্যমে পরিবাহিত হয়।
Von Neumann bottleneck কি?
কম্পিউটার এর performance বাড়ানোর জন্য আমরা যাই করিনা কেন, কম্পিউটার একবারে একটি মাত্র instruction এর ওপর কাজ করতে পারে এবং এই instruction গুলি একের পর এক sequentially কার্যকরী হয়। এই কারন গুলির জন্য CPUর কাজ করার ক্ষমতা সীমা বদ্ধ হয়ে যায়। এই ঘটনা কেই ‘Von Neumann bottleneck’ বলা হয়।