軟碟控制器(英語:Floppy Disk Controller簡稱FDC),是一個特殊功能的晶片,由控制讀取與寫入電腦軟式磁碟機相關磁碟控制器英語Disk controller電路所組成。在1980年代到1990年代,軟碟控制器普遍使用於個人電腦或與IBM PC相容的機型上,如NEC μPD765、Intel 82072A或是82072A及其後繼晶片型號。而在除上所列外其他的軟碟控制器,可能存在結構上有着與之不同的觀念或實作方式。

IBM PC(IBM 5150)裏的5 1/4磁碟機控制介面卡

概觀

編輯

一個軟碟控制器電路板最多可以控制到四個軟式磁碟機,控制器連接到電腦系統匯流排,並提供I/O埠給中央處理器。一般也與直接記憶體存取控制器連接。在x86個人電腦上,軟碟控制器使用中斷服務6,在其他的系統上,其他的中斷服務方式也可能被使用。軟碟控制器通常使用直接記憶體存取模式來實現資料的傳送。

在下面的方塊圖上顯示軟碟控制器經由工業標準結構(ISA)匯流排來與中央處理器溝通。在後來的設計裏,軟碟控制器被包含在Super I/O晶片中,並透過LPC匯流排來與外界溝通。

 
軟碟控制器與中央處理器和軟碟機溝通的方塊圖。

大部分的軟碟控制器功能是以集成電路的方式實現。但是有些是用外部電路的方式實現。軟碟控制器的功能詳列如下。

軟碟控制器的功能

編輯

外部電路功能

編輯
  • 選擇軟碟機
  • 開啟軟碟機馬達
  • 提供軟碟控制器晶片的重設訊號
  • 致能/取消在軟碟控制器內的中斷與直接記憶體存取訊號
  • 資料分離邏輯電路
  • 寫前補償英語Write precompensation邏輯電路
  • 為控制器提供線性驅動英語Line driver訊號
  • 從控制器接收線性訊號

一般x86個人電腦軟碟控制器的輸入/輸出埠

編輯

軟碟控制器有三個I/O埠,如下所示:

  • 資料埠
  • 主狀態暫存器(MSR)
  • 控制埠

前兩個埠存在於軟碟控制器晶片中,而控制埠則位於外部電路裏。下面是三個埠的對應地址。

埠地址
[hex]
埠名稱 所在位置 埠型態
3F5 資料暫存器 軟碟控制器晶片 雙向輸出/輸入
3F4 主狀態暫存器 軟碟控制器晶片 輸入
3F2 數碼控制埠 外部電路 輸出

資料埠

編輯

軟件使用資料埠有三個不同的目的:

  • 當軟件發出命令給軟碟控制晶片,命令與命令參數是經由資料埠發出給軟碟控制器晶片。軟碟控制器晶片將命令與命令的不同參數儲存在控制器內部的暫存器中。
  • 當命令被執行後,軟碟控制器晶片儲存一組狀態參數於控制器內部暫存器中。這些狀態參數經由資料埠被中央處理器讀取。這些不同的狀態位元組被軟碟控制器晶片依特定的順序排列呈現。
  • 當工作在資料傳輸模式中,軟碟控制器晶片與中央處理器的輸出輸入指令間的資料傳遞是經由資料工作來完成的。

主狀態暫存器(MSR)

編輯

軟件使用此埠來讀取軟碟控制器晶片與軟碟機所有的狀態資訊。在進行軟碟機操作初始化前,軟件讀取此埠的資料來確定軟碟控制器是否已是準備就緒的狀態,並且軟碟機經由先前的初始化命令來驗證相關的狀態。以下列出狀態暫存器不同位元意義的說明:

位元 說明
0 FDD 0:0號軟碟機處於搜尋模式忙碌
1 FDD 1:1號軟碟機處於搜尋模式忙碌
2 FDD 2:2號軟碟機處於搜尋模式忙碌
3 FDD 3:3號軟碟機處於搜尋模式忙碌
4 FDC Busy:軟碟控制器忙碌;讀取/寫入命令進行中
5 Non-DMA mode:不是處於直接記憶體存取模式
6 DIO:指出軟碟控制器晶片與中央處理器間資料傳輸的方向
7 MQR:指出資料暫存器為已準備完成,可以進行資料傳送
解釋
MQR 1 = 資料暫存器已準備完成,0 = 資料暫存器尚未準備完成
DIO 1 = 控制器有資料給中央處理器,0 = 控制器從中央處理器接收資料
Non-DMA 1 = 控制器不在直接記憶體存取模式中,0 = 控制器處於直接記憶體存取模式中
FDC Busy 1 = 忙碌,0 = 閒置
FDD 0,1,2,3 1 = 使用中,0 = 非使用中

數碼控制埠

編輯

軟件使用數碼控制埠來控制軟碟機和軟碟控制器晶片的特定功能。此埠的位元被賦予的意義說明如下:

位元 說明
0與 1 被選擇的裝置號碼
2 重設軟碟機控制晶片(低位準)
3 致能軟碟控制器的中斷及直接記憶體存取訊號
4到7 個別位元代表已啟動馬達的磁碟機代號0、1、2或3

格式資料

編輯

有可能存在彼此互不相容的軟碟幀式;除此之外,因為磁碟片實體格式的不同,也可能存在互不相容的檔案系統。

磁碟機 格式 容量 傳輸
速度
[kbit/s]
RPM 磁軌數 TPI 註解
8" SD 8" SD 80 kB 33.333 360 32 48 舊的控制器才有。[1]
5.25" SD 5.25" SD 160 kB 125 40 舊的控制器才有。
5.25" SD 5.25" SD 171 kB 250 - 308 35 只與C1541英語Commodore 1541相容的才有。
5.25" SD 5.25" SD 180 kB 150 40 舊的控制器才有。
5.25" DD 5.25" DD 360 kB 250 300 40 [2]
5.25" HD 5.25" DD 360 kB 300 360 40 48 [3][4]
5.25" HD 5.25" HD 1.2 MB 500 360 80 96 最高到83個磁軌。不同的偏壓電流。[3][4]
5.25" HD 5.25" HD 720 kB 300 360 80 最高到83個磁軌。[2]
3.5" DD 3.5" DD 720 kB 250 300 80 135 最高到83個磁軌。[2][5]
3.5" DD 3.5" DD 800 kB 250 300 80 C1581英語Commodore 1581所使用。
3.5" DD 3.5" DD 880 kB 250 300 80 最高到83個磁軌。為Amiga電腦所使用。
3.5" DD 3.5" DD 360 kB 250 300 40 [2]
3.5" HD 3.5" DD 720 kB 250 300 80 最高到83個磁軌。[2]
3.5" HD 3.5" HD 1.44 MB 500 300 80 135 最高到83個磁軌。[2][6]
3.5" HD 3.5" HD 1.76 MB 250 300 80 Amiga電腦所使用。
3.5" ED 3.5" ED 2.88 MB 1000 300 80 135 最高到83個磁軌。[5][7]

[8]

面數:

密度:

[9]

"3模式"軟碟機

編輯

起初在日本,出現有3.5"高密度軟碟機支援3種磁碟格式取代普遍的支援兩種軟碟幀式的磁碟機 - 1.44 MB(2 MB未格式化),1.2 MB(1.6 MB未格式化)和 720 kB(1 MB未格式化)。最初,在日本3.5"軟碟機的高密度模式只支援1.2 MB的容量磁片而不支援除日本以外普遍所使用的1.44 MB容量磁碟片。[10]但當工作在每分鐘轉速為300的 1.44 MB格式取代了每分鐘轉速為360 的1.2 MB格式的磁片而變得普遍後,就如同每個磁軌有15個磁區的1.2 MB格式磁片取代5.25"高密度磁碟機一樣。此後,日本使用的軟碟機就支援了兩種高密度格式(也支援單密度格式)。因此被稱為3模式。一些BIOS提供設置選項可以來致能此一模式的軟碟機。[11]

延伸閱讀

編輯

相關條目

編輯

參考

編輯
  1. ^ hypertextbook.com - Angular Speed of a Floppy Disk. [2013-06-07]. (原始內容存檔於2021-04-21). 
  2. ^ 2.0 2.1 2.2 2.3 2.4 2.5 unifr.ch - sys/src/kernel/floppy.c. [2011-05-05]. (原始內容存檔於2011-07-19). 
  3. ^ 3.0 3.1 iesleonardo.info - This diskette tutorial provides technical information concerning diskettes. [2013-06-07]. (原始內容存檔於2012-03-23). 
  4. ^ 4.0 4.1 oldskool.org - Let HD 5,25" FDDs operate at 300 rpm instead of 360 rpm. [2013-06-07]. (原始內容存檔於2021-03-04). 
  5. ^ 5.0 5.1 intel.com - Intel 82077SL for Super Dense Floppies 互聯網檔案館存檔,存檔日期2012-10-08.
  6. ^ yi.org - High Density Floppy Disks Mf2hd Disk 3 5 1 Pk[失效連結]
  7. ^ mcamafia.de - IBM Personal system/2, 3,5"-inch Diskette Drives, Technical Reference (PDF). [2013-06-07]. (原始內容存檔 (PDF)於2021-05-06). 
  8. ^ Linux-2.6.17/drivers/block/floppy.c. [2013-06-07]. (原始內容存檔於2008-08-23).  090504 gelato.unsw.edu.au
  9. ^ What is the difference between the traditional floppy disk and the high capacity floppy disks? - Yahoo! Answers. [2013-06-07]. (原始內容存檔於2012-10-17).  100626 answers.yahoo.com
  10. ^ books.google.com - Fix Your Own PC by Corey Sandler
  11. ^ rojakpot.com - 3mode floppy support