Stacja dyskietek jest kontrolowana układem Intel 8272, zawierającym obwody i funkcje kontrolne pozwalające na sprzęganie procesora z 4 napędami dyskietek, dlatego w komputerze mogą być zainstalowane aż cztery stacje dyskietek. Kontroler jest w stanie obsłużyć dyskietki pojedynczej gęstości (FM), jak i dyskietki podwójnej gęstości (MFM), nagrywane obustronnie. Układ FDC (Floppy Disk Controller) upraszcza i przejmuje większość obciążeń powiązanych z implementacja interfejsu FDD (Floppy Disk Drive).
1. Bez DMA
Jest to prostszy i wolniejszy z trybów pracy kontrolera stacji dyskietek. Pracując bez DMA kontroler generuje przerwanie aby przesłać każdy pojedynczy bajt danych pomiędzy CPU i układem 8272. Tryb ten jest stosowany w prostych systemach operacyjnych, co związane jest z łatwością jego użycia.
2. Z użyciem DMA
Do układu Intel 8272 są dostarczane sygnały sterujące, pozwalające na łatwe do stosowania operacje na DMA z pomocą zewnętrznego układu kontrolera DMA (Direct Memory Access), jakim jest układ Intel 8237. Tryb wykorzystujący DMA jest bardziej zaawansowany i umożliwia zwiększenie wydajności transferu danych z i do stacji dyskietek. W trybie DMA procesor potrzebuje jedynie załadować rozkaz do kontrolera, a cała reszta odbywa się już bez jego udziału, kontrolowana przez układ DMA i kontroler 8272. Oczywiście system operacyjny musi zainicjalizować odpowiednio kontroler DMA i przydzielić odpowiednie miejsce w pamięci na pobrane dane. Tryb ten jest wykorzystywany w bardziej zaawansowanych systemach operacyjnych, z uwagi na konieczność wykonania większej ilości czynności do przygotowania komputera do komunikacji ze stacją dyskietek.
Układ 8272 zawiera dwa rejestry, które mogą być dostępne przez procesor: Rejestr Stanu i Rejestr Danych. 8- bitowy Główny Rejestr Stanu zawiera informacje o stanie FDC, i może być dostępny w dowolnym czasie. 8 bitowy Rejestr Danych (aktualnie składa się z kilku rejestrów w stosie z dostępnym tylko jednym rejestrem w jednym czasie), przechowuje dane, parametry komend i informacje stanu FDD. Bajty danych są odczytywane lub zapisywane do Rejestru Danych w celu zaprogramowania albo odczytania rezultatów wykonania operacji. Rejestr Stanu może być jedynie odczytywany i jest używany do ułatwienia transmisji danych pomiędzy procesorem i układem 8272.
Układ 8272 jest zdolny do wykonania 15 różnych komend. Każda komenda jest inicjowana przez wielobajtowy rozkaz przesyłany z procesora i rezultaty po wykonaniu komendy są w taki sam sposób odczytywane. Ze względów transmisji wielobajtowej informacji pomiędzy układem 8272 i procesorem, wygodnie jest brać pod uwagę to, że każda komenda składa się z trzech faz.
Aby wydać komendę kontrolerowi stacji dyskietek system operacyjny musi dokonać odpowiednie trzy fazy.
1. Faza przesyłania komend
FDC odbiera cała informację wymagana do przeprowadzenia szczegółowej operacji zleconej przez procesor. W tym czasie przesyłane są do kontrolera wszystkie bajty wymagane do dokładnego zdefiniowania operacji jaka ma być wykonana.
2. Faza realizacji i wykonywania
FDC przeprowadza operacje, które zostały mu zlecone. System operacyjny czeka na przerwanie potwierdzające wykonanie polecenia (odebranie bajtu lub ukończenie transakcji DMA). Jeśli układ 8272 pracuje w trybie nie-DMA, odbiór każdego bajta danych jest sygnalizowany przerwaniem na pinie 18 (INT =1). Kiedy układ 8272 pracuje w trybie DMA, nie są generowane przerwania podczas fazy realizacji. Układ generuje jedynie DRQ's (żądania DMA) po odczytaniu lub zapisaniu każdego bajta danych.Po zakończeniu fazy realizacji generowane jest przerwanie (INT=1).
3. Faza przesyłania rezultatów
Po zakończeniu wykonywania operacji, kontroler przesyła informacje dotyczące rezultatów wykonania komendy (najczęściej rejestry stanu). System operacyjny sprawdza na podstawie rejestrów stanu, czy operacja została zakończona powodzeniem i podejmuje odpowiednie kroki.
[1] Spis wszystkich komend i rejestrów kontrolera stacji dyskietek.