사진에서 짧은 것이 8비트 규격의 ISA, 나머지 왼쪽으로 더 긴 것이 16비트 규격의 ISA.
1. 개요
Industry Standard Architecture1981년 IBM의 PC/XT와 PC/AT를 위해 개발된 확장 카드 슬롯의 일종.
부를 때 ISA 버스 또는 ISA 슬롯이라는 명칭이 많이 쓰인다. 일부는 아이사라고 부르는 경우도 있었다. 처음 나왔을땐 AT PC용으로 개발되어 AT 버스라고 불렸다.
데이터 대역폭은 하프 듀플렉스 모드시 8MB/s, 풀 듀플렉스 모드시 16MB/s로 현대 기준으론 매우 느리다. 그러나 레이턴시가 매우 빨라서 초창기엔 확장용 램 슬롯으로 썼을 정도였다. 클럭은 원래 CPU 클럭과 동기화했으나 CPU 클럭이 늘어나고 내외부 버스를 더이상 16비트를 쓰지 않으면서 8 MHz로 고정된다.
1992년 PCI의 등장과 함께 개인용 컴퓨터에서는 점차 사라졌고 펜티엄 4 시스템부터는 찾아보기 힘들게 됐다. 하지만 칩셋 내부에서는 지원이 어느 정도 이어져서 산업용 컴퓨터 등에서는 기존 기기를 지원하기 위해 달려 있는 경우가 있다. 이러한 산업용 메인보드는 보통 주문을 받아야 만들어지는 제품이므로 일반적으로 구하기 힘들며 가격도 비싼 편이다. 현재는 칩셋 내부에서도 지원을 중단하여 PCI to ISA 브리지 칩셋이나 LPC 버스를 사용해 구현하고 있다.
2. 후속 및 파생 버스
시간이 지나면서 슬슬 ISA의 처리 능력에 한계가 오기 시작했고, 이 ISA를 32비트로 확장하기 위해 EISA나 MCA라는 것들이 나왔지만 둘 다 처절하게 망했다. 이후 VESA 로컬 버스라는 개념이 나왔는데, 486 CPU의 데이터 버스에 좀 더 직접적으로 연결하여 속도를 높이려는 것이었다. ISA 슬롯 옆에 슬롯 하나를 더 추가하여 16+16=32비트를 구성했다. 위 이미지에 있는 ISA 슬롯 옆에 추가로 달린 베이지색 슬롯이 VESA 로컬 버스 슬롯이다.
그러나 이런 시도는 그저 태생부터 16비트 기반이었던 ISA를 억지로 32비트로 늘린 미봉책이었던지라 근본적인 해결책은 되지 않아서 여러 가지 문제점이 발생했다. 결국 PCI가 나오고 486도 후속작이 등장하면서 VESA는 사라졌고[1](드물지만 VESA와 PCI를 같이 단 보드도 있었다), ISA는 기존 카드와의 호환성을 위해 한두 슬롯씩 남아 있다가 인텔과 MS가 합심하여 만든 PC 99라는 PC 디자인 가이드를 통해 ISA를 권장하지 않도록 하여[2] 펜티엄 4 시기 쯤에 사라지게 됐다. 펜티엄 4가 나오기 이전에도, 인텔에서는 i820 메인보드 칩셋에서 공식적인 ISA 지원을 제거했다. 하지만 아수스나 기가바이트 같은 일부 메인보드 제조사들은 IT8888F 같은 서드파티 PCI to ISA 브리지 칩셋을 이용하여 ISA 슬롯이 달린 보드를 내놓기도 했다. ISA 버스가 담당했던 저속 주변장치 연결 기능은 LPC(Low Pin Count) 버스로 대체되었고, LPC는 ISA와는 다르게 확장 카드를 지원하지 않고 메인보드 내장형 저속 장치(직렬 포트, 하드웨어 모니터 등)에 사용하는 것을 염두에 두고 설계되었다. LPC 버스에 연결되는 외부 장치로는 TPM 모듈 정도만 출시되었다. LPC는 ISA와의 호환성을 염두에 두고 설계되었기 때문에, 전체적인 핀 개수는 줄어들었지만 일부 신호 핀들은 ISA와 동일한 기능을 수행했다.
3. 펜티엄 III 이후 ISA 버스 지원
PCI to ISA 브릿지 형식으로 ISA 보드를 사용 가능하게 해주는 어댑터 카드들도 있다. 허나 PCI의 근원적인 문제인 PCI Latency가 해결되지 않으므로 ISA 특유의 빠릿빠릿한 반응성을 보장할 수 없고 DMA 등 메인보드 칩셋에서 처리해줘야하는 것도 없어서 말 그대로 ISA 카드를 꼽을 수 만 있는 젠더에 불과 하다. 문제는 아래 산업용 보드들도 100 시리즈 칩셋 이후엔 사실상 그냥 ISA 젠더를 내장한 반쪽짜리 지원이란것이다.소켓 478과 775 초창기에 사용되던 ICH5R 사우스브릿지 칩셋까지는 내부적으로 ISA 기능을 지원하고는 있었다. 따라서 이 시기까지는 메인보드 제조사에서 의지만 있었다면 ISA 슬롯도 얼마든지 달 수 있었다. 메인보드 제조사에서 인텔/MS의 가이드라인에 따라 ISA를 제거했기 때문에 보기가 어려웠던 것일 뿐. 물론 개인용 PC 시장에서 ISA 확장 카드들이 급속도로 PCI 확장 카드로 대체되면서 씨가 말라버린 상황도 한몫했다.
소켓 775가 본격적으로 사용되기 시작한 ICH6R부터는 ISA의 기능들이 차차 제거되었다. 한편 인텔은 LPC 버스를 대체하기 위해서 SPI 버스를 기반으로 한 eSPI (Enhanced SPI) 버스를 개발했고, 이를 설계하면서 IRQ 지원은 남겨 두었지만 8237 DMA, 즉 ISA DMA 지원을 제거했다.# 그 결과 eSPI가 도입된 100 시리즈 칩셋부터는 ISA DMA에 필요한 LDRQ 핀도 제거되었다.
| |
| 2014년에 출시된 DFI의 산업용 메인보드. 제일 왼쪽에 ISA 슬롯이 2개 달려 있다. 제품 정보, 가격 정보 |
| |
| 2020년 3월에 출시된 MSI의 산업용 메인보드. 제일 왼쪽에 ISA 슬롯이 1개 달려 있다. 제품 정보 |
이런 식으로 산업용으로 쓰기 위해 PCI to ISA 컨버터를 내장해 일부 기능만 지원하는 식의 ISA는 아직 많이 남아 있다. 2014년에는 인텔 H81 칩셋과 i7-4770K까지 장착 가능한 ISA 슬롯이 달린 LGA 1150 소켓의 풀 ATX 메인보드인 HD620-H81이 나오기도 했다. 심지어, 2020년 3월에 인텔 H110 칩셋과 기반에 i7-7700K까지 장착 가능하면서 ISA 슬롯 1개까지 탑재된 LGA 1151 소켓 메인보드인 MS-98L9 V2.0까지 나왔을 정도.
하지만 이러한 메인보드에 내장된 ISA들은 PCI to ISA 컨버터를 통해서 ISA를 지원하는 것이라 DMA 문제 등으로 ISA 사운드 카드 등 ISA용 확장 카드 지원에 제한이 많아 원하는 기능을 쓰지 못할 가능성이 높다. 이 MS-98L9 V2.0이 사용한 H110 칩셋은 LDRQ를 전달하는 기능이 제거되어 오로지 SERIRQ 기능만 남아있기 때문에,[3] ISA 슬롯의 DMA 버스 마스터링을 제공할 수 있는 어떠한 방법도 불가능해졌으므로 이 기능을 사용하는 대표적 장치인 사운드카드를 장착할 생각이라면 재고가 필요하다.[4]
또한 6 시리즈 메인보드 이후로는 펌웨어가 BIOS가 UEFI 로 넘어가고 600시리즈 부터는 몇몇보드를 빼면 UEFI에 바이오스 호환을 위한 CSM을 삭제해서 완전히 넘어가는 추세라 이번에야 말로 ISA의 최후가 될 가능성이 높아졌다. 당장 MS-98L9 메인보드의 제품 설명에도 AMI UEFI라고 쓰여 있다.
그럼에도 과도기적 보드의 UEFI에 CSM이 포함되어 있다 보니 Secure Boot 기능까지 꺼 버리면 작동이 안 되는 일은 없을 것이다. UEFI가 본래 인텔이 독자적으로 개발하여 개방한 규격이고, 오는 2020년까지 개인 PC든 서버용 컴퓨터든 용도를 불문하고 CSM을 흔적도 없이 날려버린 UEFI Class 3를, 더 나아가서는 Class 3+까지 도입할 예정이라[5] 당연히 제조업체 입장에서는 최고 개발 위치인 인텔의 말을 무조건 듣는 수밖에 없고, 게다가 인텔이 200 시리즈 칩셋부터 Windows 10 미만 OS 공식 지원을 배제한다는 탓에 더더욱 지원할 이유가 사라졌다는 점 때문에 최후가 될 가능성이 높아졌다는 이야기인 것이다.
이렇게 되면 ISA를 비롯한 하드웨어에 직접 접근하여 제어해야만 하는 것이 필수인 장비들로서는 사형선고를 받는거나 마찬가지가 된다.
| |
| 일명 루비보드로 불리는 ISA 네이티브 지원 RUBY-9719VG2AR 보드 제일 왼쪽에 ISA 슬롯이 1개 달려 있다. 제품 정보 |
따라서 DMA 이슈가 없이 네이티브로 ISA를 지원하는 마지노선은 인텔 775 소켓을 쓰는 4시리즈 산업용 보드다. 위의 G41을 사용하는 루비보드는 아래 항목에 서술하듯 도스부터 윈도우 10까지 지원하는 걸 볼 수 있다.
칩셋이 ISA의 DMA를 지원한다면 LPC 버스와 ISA 변환 칩이 시중에 풀려있기 때문에 TPM 같은 LPC 버스를 쓰는 단자에 ISA 컨버터를 사용해 실사용이 가능하다. 위 영상은 해당 프로젝트를 진행중인 유튜버로 이 경우에도 ISA DMA를 완전히 제거하기 직전인 인텔 브로드웰까진 ISA가 사용 가능함을 입증했으며, AMD는 AM4 소켓까지 가능할 것으로 추측 중이다.
4. 고전 게임용으로 ISA
사운드 카드는 아직까지 많이 사용됐던 DOS 소프트웨어와의 호환성 때문에 PCI가 시장을 장악한 후에도 계속해서 ISA로 발매되었다. 이전까지 발매됐던 DOS 게임이 특정한 몇 개의 사운드 카드를 기반으로 개발됐기 때문에 PCI 사운드 카드는 호환성 면에서 문제가 생기는 경우가 많았다. 이후 윈도우가 시장을 완전히 장악하게 된 90년대 후반부터는 사운드 카드도 PCI로 완전히 넘어갔다. 지금도 도스머신을 구축하려고 하면 ISA 사운드 카드를 구해다 장착하는 것이 좋다.1999년부터 가동된 EZ2DJ 시리즈의 기체에도 하드웨어 제어를 위한 ISA 버스를 사용하는 카드가 있어서 이후 사양을 업그레이드 될 때 심한 제약을 가한 요소가 됐다. 왜냐면 당시 PCI로 I/O 카드를 개발하는데 드는 비용은 굉장히 높았다. 따라서 싼 값과 간단한 구조를 동시에 이룰 수 있는 ISA를 대신 채택한 것.[6] PCI는 모든 PCI 슬롯이 독자행동을 할 수 없고 버스를 공유하는 시스템이며, 흔히 보이는 슬롯뿐만 아니라 메인보드에 온칩으로 붙어 있는 몇몇 기능들(대표적으로 내장 그래픽, 내장 사운드 등)도 PCI 버스를 공유하므로 슬롯에 다른 장치를 꽂지 않았다고 해도 문제가 된다. 그리고 PCI는 ISA와 달리 특정 IRQ나 DMA 채널을 독점할 수 없으며, 일정 시간이 지나면 PCI 버스의 사용권을 내어 놓아야 한다. 그리고 내어 놓은 버스의 소유권을 다시 되찾아오는 데에 32~128ms의 지연시간이 발생한다(PCI Latency). 이런 문제들 때문에 ms 단위에서 판정이 오고가는 음악게임에는 대단히 어울리지 않는 인터페이스이며, 이후 PCI의 계승자인 PCI Express가 슬롯별 개별 직렬버스로 변경되면서 해결된다.[7] 이로 인해 EZ2AC : EVOLVE가 나올 때까지 펜티엄 3/셀러론 기반 기체를 사용할 수밖에 없었다. EVOLVE 부터는 ISA 슬롯이 달린 인텔 845GV나 845PE 메인보드[8]에 펜티엄 4/셀러론 노스우드를 사용한다.
한때 상단 항목의 인텔 100 시리즈의 ISA 지원 산업보드의 등장으로 EZ2AC도 다른 현역 리듬게임들과 동급의 사양으로 업그레이드가 가능하리라 기대를 모았다. 하지만 HD620-H81과 MS-98L9 V2.0 둘 다 30만 원대에 판매 중이라 업그레이드는 요원할 것으로 보인다. 비용 문제뿐만 아니라 후자는 Windows XP를 지원하지 않기 때문에 Windows 7 이상 운영체제를 설치해야 하는데, 이 경우 ISA 드라이버와 호환성 문제가 발생할 수 있다.[9] 그나마 Windows 7 32비트 버전이라면 드라이버 서명을 무시하고 설치가 가능하기는 하다. Windows 8부터 10까지는 디바이스 드라이버 1문단을 참고하여 서명되지 않은 드라이버를 설치하는 방법대로 삽질을 좀 해줘야 한다.[10] 그러나 이런식으로 드라이버를 잡는다 해도 상술하듯 100시리즈 산업용 보드는 PCI to ISA 젠더를 내장한거나 다름 없는 반쪽짜리 지원이라 ISA 특유의 빠릿한 레이턴시 구현도 불가능하다. 또한 DMA 이슈 역시 해결방법이 나오지 않은 상태다.
그래서 이러한 DMA 이슈가 없는 네이티브 ISA 지원 산업용 보드의 마지노선인 인텔 775소켓 4시리즈를 이용한 고전게임 머신들이 등장하고 있다.
ISA 버스에 사운드 카드를 장착하고 코어 2 쿼드 CPU에 GRUB로 도스부터 윈도우 10까지 멀티 부팅해 40년을 아우르는 고전게임 머신 등을 만드는 것을 유튜브나 여러 커뮤니티에서 볼 수 있다.
5. 기타
[1] 방식은 완전히 다르지만, 1997년경에 등장했던 AGP 버스도 PCI Express에 밀려 비슷한 운명을 맞았다.[2] 이 책의 실물은 아마존 링크 참조.[3] 마지막으로 지원된 칩셋이 9 시리즈이다.[4] 사운드 블라스터 ISA버전의 경우 IRQ만 지원되면 FM 사운드는 들려줄 수 있으나, DMA 채널 설정이 불가능하면 도스게임 등에서 사블만의 독자 이펙트 혹은 PCM 사운드를 사용하는 게임들(둠, 울펜슈타인 등)에서는 배경음악이나 효과가 제대로 나오지 않는다.[5] Class 3+는 Secure Boot가 기본적으로 켜진 상태로 구성되며, 서명되지 않은 UEFI 코드를 실행할 수가 없다고 한다.[6] 이 I/O 카드에는 메인 컨트롤러로 8051 계열 칩이 들어가 있다.[7] 코나미는 PC 기반 기판을 사용할 때 기본적으로는 USB I/O보드를 사용하면서도 판정에 중요한 키 입력은 메인보드에 내장된 시리얼포트를 사용하는 경우가 다수 있었다. 기타도라, 유비트, DDR 시리즈 등이 그러한 예이다. 그리고 산업용 보드의 시리얼 포트는 ISA(LPC)기반이다.[8] 해외에서 생산된 산업용 및 임베디드 보드를 이용한다고 한다.[9] 전자는 제조사 매뉴얼에 따르면 XP도 지원한다고 한다.[10] 다만 시리얼 입력방식 외 대다수 드라이버가 순정이면 입력레벨이 비교적 투박해진 게 Windows 7이다. 이미 Windows 7에 연동하는 시리얼 장비는 POS기나 단순한 실험장비 정도고 Windows XP나 Windows 98 Second Edition 쓰는 현장도 찾다 보면 보이기도 한다. 용도가 용도이다보니 SKU는 전부 다라고 하면 안되겠지만, 대체로 임베디드 에디션을 사용 할 것이다. 이미 Windows XP 서비스 팩 2 후반기부터 USB 전용기기가 점점 늘어났다.