플로피 디스크 컨트롤러
Floppy-disk controller

플로피 디스크 컨트롤러(FDC)는 컴퓨터의 플로피 디스크 드라이브(FDD)에 대한 읽기 및 쓰기를 지시 및 제어하는 특수 목적의 집적회로(IC 또는 "칩") 및 관련 디스크 컨트롤러 회로입니다.FDC는 호스트 컴퓨터에서 제공되는 데이터를 읽고 FM 인코딩(싱글 밀도) 또는 MFM 인코딩(이중 밀도)과 같은 여러 인코딩 방식 중 하나를 사용하여 드라이브의 온디스크 형식으로 변환하고 이러한 형식을 읽고 원래 이진 값으로 되돌리는 역할을 합니다.
플랫폼에 따라 컨트롤러와 호스트 컴퓨터 간의 데이터 전송은 컴퓨터 자체 마이크로프로세서 또는 MOS 6507이나 Zilog Z80과 같은 저렴한 전용 마이크로프로세서에 의해 제어됩니다.초기 컨트롤러에서는 클럭 신호 제공이나 다양한 옵션 설정 등의 특정 작업을 수행하기 위해 추가 회로가 필요했습니다.이후 설계에서는 컨트롤러에 이러한 기능이 더 많이 포함되어 외부 회로의 복잡성을 줄였습니다.싱글 칩 솔루션은 1980년대 후반까지 일반적이었습니다.
1990년대까지 플로피 디스크는 비슷한 컨트롤러가 필요한 하드 드라이브에 점점 더 자리를 내주고 있었습니다.이러한 시스템에서는 컨트롤러가 마이크로컨트롤러를 조합하여 SCSI나 IDE 등의 표준화된 커넥터로 데이터를 전송할 수 있었습니다.이러한 커넥터는 어느 컴퓨터에서나 사용할 수 있었습니다.보다 현대적인 시스템에서는 FDC가 존재하더라도 일반적으로 하나의 슈퍼 I/O칩에 의해 제공되는 많은 기능의 일부입니다.
개요
플로피 디스크는 일련의 값이 아닌 일련의 값의 변화로서 이진 데이터를 기억한다.자기기록매체의 극성에 기록된 이러한 변화 각각은 디스크 표면이 드라이브 헤드를 지나 회전함에 따라 드라이브 헤드에 전압이 유도되도록 합니다.원래 데이터의 1과 0을 인코딩하는 것은 이러한 편파 변화의 타이밍과 그에 따른 전압의 스파이크입니다.컨트롤러의 기능 중 하나는 원본 데이터를 쓰기 중에 적절한 편광 패턴으로 변환한 다음 읽기 중에 다시 생성하는 것입니다.
기억장치는 타이밍에 기초하고 있어 그 타이밍은 기계적, 전기적 장애의 영향을 받기 쉽기 때문에 데이터를 정확하게 읽으려면 일종의 기준 신호인 클럭이 필요합니다.온디스크 타이밍은 항상 변경되므로 클럭 신호는 디스크 자체에서 제공해야 합니다.이를 위해 클럭 신호를 데이터에 인코딩할 수 있도록 추가 전환을 통해 원본 데이터를 수정한 다음 읽기 중에 클럭 복구를 사용하여 원본 신호를 다시 생성합니다.컨트롤러에 따라서는 외부에서 이 부호화를 실행할 필요가 있습니다만, 대부분의 설계에서는 FM이나 MFM 등의 표준 부호화를 제공하고 있습니다.
컨트롤러는 드라이브 메커니즘 자체를 제어하기 위한 다른 여러 서비스도 제공합니다.여기에는 일반적으로 디스크 상의 개별 트랙을 중심으로 드라이브 헤드의 이동, 회전 속도 결정 및 비교적 안정된 상태 유지, 헤드 위치 랙 장착 및 0으로 되돌리기, 경우에 따라서는 기능적으로 트랙 수, 트랙당 섹터 수 등의 단순한 입력에 기초하여 디스크를 포맷하는 것이 포함됩니다.섹터당 ack 및 바이트 수.
완전한 시스템을 구축하려면 컨트롤러와 호스트 시스템 간의 브리지 역할을 하는 추가 회로 또는 소프트웨어와 컨트롤러를 결합해야 합니다.Apple II 및 IBM PC와 같은 일부 시스템에서는 컴퓨터의 호스트 마이크로프로세서에서 실행되는 소프트웨어에 의해 제어되며 드라이브 인터페이스는 확장 카드를 사용하여 프로세서에 직접 연결됩니다.Commodore 64 및 Atari 8비트 패밀리와 같은 다른 시스템에서는 컨트롤러에서 호스트 CPU로의 직접 경로가 없으며 이를 위해 MOS 6507 또는 Zilog Z80과 같은 보조 프로세서가 드라이브 내부에 사용됩니다.
원래의 Apple II 컨트롤러는, 호스트 컴퓨터의 플러그인 카드의 형태였습니다.2대의 드라이브를 서포트할 수 있어, 통상의 온보드 회로의 대부분을 없앴습니다.이를 통해 애플은 슈가트 어소시에이츠와 대부분의 일반 회로가 없는 심플한 드라이브를 계약할 수 있었다.즉, 단일 드라이브와 컨트롤러 카드를 합친 비용은 다른 시스템과 거의 동일하지만, 추가 비용을 줄이면서 두 번째 드라이브를 연결할 수 있었습니다.
IBM PC는 보다 전통적인 방식을 취했으며, 어댑터 카드는 최대 4개의 드라이브를 지원할 수 있었습니다. PC DMA(Direct Memory Access)에서는 DMA 채널 2와 IRQ 6을 사용하여 드라이브를 직접 액세스했습니다.다음 그림은 업계 표준 아키텍처(ISA) 버스 또는 유사한 버스를 통해 CPU와 통신하고 34핀 리본 케이블을 사용하여 FDD와 통신하는 기존의 FDD 컨트롤러를 나타내고 있습니다.최신 설계에서는 FDC가 LPC(Low Pin Count) 버스를 통해 통신하는 슈퍼 I/O칩에 포함되어 있는 것이 일반적입니다.
플로피디스크 컨트롤러(FDC) 기능의 대부분은 집적회로에 의해 실행되지만 일부는 외부 하드웨어 회로에 의해 실행된다.각 기능에 의해 수행되는 목록은 다음과 같습니다.
플로피 디스크 컨트롤러 기능(FDC)
- 데이터 비트를 FM, MFM, M²FM 또는 GCR 형식으로 변환하여 기록할 수 있도록 합니다.
- seek, read, write, format 등의 명령어 해석 및 실행
- CRC와 같은 체크섬 생성 및 검증을 통한 오류 검출
- PLL(Phase-Locked Loop)과 데이터 동기화
외부 하드웨어 기능
- 대상 플로피 디스크 드라이브(FDD) 선택
- 플로피 드라이브 모터의 전원을 켭니다.
- FDD 컨트롤러 IC의 신호를 리셋.
- 플로피 디스크 컨트롤러(FDC)에서의 인터럽트 및 DMA 신호 활성화/비활성화
- 데이터 분리 로직
- 사전 보정 로직 쓰기
- 컨트롤러에 대한 신호용 라인 드라이버
- 컨트롤러로부터의 신호용 라인 리시버
공통 x86-PC 컨트롤러용 입출력 포트
FDC에는 3개의 I/O 포트가 있습니다.다음과 같습니다.
- 데이터 포트
- 메인 상태 레지스터(MSR)
- 디지털 제어 포트
제어 포트가 외부 하드웨어에 있는 동안 처음 2개는 FDC IC 내부에 있습니다.이들 3개의 포트의 주소는 다음과 같습니다.
포트 주소 [아쉬움] | 포트명 | 위치 | 포트 타입 |
---|---|---|---|
3층 5층 | 데이터 포트 | 양방향 I/O | |
3F4 | 주현황등록부 | FDC IC | 입력 |
3F2 | 디지털 제어 포트 | 외장 하드웨어 | 산출량 |
데이터 포트
이 포트가 소프트웨어에 의하여 세가지 다른 목적으로:사용된다.
- 반면 FDC IC로 명령을 발행, 지휘 명령 매개 변수 바이트 FDC IC로 이 포트를 통해 발행되고 있다.그 FDC IC가 다른 변수와 내부 레지스터에서 명령을 저장합니다.
- 후에 명령을 실행하면 FDC IC점 상태 매개 변수의 내부 레지스터에 집합입니다.이 CPU에 의해 이 포트를 통해 읽힌다.그 다른 상태 바이트 FDC IC에서 특정 순서에 제시되어 있다.
- 데이터 전송과 인터럽트 프로그래밍 모드에서는 데이터가 포트가 FDC IC와 CPU사이에 교육 또는 OUTIN은 데이터를 전송하는 데 사용된다.
메인 상태 레지스터(MSR)
이 포트가 소프트웨어에 의하여 전반적인 현황 정보를 FDC IC와 FDD's 관련 글을 읽어 주시는 데 사용됩니다.플로피 디스크 운영을 시작하기 전에 소프트웨어를 이 포트 이전에 시작한 명령의 상태를 확인하려면 FDC고 디스크 드라이브의 준비 태세를 확인하기 위해 읽는다.이 레지스터의 다른 비트 주고 있다.
조금 | 표현 |
---|---|
0 | FDD 0:검색 모드에서 바쁘네요. |
1 | FDD 1:검색 모드에서 바쁘네요. |
2 | FDD 2:검색 모드에서 바쁘네요. |
3 | FDD 3:검색 모드에서 바쁘네요. |
4 | FDC 바쁜, 발전에서Read/Write 명령어이다. |
5 | 비DMA 모드 |
6 | DIO: FDC IC와 CPU 간의 데이터 전송 방향을 나타냅니다. |
7 | MQR: 데이터 레지스터가 데이터 전송 준비가 되었음을 나타냅니다. |
설명 | |
---|---|
MQR | 1 = 데이터 레지스터 준비 완료, 0 = 데이터 레지스터 준비 안 됨 |
DIO | 1 = 컨트롤러에 CPU용 데이터가 있고 0 = 컨트롤러에 CPU의 데이터가 필요합니다. |
비DMA | 1 = 컨트롤러가 DMA 모드에 있지 않음, 0 = 컨트롤러가 DMA 모드에 있음 |
FDC 비지 | 1 = 비지, 0 = 비지 |
FDD 0, 1, 2, 3 | 1 = 실행 중, 0 = 실행 중 아님 |
디지털 제어 포트
이 포트는 소프트웨어에 의해 특정 FDD 및 FDC IC 기능을 제어하기 위해 사용됩니다.이 포트의 비트 할당은 다음과 같습니다.
조금 | 표현 |
---|---|
0과 1 | 선택할 디바이스 번호 |
2 | FDC IC 재설정(낮음) |
3 | FDC 인터럽트 신호 및 DMA 요청 신호 활성화 |
4 ~ 7 | 디스크 드라이브 0, 1, 2 또는 3의 모터를 각각 켭니다. |
플로피 디스크 드라이브 인터페이스
컨트롤러는 호스트, 3.5인치 드라이브 및 5.25인치 드라이브 간에 34개의 커넥터가 분할된 플랫 리본 케이블을 사용하여 드라이브에 연결합니다.이 타입의 케이블을 [1]유니버설커넥터라고 부릅니다IBM PC 제품군 및 호환 제품에서는 케이블의 트위스트를 사용하여 연결된 소켓으로 디스크 드라이브를 구분합니다.모든 드라이브는 동일한 드라이브 선택 주소 세트로 설치되며, 케이블의 트위스트에 따라 소켓의 드라이브 선택 라인이 바뀝니다.케이블의 가장 끝에 있는 드라이브에는 신호 [2]품질을 유지하기 위해 종단 저항이 추가로 설치됩니다.
- 대체 의미를 포함한 인터페이스 신호에 대한 자세한 설명은 드라이브 또는 호스트 컨트롤러에 대한 제조업체의 사양에 나와 있습니다.
데이터 포맷
서로 호환되지 않는 플로피 디스크 포맷이 많이 있습니다.또, 디스크상의 물리 포맷과는 별도로, 호환성이 없는 파일 시스템도 호환성이 없습니다.
운전해. | 포맷 | 용량. | 갈아타다 속력을 내다 [킬로비트/초] | RPM | 트랙 | TPI | 댓글 |
---|---|---|---|---|---|---|---|
8인치 SD | 8인치 SD | 80 KB | 33.333 | 360 | 32 | 48 | 오래된 [3]컨트롤러에서만. |
5.25인치 SD | 5.25인치 SD | 160 KB | 125 | 40 | 오래된 컨트롤러에서만. | ||
5.25인치 SSDD | 5.25인치 SSDD | 171 KB | 250–308 | 300 | 35 | 48[4] | C1541 호환기에만 해당. |
5.25인치 SD | 5.25인치 SD | 180 KB | 150 | 40 | 오래된 컨트롤러에서만. | ||
5.25 인치 DD | 5.25 인치 DD | 320/360/400 KB | 250 | 300 | 40 | 48 | [5] 각각 8/9/10 512바이트 섹터. |
5.25 인치 DD (96 tpi) | 5.25인치 QD(2DD) | 800 KB | 250 | 300 | 80 | 96 | [6] |
5.25인치 HD | 5.25 인치 DD | 360 KB | 300 | 360 | 40 | 48 | [7][8] |
5.25 인치 HD | 5.25 인치 HD | 1200 KB | 500 | 360 | 80 | 96 | 최대 83개의 트랙.바이어스 [7][8]전류가 다릅니다. |
5.25 인치 HD | 5.25 인치 HD | 720 KB | 300 | 360 | 80 | 최대 83개의 트랙.[5] | |
3.5 인치 DD | 3.5 인치 DD | 720 KB | 250 | 300 | 80 | 135 | 최대 83개의 트랙.[5][9] |
3.5 인치 DD | 3.5 인치 DD | 800 KB | 394–590 | 80 | Apple [10]Macintosh에서 사용합니다. | ||
3.5 인치 DD | 3.5 인치 DD | 800 KB | 250 | 300 | 80 | 코모도어 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 | [5] | |
3.5 인치 HD | 3.5 인치 DD | 720 KB | 250 | 300 | 80 | 최대 83개의 트랙.[5] | |
3.5 인치 HD | 3.5 인치 HD | 1280 KB | 500 | 360 | 80 | 135 | 최대 83개의 트랙."3 모드" |
3.5 인치 HD | 3.5 인치 HD | 1440 KB | 500 | 300 | 80 | 135 | 최대 83개의 트랙.[5][11] |
3.5 인치 HD | 3.5 인치 HD | 1760 KB | 250 | 150 | 80 | Amiga 컴퓨터에서 사용됩니다. | |
3.5 인치 ED | 3.5 인치 ED | 2880 KB | 1000 | 300 | 80 | 135 | 최대 83개의 트랙.[9][12] |
측면:
밀도:
"3 모드" 플로피 드라이브

일본에서는 주로 1440KB(2MB 비포맷), 1.2MB(1.6MB 비포맷) 및 720KB(1MB 비포맷)의 3가지 디스크 포맷 모드를 지원하는 3.5인치 고밀도 플로피 드라이브가 있습니다.원래 일본의 3.5인치 플로피 드라이브용 고밀도 모드는 다른 [14]곳에서 사용되던 1440KB가 아닌 1.2MB의 용량만 지원했습니다.보다 일반적인 1440KB 포맷은 300rpm으로 회전하는 반면 1.2MB 포맷은 360rpm으로 회전하기 때문에 이전에는 5.25인치 고밀도 플로피 드라이브에서 볼 수 있었던 1.2MB 포맷과 거의 비슷하거나 8인치 더블 밀도 플로피 드라이브에서 볼 수 있었던 1.2MB 포맷과 비슷합니다.이후 일본의 플로피 드라이브는 고밀도 포맷(및 배밀도 포맷)을 모두 지원하게 되었고, 따라서 3mode라는 이름이 붙여졌습니다.일부 BIOS 에는,[15] 이 모드를 서포트하는 플로피 드라이브에 대해서, 이 모드를 유효하게 하는 설정이 있습니다.
「 」를 참조해 주세요.
- 웨스턴 디지털 FD1771
- 통합형 Woz 머신(IWM)
- Paula(아미가 컨트롤러)
- 플로피 디스크 드라이브 인터페이스
- 플로피 디스크 형식 목록
레퍼런스
- ^ Davis, Larry (2015-06-13). "Floppy Drive Pinout, Signal names, Pin out Description and Cable twist wiring". www.interfacebus.com. Retrieved 2019-01-29.
- ^ Scott Muller, PC 업그레이드 및 수리, 제2판, Que, 1992, ISBN 0-88022-856-3, 487페이지
- ^ Ableman, Genna (2005). Elert, Glenn (ed.). "Angular speed of a floppy disk". The Physics Factbook. Retrieved 2022-01-25.
- ^ "C 64 Workshop / C= 8 Bit & Peripherals". 1998-05-19. Retrieved 2016-04-18.
- ^ a b c d e f "unifr.ch – sys/src/kernel/floppy.c". Archived from the original on 19 July 2011. Retrieved 5 May 2011.
- ^ "Product specification TM100-4 flexible disk drive 96, tpi" (PDF). Retrieved 2022-01-08.
- ^ a b iesleonardo.info – 이 FD 튜토리얼에서는 FD에 관한 기술 정보를 제공합니다.
- ^ a b oldskool.org – HD 5,25 인치 FDD를 360 rpm이 아닌 300 rpm으로 동작시킵니다.
- ^ a b intel.com – 인텔 82077SL for Super Dense Floppies 2012년 10월 8일 Wayback Machine에 아카이브
- ^ Johnson, Herbert R. (2016-12-22). "Floppy Drive Tech Info". Retrieved 2017-01-14.
- ^ yi.org – 고밀도 플로피 디스크 Mf2hd 디스크 3 5 1Pk[영구 데드링크]
- ^ mcamafia.de – IBM Personal system/2, 3.5인치 디스켓 드라이브, 기술 참조 자료
- ^ "Linux-2.6.17/drivers/block/floppy.c". Archived from the original on 2008-08-23. 090504 gelato.unsw.edu.au
- ^ books.google.com – Corey Sandler의 PC 수정
- ^ rojakpot.com – 3 모드 플로피 지원
- de Boyne Pollard, Jonathan (2003). "There is no such thing as a 3.5-inch floppy disc". Frequently Given Answers.
- ISO/IEC 8860-1:1987 배밀도(DD)
- ISO/IEC 9529-1:1989 고밀도(HD)
- ISO 10994-1:1992 초고밀도(ED)
- ECMA-147
추가 정보
- NEC µPD72070 - Floppy Disk Controller Specification Version 2.0 (PDF). 2.0 preliminary. NEC Corporation. October 1991. Archived from the original (PDF) on 2017-03-20. Retrieved 2017-03-20.
- Shah, Katen A. (1996) [September 1992, April 1992]. Intel 82077SL for Super-Dense Floppies (PDF) (Application Note) (2 ed.). Intel Corporation, IMD Marketing. AP-358, 292093-002. Archived from the original (PDF) on 2017-06-19. Retrieved 2017-06-19.