1 पॉइंट द्वारा GN⁺ 2024-09-21 | 2 टिप्पणियां | WhatsApp पर शेयर करें

शुरुआत

  • 2012 में 8-बिट माइक्रोकंट्रोलर (AVR) पर Linux चलाकर सबसे कम स्पेसिफिकेशन वाली मशीन पर Linux चलाने का विश्व रिकॉर्ड बनाया गया
  • 2023 में AVR से भी कम स्पेसिफिकेशन वाले MOS 6510 पर Linux बूट करने वाला प्रोजेक्ट सामने आया
  • Intel 4004 दुनिया का पहला व्यावसायिक माइक्रोप्रोसेसर था, और 4-बिट चिप पर सबसे कम स्पेसिफिकेशन का नया मानक स्थापित करने के लिए यह प्रोजेक्ट शुरू किया गया

4004

  • 4004 4-बिट इकाइयों में काम करता है और मुख्यतः कैलकुलेटर के लिए विकसित किया गया था
  • इसमें logic operations नहीं हैं, और मुख्य रूप से केवल ADD और SUB instructions मौजूद हैं
  • carry flag का उपयोग करने वाला इसका ऑपरेशन तरीका अनोखा है
  • इसमें 16 4-बिट registers, 12-बिट program counter, और 4-स्तरीय hardware stack है
  • इसके लिए न्यूनतम clock speed आवश्यक है, और interrupt support नहीं है
  • कुछ instructions ऐसे हैं जो memory operations सीधे कर सकते हैं

नियंत्रण प्रवाह

  • hardware stack का उपयोग करके subroutine call और return किए जाते हैं
  • conditional jump instructions मौजूद हैं, और TEST pin के जरिए बाहरी events का पता लगाया जा सकता है
  • 4096 bytes के code space को मैनेज करने के लिए code page concept का उपयोग किया जाता है

मेमोरी और I/O

  • 4004 memory instructions को सीधे प्रोसेस नहीं करता; यह काम memory chip करती है
  • यह अधिकतम 8 RAM banks को support करता है, और हर bank 4 4002 chips से बना होता है
  • 4001 में 256 bytes ROM और 4-बिट I/O port शामिल है
  • 4265 एक सामान्य I/O device है, जिसमें 4 4-बिट I/O ports होते हैं

4008, 4009, 4289

  • 4008 और 4009 को सामान्य memory chips के साथ interface करने के लिए डिज़ाइन किया गया था
  • 4289 एक ऐसा chip है जो 4008 और 4009 को जोड़ता है, और 5V signal levels पर communication कर सकता है

मेमोरी उपयोग और state nibble

  • memory bank चुनने के लिए DCL instruction का उपयोग किया जाता है
  • हर RAM bank 4 4002 chips से बना होता है, और हर chip में 16 addressable nibbles और 4 state nibbles होते हैं

GN⁺ का सारांश

  • यह प्रोजेक्ट Intel 4004 जैसे शुरुआती माइक्रोप्रोसेसरों के काम करने के तरीके को समझने में बहुत मददगार है
  • यह दिखाता है कि 4004 के अनोखे डिज़ाइन और सीमित features को कैसे पार किया जा सकता है
  • यह आधुनिक माइक्रोकंट्रोलरों की तुलना में शुरुआती माइक्रोप्रोसेसरों की सीमाओं को अनुभव करने का अवसर देता है
  • इसी तरह का एक प्रोजेक्ट MOS 6510 पर Linux बूट करने वाला प्रोजेक्ट है

2 टिप्पणियां

 
y15un 2024-09-21

लगता है मूल पोस्ट के लेखक वही शख्स हैं जिन्हें इस बार DEF CON में badge से जुड़े मामले में स्टेज से हटाया गया था। मैं किसी का पक्ष नहीं लूंगा, लेकिन उनकी काबिलियत सच में कमाल की है।

 
GN⁺ 2024-09-21
Hacker News टिप्पणियाँ
  • मुझे लगा था कि 15 MHz m68030 पर NetBSD धीमा है, लेकिन यह प्रोजेक्ट सचमुच कमाल का है

    • 80 के दशक के आखिर और 90 के दशक की शुरुआत में, जब कंप्यूटरों में स्थायी स्टोरेज, खुला address space और MMU आने लगे, तभी वे आधुनिक computing तक पहुँचे
    • Amiga 3000 या i80486 कंप्यूटर भी आधुनिक कंप्यूटरों जैसी ही कार्यक्षमताएँ कर सकते हैं
    • Dmitry दिखाते हैं कि "functional" की परिभाषा को कितना ढीला किया जा सकता है
  • मैं अपना ज्ञान इतना बढ़ाना चाहता हूँ कि इस प्रोजेक्ट को समझ सकूँ

    • मैंने "Section 14.b & 14.c - Getting the data..." वाला हिस्सा पूरी तरह समझ लिया
    • 4 साल तक 400K फाइलें (लगभग 275 फोटो प्रति दिन) प्रोसेस कीं
    • इतनी processing power, storage और network होने के बावजूद media sync apps क्रैश हो जाते हैं या धीमे sync की समस्या झेलते हैं
    • AirDrop फेल हो जाता है और 'Select-All' UI फीचर की कमी है
  • मुझे AVR उदाहरण पसंद हैं, और अब एक नया उदाहरण भी मिल गया

    • frequency और power consumption को देखते हुए सोच रहा हूँ कि इससे कितना RF निकलता होगा
    • "soubroutine" शब्द शायद टाइपो है
  • यह प्रोजेक्ट सस्ता नहीं था, Ebay कलेक्टर्स का धन्यवाद

    • LCD की जगह मैं VFD चुनता, हालाँकि लंबे compile के दौरान VFD खराब हो सकता है
  • कमाल का प्रोजेक्ट है

    • high PC bits से देखा जा सकता है कि अभी क्या चल रहा है
    • P.S.: इंटरनेट पर server के IPMI से kernel इससे भी तेज़ लोड होता है
  • वीडियो शूट करने में 9 दिन लगे, emulated समय में 4 घंटे प्रति सेकंड

    • सोच रहा हूँ कि Windows 95 क्यों इस्तेमाल किया गया
  • इस तरह के प्रोजेक्ट्स के लिए नोबेल पुरस्कार होना चाहिए

  • पढ़ने के लिए बेहद दिलचस्प था

    • 4004 के बारे में थोड़ा जानता था, लेकिन उस स्तर की जटिलता चौंकाने वाली थी
    • अब जिज्ञासा हो रही है कि क्या उतनी ही transistor count से CPU बनाया जा सकता है
    • 8-bit होने से programming काफी आसान हो जाती है
    • इस काम को इतनी अच्छी तरह document करने के लिए धन्यवाद
  • शुरुआती microcomputers पर virtual machines (Z-machine या JVM) चलती थीं

    • जब compiler target के रूप में उपयोग नहीं किया जा सकता था, तब यह उपयोगी था
    • SWEET16
    • UCSD Pascal
  • "Why MIPS?" सेक्शन में:

    • कुछ में धीमे addressing modes होते हैं (RISCV)
    • सोच रहा हूँ कि RISC-V addressing modes में समस्या क्या है