Mengapa tahun 1541 begitu lambat?

Dec 13 2020

Floppy disk drive Commodore 1541, dijual untuk digunakan dengan 64, terkenal lambat karena alasan historis dan teknis :

  1. Pemasaran bersikeras pada kompatibilitas dengan 1540, floppy drive yang dijual dengan Vic-20, yang lambat karena register geser di chip 6522 VIA tidak berfungsi, jadi harus mentransfer sedikit demi sedikit alih-alih satu byte pada sebuah waktu.

  2. Kemudian harus lebih lambat karena tidak seperti Vic-20, chip video 64 harus sepenuhnya mengambil alih bus satu dari setiap delapan jalur pemindaian aktif.

Oke, jadi mengingat kombinasi kasus terburuk dari kedua faktor tersebut, tanpa waktu pengembangan yang diizinkan untuk mengatasi masalah tersebut, orang dapat melihat bagaimana drive hanya dapat mentransfer satu bit per horizontal blank = 63 mikrodetik. 1 / (63e-6) = 15873 bit / s = 1984 byte / s.

Namun ternyata kecepatan sebenarnya hanya 400 byte / s .

Mengapa kecepatan sebenarnya hanya seperlima dari apa yang tampaknya mungkin terjadi bahkan dengan kombinasi masalah historis dan teknis yang tidak menyenangkan?

Jawaban

14 Raffzahn Dec 13 2020 at 21:29

drive hanya bisa mentransfer satu bit per kosong horizontal = 63 mikrodetik. 1 / (63e-6) = 15873 bit / s = 1984 byte / s.

Itu akan menjadi bitrate selama transmisi dalam satu byte, tetapi byte dibingkai dan dijabat tangan, yang menambahkan rata-rata 160 µs per byte. Menghasilkan (63 * 8) + 160 µs, atau ~ 664 µs per byte. Jadi kecepatan transfer atas agak pada atau di bawah 1500 byte / s

Angka di atas adalah minimum absolut, waktu antara hingga byte bisa sepanjang 1000 µs dan masih dalam spesifikasi. Waktu putar tambahan berada di depan perintah dan di antara blok / perintah. Selanjutnya, 1541 memang membutuhkan waktu untuk bereaksi dan merespons. Dan akhirnya sisi C64 juga membutuhkan manajemen melewati transfer bit murni. Semua ini bertambah.

Namun ternyata kecepatan sebenarnya hanya 400 byte / s.

Sebelum yang lainnya, penting untuk diingat bahwa 400 Bytes / s ini adalah tentang membaca dari drive FD dunia nyata. Dengan gerakan kepala yang nyata, latensi pencarian, transfer dan berbalik. Tes yang sering digunakan adalah tentang membaca program blok 185, yang berarti setidaknya 10 perubahan trek dan seterusnya.

Tolok ukur yang baik untuk kecepatan transfer dunia nyata menggunakan C64 yang tidak dimodifikasi (pemuat nospeed, semua rutinitas asli digunakan) tanpa penggerak mekanis mungkin adalah antarmuka SD2IEC . Ini menawarkan throughput rata-rata 650 Bytes / s . SD2IEC pada dasarnya adalah Atmel ATMega yang berjalan pada 8 MHz langsung menangani IEC serial. Respon dan waktu transfer mendekati semaksimal mungkin. Membaca dari SD / MMC tidak membawa gerakan mekanis, latensi pencarian, dan transfer data berkecepatan tinggi dari SD / MMC ke RAM pengontrol.