ISA 버스

ISA(Industry Standard Architecture)는 IBM PC/AT와 1980년대 인텔 80286 및 그 후속 프로세서를 기반으로 한 유사 컴퓨터의 16비트 내부 버스이다. 이 버스는 IBM PC/XT를 포함한 8088 기반 IBM PC 및 IBM PC 호환기종의 8비트 버스와 (대부분) 하위 호환되었다.

원래 PC 버스(8비트) 또는 AT 버스(16비트)라고 불렸으며, IBM은 이를 I/O 채널이라고도 불렀다. ISA라는 용어는 1980년대 후반 또는 1990년대 초반 IBM PC 클론 제조업체들이 IBM이 AT 버스를 새롭고 호환되지 않는 마이크로 채널 아키텍처로 교체하려는 시도에 대한 반응으로 만들어낸 레트로님이다.

16비트 ISA 버스는 32비트 프로세서와 함께 몇 년 동안 사용되었다. 이를 32비트로 확장하려는 시도인 EISA는 그리 성공적이지 못했다. 대신 VESA 로컬 버스 및 PCI와 같은 후기 버스가 종종 동일한 메인보드에 ISA 슬롯과 함께 사용되었다. AT 버스 구조의 파생물은 ATA/IDE, PC 카드 표준, 콤팩트플래시, PC/104 버스, 그리고 슈퍼 I/O 칩 내부에서 사용되었고 여전히 사용되고 있다.

ISA는 수년 전 소비자 데스크톱에서 사라졌지만, 산업용 PC에서는 여전히 사용되고 있는데, 이는 PCI 및 PCI Express로 전환되지 않은 특정 특수 확장 카드가 사용되기 때문이다.

 역사 
섬네일|upright=1.25|, , EISA (위에서 아래로)
섬네일|upright=1.25|: 애드립 FM 사운드 카드
섬네일|upright=1.25|: 매지 4/16 Mbps 토큰링 NIC
섬네일|upright=1.25|: 이더넷 10BASE-5/2 NIC
섬네일|upright=1.25|: US 로보틱스 56k 모뎀

원래 PC 버스는 1981년 IBM PC 프로젝트의 일환으로 마크 딘이 이끄는 IBM 팀에 의해 개발되었다. 이것은 IBM 시스템/23 데이터마스터 시스템의 I/O 버스를 기반으로 한 8비트 버스였다. 동일한 물리적 커넥터와 유사한 신호 프로토콜 및 핀아웃을 사용했다. 16비트 버전인 IBM AT 버스는 1984년 IBM PC/AT 출시와 함께 도입되었다. AT 버스는 PC 버스의 거의 완벽한 하위 호환 확장으로, AT 버스 커넥터는 PC 버스 커넥터의 상위 집합이었다. 1988년, 컴팩을 포함한 "갱 오브 나인" 그룹의 PC 호환 제조업체들은 32비트 EISA 표준을 제안했다. 컴팩은 PC 호환을 대체하기 위해 ISA(Industry Standard Architecture)라는 용어를 만들었다. 이 과정에서 그들은 IBM의 PC 및 PC/AT 시스템 상표권을 침해하지 않고(그리고 주요 경쟁사인 IBM에게 무료 광고를 제공하지 않기 위해) AT 버스의 이름을 ISA로 소급 적용했다.

IBM은 8비트 버전을 IBM PC 및 PC/XT에 사용된 인텔 8088(16/8비트) CPU의 메인보드 버스에 대한 버퍼링된 인터페이스로 설계했으며, 우선순위가 지정된 인터럽트 및 DMA 채널을 추가했다. 16비트 버전은 IBM AT에 사용된 인텔 80286 CPU의 메인보드 버스를 위한 업그레이드였으며(인터럽트 및 DMA 기능 확장 포함), 버스 마스터링에 대한 지원이 향상되었다. 따라서 ISA 버스는 칩셋이 ISA를 훨씬 빠른 CPU에 연결하기 위한 정교한 버퍼링 방법을 구현하기 전까지는 CPU 클럭과 동기화되었다.

ISA는 주변 장치 카드를 메인보드에 연결하도록 설계되었으며 버스 마스터링을 허용한다. 주 메모리의 처음 16MB만 주소 지정이 가능하다. 원래 8비트 버스는 IBM PC 및 PC/XT에 사용된 8088 CPU의 4.77 MHz 클럭으로 실행되었다. 원래 16비트 버스는 IBM PC/AT 컴퓨터에 사용된 80286의 CPU 클럭으로 실행되었으며, 초기 모델에서는 6 MHz, 후기 모델에서는 8 MHz였다. IBM RT PC 또한 16비트 버스를 사용했다. ISA는 모토로라 68k 기반 아폴로(68020) 및 아미가 3000(68030) 워크스테이션, 단명했던 AT&T 호빗 및 후기 파워PC 기반 BeBox와 같은 일부 비IBM 호환 기계에서도 사용되었다.

델과 같은 회사들은 AT 버스의 성능을 향상시켰지만 1987년에 IBM은 AT 버스를 독점적인 마이크로 채널 아키텍처(MCA)로 대체했다. MCA는 ISA에서 나타났던 많은 제약을 극복했지만, PC 아키텍처와 PC 시장에 대한 IBM의 통제권을 되찾으려는 노력이기도 했다. MCA는 ISA보다 훨씬 발전했고 나중에 PCI에 나타날 많은 기능을 가지고 있었다. 그러나 MCA는 폐쇄된 표준이었던 반면, IBM은 ISA에 대한 전체 사양과 회로도를 공개했다. 컴퓨터 제조업체들은 MCA에 대응하여 EISA와 후속 VESA 로컬 버스(VLB)를 개발했다. VLB는 부품 제조업체들이 이미 MCA를 위해 제조할 준비가 되어 있었기 때문에 원래 MCA를 위해 의도된 일부 전자 부품을 사용했다. EISA와 VLB 모두 AT (ISA) 버스의 하위 호환 확장판이었다.

ISA 기반 기계 사용자들은 시스템에 추가하는 하드웨어에 대한 특별한 정보를 알아야 했다. 몇몇 장치는 본질적으로 플러그 앤 플레이였지만, 이는 드물었다. 사용자들은 새로운 장치를 추가할 때 IRQ 라인, I/O 주소, 또는 DMA 채널과 같은 매개변수를 종종 구성해야 했다. MCA는 이러한 복잡성을 없앴고 PCI는 실제로 MCA에서 처음 탐구된 많은 아이디어를 통합했지만, EISA에서 더 직접적으로 파생되었다.

이러한 구성 문제는 결국 하드웨어, 시스템 바이오스, 그리고 운영체제 소프트웨어의 수정 조합을 사용하여 리소스 할당을 자동으로 관리하는 ISA PnP 시스템을 탄생시켰다. 실제로는 ISA PnP가 번거로울 수 있었고 아키텍처가 마지막 단계에 이르기 전까지는 잘 지원되지 않았다.

PnP ISA, EISA 또는 VLB 장치에는 장치를 식별하는 5바이트 EISA ID(3바이트 제조업체 ID + 2바이트 16진수)가 있을 수 있다. 예를 들어, CTL0044는 크리에이티브 사운드 블라스터 16/32 PnP에 해당한다.

PCI 슬롯은 ISA를 메인보드에서 직접 밀어내는 최초의 물리적으로 호환되지 않는 확장 포트였다. 처음에는 메인보드가 주로 ISA였고, 몇 개의 PCI 슬롯을 포함했다. 1990년대 중반까지 두 슬롯 유형은 대략 균형을 이루었으며, ISA 슬롯은 곧 소비자 시스템에서 소수가 되었다. 마이크로소프트의 PC-99 사양은 ISA 슬롯을 완전히 제거할 것을 권장했지만, 시스템 아키텍처는 여전히 플로피 드라이브, 직렬 포트 등을 처리하기 위해 내부적으로 ISA가 흔적 형태로 존재해야 했고, 이것이 소프트웨어 호환 LPC 버스가 만들어진 이유였다. ISA 슬롯은 몇 년 더 남아 있었고, 세기 전환기에는 AGP가 중앙 처리 장치 근처에, PCI 슬롯 배열이, 그리고 끝 부분에 하나 또는 두 개의 ISA 슬롯이 있는 시스템이 흔했다. 2008년 후반에는 플로피 디스크 드라이브와 직렬 포트조차 사라지고 있었으며, 칩셋에서 흔적적인 ISA(당시 LPC 버스)의 소멸이 임박했다.

PCI 슬롯은 ISA 슬롯에 비해 회전되어 있다. PCI 카드는 본질적으로 거꾸로 삽입되어 ISA 및 PCI 커넥터가 메인보드에 함께 압착될 수 있었다. 각 슬롯에서는 한 번에 두 커넥터 중 하나만 사용할 수 있지만, 이는 더 큰 유연성을 허용했다.

AT Attachment(ATA) 하드 디스크 인터페이스는 PC/AT의 16비트 ISA에서 직접 파생되었다. ATA는 IBM PC AT용 표준 이중 기능 플로피 디스크 컨트롤러 및 하드 디스크 컨트롤러 카드인 IBM 개인용 컴퓨터 고정 디스크 및 디스켓 어댑터에서 유래했다. 이 카드에 있는 고정 디스크 컨트롤러는 ATA 인터페이스의 기반이 된 레지스터 세트와 기본 명령 세트를 구현했다(그리고 IBM의 PC XT용 고정 디스크 컨트롤러 카드 인터페이스와는 크게 달랐다). ATA의 직접적인 전신은 하드 디스크 드라이브(HDD)와 하드 디스크 컨트롤러(HDC)를 하나의 카드에 통합한 타사 ISA 하드카드였다. 이는 ISA 슬롯이 HDD와 같은 무거운 장치를 지원하도록 설계되지 않았기 때문에 최상으로도 어색하고 최악으로는 메인보드에 손상을 줄 수 있었다. 다음 세대의 통합 드라이브 일렉트로닉스 드라이브는 드라이브와 컨트롤러를 모두 드라이브 베이로 옮기고 리본 케이블과 매우 간단한 인터페이스 보드를 사용하여 ISA 슬롯에 연결했다. ATA는 기본적으로 이 배열의 표준화와 드라이브 내 HDC와 인터페이스하기 위한 소프트웨어용 통일된 명령 구조이다. ATA는 이후 ISA 버스에서 분리되어 로컬 버스에 직접 연결되었으며, 일반적으로 칩셋에 통합되어 ISA가 지원할 수 있는 것보다 훨씬 높은 클럭 속도와 데이터 처리량을 제공한다. ATA는 16비트 ISA의 명확한 특성을 가지고 있는데, 16비트 전송 크기, PIO 모드의 신호 타이밍, 인터럽트 및 DMA 메커니즘 등이 그러하다.

 ISA 버스 아키텍처 

PC/XT-버스는 1980년대 IBM PC 및 IBM PC XT의 인텔 8086 및 인텔 8088 시스템에서 사용된 8-비트 ISA 버스이다. 62개의 핀 중에는 8088 프로세서의 8개의 데이터 라인과 20개의 주소 라인을 역다중화하고 전기적으로 버퍼링한 버전과 전원 라인, 클럭, 읽기/쓰기 스트로브, 인터럽트 라인 등이 포함되었다. 전원 라인에는 −5V 및 ±12V가 포함되어 pMOS 및 nMOS 회로(예: 동적 램)를 직접 지원한다. XT 버스 아키텍처는 단일 Intel 8259 PIC를 사용하여 8개의 벡터화되고 우선순위가 지정된 인터럽트 라인을 제공한다. 원래 인텔 8237에 의해 제공된 4개의 DMA 채널이 있다. 이 중 3개의 DMA 채널은 XT 버스 확장 슬롯으로 연결되며, 이 중 2개는 일반적으로 이미 기계 기능(디스켓 드라이브 및 하드 디스크 컨트롤러)에 할당되어 있다.

PC/AT-버스는 IBM PC/AT와 함께 도입된 16-비트(또는 80286-) 버전의 PC/XT 버스이다. 이 버스는 IBM에 의해 공식적으로 I/O 채널이라고 불렸다. 이는 XT-버스 커넥터는 변경되지 않고 대부분의 8비트 카드와 호환성을 유지하면서, 8비트 XT-버스 커넥터와 일직선으로 더 짧은 두 번째 에지 커넥터를 추가하여 XT-버스를 확장한다. 두 번째 커넥터는 총 24개의 추가 주소 라인과 총 16개의 추가 데이터 라인을 추가한다. 또한 두 번째 8259 PIC(첫 번째 라인 중 하나에 연결됨)에 연결된 새로운 인터럽트 라인과 4개의 16비트 DMA 채널, 그리고 8비트 또는 16비트 전송을 선택하는 제어 라인을 추가한다.

16비트 AT 버스 슬롯은 초기 IBM PC/AT 기기에서 원래 두 개의 표준 에지 커넥터 소켓을 사용했다. 그러나 AT 아키텍처와 16비트 ISA 버스의 인기로 인해 제조업체들은 두 소켓을 하나의 장치로 통합한 특수 98핀 커넥터를 도입했다. 이들은 1980년대 중반 이후에 제조된 거의 모든 AT급 PC에서 찾아볼 수 있다. ISA 슬롯 커넥터는 일반적으로 검은색이다(갈색 EISA 커넥터와 흰색 PCI 커넥터와 구별됨).

 장치 수 
메인보드 장치에는 전용 IRQ가 할당된다(슬롯에는 없음). 16비트 장치는 PC 버스 또는 PC/AT 버스 IRQ를 사용할 수 있다. 따라서 각각 8비트 IRQ 하나를 사용하는 장치를 최대 6개, 각각 16비트 IRQ 하나를 사용하는 장치를 최대 5개 연결할 수 있다. 동시에 각각 8비트 DMA 채널 하나를 사용하는 장치를 최대 4개, 각각 16비트 DMA 채널 하나를 사용하는 장치를 최대 3개 사용할 수 있다.

 다양한 버스 속도 
원래 버스 클럭은 CPU 클럭과 동기화되어, 시장에 출시된 많은 IBM 클론들 사이에서 버스 클럭 주파수가 다양하게 나타났다(때로는 16 또는 20 MHz에 달하기도 함). 이로 인해 특정 ISA 카드가 설계되지 않은 버스 속도에서 소프트웨어 또는 전기적 타이밍 문제가 발생했다. 후기 메인보드나 통합 칩셋은 별도의 클럭 생성기를 사용하거나, ISA 버스 주파수를 4, 6 또는 8 MHz로 고정하는 클럭 분주기를 사용하거나, 바이오스 설정을 통해 사용자가 주파수를 조정할 수 있도록 했다. 더 높은 버스 주파수에서 사용될 경우, 일부 ISA 카드(예: 특정 허큘리스 호환 비디오 카드)는 상당한 성능 향상을 보일 수 있었다.

 8/16비트 비호환성 
8비트 또는 16비트 전송 모드 선택을 위한 메모리 주소 디코딩은 128KB 섹션으로 제한되어, 8비트 및 16비트 카드를 혼합할 때 동일한 128KB 영역에서 공존할 수 없어 문제가 발생했다. 이는 MEMCS16 라인이 LA17-23 값에 따라 설정되어야 하기 때문이다.

 과거 및 현재 사용 
ISA는 오늘날에도 특수 산업 목적으로 사용된다. 2008년, IEI Technologies는 인텔 코어 2 듀오 프로세서용 최신 메인보드를 출시했는데, 이 메인보드는 다른 특수 I/O 기능 외에도 두 개의 ISA 슬롯을 갖추고 있었다. 이는 PCI 버스 버전으로는 사용할 수 없는 고가의 특수 ISA 버스 어댑터에 투자한 산업 및 군사 사용자들을 대상으로 마케팅되었다.

마찬가지로, ADEK Industrial Computers는 2013년 초 인텔 코어 i3/i5/i7 프로세서용 최신 메인보드를 출시했는데, 이 메인보드는 하나의 (비-DMA) ISA 슬롯을 포함하고 있다. 또한 MSI는 2020년에 스카이레이크 및 카비레이크 인텔 프로세서와 함께 사용할 수 있도록 ISA 슬롯이 하나 있는 최신 메인보드를 출시했다. 공식 사양에 따르면, 32비트 윈도우 7 설치 내에서 액세스할 수 있다. DFI 또한 커피레이크 인텔 프로세서와 함께 사용할 수 있도록 두 개의 ISA 슬롯을 특징으로 하는 메인보드를 출시했다. 이 예시에서는 ISA의 역사적 특성으로 인해 KVM 기반 가상 머신 내에서만 액세스할 수 있다.

산업 및 임베디드 애플리케이션에 사용되는 PC/104 버스는 ISA 버스의 파생물로, 다른 커넥터와 동일한 신호 라인을 활용한다. LPC 버스는 현재 메인보드에서 레거시 I/O 장치에 대한 연결로 ISA 버스를 대체했다. 물리적으로는 상당히 다르지만, LPC는 소프트웨어적으로 ISA와 거의 동일하게 보이므로, 원본 IBM AT에 사용된 인텔 80286 CPU의 전체 주소 공간에 해당하는 16MB DMA 제한과 같은 ISA의 특이성은 한동안 남아있을 가능성이 높다.

 ATA 
역사 섹션에서 설명했듯이, ISA는 ATA(일명 IDE) 하드 디스크에 사용되는 고급 기술 어태치먼트 인터페이스 개발의 기반이었다. 물리적으로 ATA는 16개의 데이터 비트, 정확히 하나의 IRQ 및 하나의 DMA 채널 지원, 그리고 3개의 주소 비트를 가진 ISA의 간단한 부분 집합이다. 이 ISA 부분 집합에 ATA는 두 개의 IDE 주소 선택("칩 선택") 라인(즉, 주소 디코딩, 사실상 주소 비트와 동등함)과 ATA/IDE 하드 디스크에 특정한 몇 가지 고유한 신호 라인(예: 케이블 선택/스핀들 동기화 라인)을 추가한다. 물리적 인터페이스 채널 외에도 ATA는 모든 ATA(IDE) 드라이브에 구현될 물리적 장치 레지스터 세트와 이러한 레지스터를 사용하여 고정 디스크 드라이브를 제어하기 위한 완전한 프로토콜 및 장치 명령 세트를 지정함으로써 ISA의 범위를 훨씬 넘어선다. ATA 장치 레지스터는 ATA 물리적 인터페이스 채널의 주소 비트 및 주소 선택 신호를 사용하여 액세스되며, ATA 하드 디스크의 모든 작업은 ATA 지정 명령 세트를 통해 ATA 지정 프로토콜을 사용하여 수행된다. ATA 표준의 초기 버전은 몇 가지 간단한 프로토콜과 MFM 및 RLL 컨트롤러(ATA 컨트롤러 이전에 있었던)의 명령 세트와 유사한 기본 명령 세트를 특징으로 했지만, 최신 ATA 표준은 크기 조절 가능한 숨겨진 시스템 저장 영역, 비밀번호 보안 잠금 및 프로그래밍 가능한 지오메트리 변환과 같은 고급 선택적 사용 기능을 제공하는 선택적 명령 및 프로토콜을 포함하는 훨씬 더 복잡한 프로토콜 및 명령 세트를 가지고 있다.

1990년대 중반에 ATA 호스트 컨트롤러(일반적으로 칩셋에 통합됨)는 PCI 형태로 이동되었다. ISA와 ATA의 또 다른 차이점은 ISA 버스가 단일 표준 클럭 속도에 고정되어 있었던(하위 하드웨어 호환성을 위해) 반면, ATA 인터페이스는 다양한 속도 모드를 제공하고, 연결된 드라이브가 지원하는 최대 속도에 맞춰 그 중 하나를 선택할 수 있었으며, ATA 표준의 후기 버전에서 더 빠른 속도를 계속 추가했다(최신 ATA-6의 경우 최대 ). 대부분의 형태에서 ATA는 ISA 버스보다 빠른 로컬 버스(예: 사우스브리지 통합 IDE 인터페이스)에 직접 연결될 경우 ISA보다 훨씬 빠르게 실행되었다.

 XT-IDE 
16비트 ATA/IDE 인터페이스 이전에 하드 디스크용 8비트 XT-IDE(XTA라고도 함) 인터페이스가 있었다. 이는 ATA만큼 인기가 없었으며, XT-IDE 하드웨어는 현재 찾기가 상당히 어렵다. 일부 XT-IDE 어댑터는 8비트 ISA 카드로 제공되었으며, XTA 소켓은 암스트래드의 후기 XT 클론과 단명했던 필립스 장치의 메인보드에도 존재했다. XTA 핀아웃은 ATA와 매우 유사했지만, 8개의 데이터 라인과 2개의 주소 라인만 사용되었고, 물리적 장치 레지스터는 완전히 다른 의미를 가졌다. 몇몇 하드 드라이브(예: 씨게이트 ST351A/X)는 점퍼로 선택하여 두 가지 인터페이스 유형을 모두 지원할 수 있었다.

많은 후기 AT(및 AT 후속) 메인보드에는 통합 하드 드라이브 인터페이스가 없었지만, ISA/EISA/VLB 슬롯에 연결된 별도의 하드 드라이브 인터페이스에 의존했다. 심지어 MFM/RLL 인터페이스와 드라이브가 장착된 80486 기반 장치도 점점 흔해지는 AT-IDE 대신 출하되었다.

코모도어는 XT-IDE 기반 주변 하드 드라이브 및 메모리 확장 장치 A590을 아미가 500 및 500+ 컴퓨터용으로 만들었는데, 이 장치는 SCSI 드라이브도 지원했다. 후기 모델인 A600, 아미가 1200, 그리고 아미가 4000 시리즈는 AT-IDE 드라이브를 사용한다.

 PCMCIA 
PCMCIA 사양은 ATA의 상위 집합으로 볼 수 있다. PCMCIA 플래시 드라이브를 포함한 PCMCIA 하드 디스크 인터페이스 표준은 포트와 드라이브를 ATA 모드로 상호 구성할 수 있도록 허용한다. 사실상의 확장으로, 대부분의 PCMCIA 플래시 드라이브는 단일 핀을 낮게 당겨 활성화되는 간단한 ATA 모드를 추가로 허용하므로, PCMCIA 하드웨어 및 펌웨어가 ATA 포트에 연결된 ATA 드라이브로 사용하기 위해 불필요하다. 따라서 PCMCIA 플래시 드라이브 대 ATA 어댑터는 간단하고 저렴하지만, 모든 표준 PCMCIA 플래시 드라이브와 작동이 보장되지는 않는다. 또한, 이러한 어댑터는 PCMCIA 인터페이스가 ATA보다 훨씬 복잡하므로 일반적인 PCMCIA 포트로 사용할 수 없다.

 임베디드 칩을 통한 에뮬레이션 
대부분의 최신 컴퓨터에는 물리적인 ISA 버스가 없지만, 거의 모든 PC(IA-32 및 x86-64)에는 물리적 주소 공간에 ISA 버스가 할당되어 있다. 일부 사우스브리지 및 일부 CPU 자체는 ISA 장치로서 ISA 버스를 통해 온도 모니터링 및 전압 판독과 같은 서비스를 제공한다.

 표준화 
IEEE는 1985년에 P996 사양이라는 ISA 버스 표준화를 시작했다. 그러나 P996 사양에 대한 서적이 출판되었음에도 불구하고 공식적으로 초안 상태를 벗어나지 못했다.

 현대의 ISA 카드 
오래된 컴퓨터를 사용하는 기존 사용자층이 여전히 존재하므로, 일부 ISA 카드는 여전히 제조되고 있다. 예를 들어 USB 포트가 있는 ISA 카드나 최신 프로세서, USB 3.0, SATA를 기반으로 하는 완전한 단일 보드 컴퓨터가 있다.

 같이 보기 

 PCI 버스
 PCI 익스프레스
 EISA
 MCA
 AGP
 VLB
 PCI-X

 각주 

분류:컴퓨터 버스
분류:메인보드 확장 슬롯
분류:IBM PC 호환기종
분류:컴퓨터 하드웨어 표준
분류:X86 IBM 개인용 컴퓨터
분류:레거시 하드웨어