1541 इतना धीमा क्यों था?

Dec 13 2020

64 के साथ उपयोग के लिए बेची गई कमोडोर 1541 फ्लॉपी डिस्क ड्राइव, ऐतिहासिक और तकनीकी कारणों से बेहद धीमी थी :

  1. विपणन ने 1540 के साथ संगतता पर जोर दिया, विक -20 के साथ बेची गई फ्लॉपी ड्राइव, जो धीमी थी क्योंकि 6522 वीआईए चिप में शिफ्ट रजिस्टर काम नहीं करता था, इसलिए इसे बाइट के बजाय एक समय में थोड़ा स्थानांतरित करना पड़ा एक वक़्त।

  2. तब इसे और भी धीमी गति से जाना पड़ा क्योंकि विक -20 के विपरीत, 64 के वीडियो चिप को पूरी तरह से हर आठ सक्रिय स्कैन लाइनों में से बस एक पर ले जाना है।

ठीक है, इसलिए उन दो कारकों का सबसे खराब मामला है, समस्या को कम करने के लिए कोई विकास समय की अनुमति के साथ, कोई यह देख सकता है कि ड्राइव कैसे समाप्त हो सकता है केवल क्षैतिज रिक्त = 63 माइक्रोसेकंड प्रति एक बिट स्थानांतरित करने में सक्षम है। 1 / (63e-6) = 15873 बिट्स / एस = 1984 बाइट्स / एस।

लेकिन स्पष्ट रूप से वास्तविक गति केवल 400 बाइट्स / एस थी ।

ऐतिहासिक और तकनीकी समस्याओं के दुखी संयोजन के साथ वास्तविक गति केवल पांचवीं क्यों थी?

जवाब

14 Raffzahn Dec 13 2020 at 21:29

ड्राइव अंत तक केवल क्षैतिज खाली = 63 माइक्रोसेकंड प्रति एक बिट स्थानांतरित करने में सक्षम हो सकता है। 1 / (63e-6) = 15873 बिट्स / एस = 1984 बाइट्स / एस।

यह एक बाइट के भीतर संचरण के दौरान बिटरेट होगा, लेकिन बाइट्स को फ्रेम और हैंडशेक किया जाता है, जो प्रति बाइट में 160 rate का औसत जोड़ता है। (63 * 8) + 160 µsप्रति बाइट में परिणाम , या ~ 664 ors। इसलिए ऊपरी ट्रांसफ़र स्प्रेड 1500 बाइट / एस के बजाय या नीचे है

उपरोक्त संख्या पूर्ण न्यूनतम हैं, बाइट्स के बीच का समय एक 1000 1000 लंबा हो सकता है और अभी भी ऐनक के भीतर हो सकता है। समय के आसपास अतिरिक्त मोड़ आज्ञाओं के सामने और ब्लॉक / कमांड के बीच होते हैं। अगला, 1541 प्रतिक्रिया और प्रतिक्रिया के लिए समय की आवश्यकता है। और अंत में C64 पक्ष के रूप में अच्छी तरह से पिछले शुद्ध बिट हस्तांतरण प्रबंधन की जरूरत है। यह सब जुड़ जाता है।

लेकिन जाहिरा तौर पर वास्तविक गति केवल 400 बाइट्स / एस थी।

बाकी सब से पहले, यह ध्यान रखना महत्वपूर्ण है कि ये 400 बाइट्स / s एक वास्तविक दुनिया एफडी ड्राइव से पढ़ने के बारे में हैं। वास्तविक सिर आंदोलन के साथ, खोज विलंबता, स्थानान्तरण और चारों ओर मुड़ें। अक्सर उपयोग किया जाने वाला परीक्षण एक 185 ब्लॉक प्रोग्राम को पढ़ने के बारे में है, जिसका अर्थ है कम से कम 10 ट्रैक परिवर्तन और इतने पर।

मैकेनिकल ड्राइव के बिना एक unmodified C64 (nospeed लोडर, सभी मूल रूटीन का उपयोग किया गया) का उपयोग करके वास्तविक विश्व हस्तांतरण दरों के लिए एक अच्छा बेंचमार्क SD2IEC इंटरफ़ेस हो सकता है। यह 650 बाइट्स / एस के औसत थ्रूपुट प्रदान करता है । SD2IEC अनिवार्य रूप से एक Atmel ATMega है जो 8 MHz डायरेक्ट पर धारावाहिक IEC को संचालित करता है। इसकी प्रतिक्रिया और हस्तांतरण का समय अधिकतम संभव के करीब है। एसडी / एमएमसी से पढ़ना किसी भी यांत्रिक आंदोलनों, खोज विलंबता और बल्कि उच्च गति डेटा ट्रांसफर को एसडी / एमएमसी से कंट्रोलर रैम तक नहीं ले जाता है।