맨위로가기

VME버스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

VME 버스는 1979년 모토로라가 68000 CPU를 개발하면서 시작된 컴퓨터 버스 표준이다. 원래 VERSA 버스라는 이름으로 개발되었으며, 유로카드 규격을 기반으로 기계적 사양을 추가하여 VME 버스(VERSA Module Eurocard bus)로 개칭되었다. IEC, ANSI, IEEE에서 표준화되었으며, 16비트에서 64비트 버스로 발전했다. VME64, VME64x, VME320 등의 확장 표준이 개발되었으며, VXIbus, VPX 등 관련 표준에도 영향을 미쳤다. 썬, 아타리, HP, 모토로라, 실리콘 그래픽스 등 다양한 컴퓨터 시스템에서 사용되었다.

더 읽어볼만한 페이지

  • 68k 아키텍처 - 모토로라 68000 시리즈
    모토로라 68000 시리즈는 1979년 출시된 16/32비트 마이크로프로세서 제품군으로, 데스크톱 컴퓨터, 워크스테이션, 게임 콘솔 등 다양한 시스템에 사용되었으며, 직교적인 명령어 집합, 다양한 주소 지정 방식, 슈퍼바이저 모드 등의 특징을 갖추고 성능과 기능이 개선되었다.
  • 68k 아키텍처 - CD-i
    CD-i는 필립스와 소니가 개발한 인터랙티브 멀티미디어 CD 포맷 및 플레이어였으나, 가정용 엔터테인먼트 및 교육 시장을 목표로 출시되었음에도 불구하고 상업적인 성공을 거두지 못하고 생산이 중단되었다.
  • 실험입자물리학 - 산란 단면적
    산란 단면적은 입자의 산란 정도를 나타내는 물리량으로, 미분 단면적은 특정 방향으로의 산란 정도를, 전 단면적은 모든 방향으로의 산란 정도를 나타낸다.
  • 실험입자물리학 - 가속물리학
    가속물리학은 하전 입자를 가속하는 기술과 관련된 물리학 분야이며, 선형 입자 가속기는 전자기장을 사용하여 입자를 가속하고, 빔 역학은 자기장으로 제어되며, 빔 진단과 시뮬레이션을 통해 가속기의 동작을 파악하고 조정한다.
  • IEEE 표준 - IEEE 754
    IEEE 754는 부동소수점 숫자를 표현하고 처리하기 위한 국제 표준으로, 다양한 형식과 연산, 반올림 규칙, 예외 처리 등을 정의한다.
  • IEEE 표준 - IEEE 802.2
    IEEE 802.2는 데이터 링크 계층의 LLC 서브레이어를 정의하는 IEEE 802 표준의 일부로, 비연결 및 연결 지향 모드를 지원하며, LLC 클래스 I, II, III, IV를 통해 다양한 서비스 유형을 제공하고, DSAP, SSAP 주소 및 제어 필드로 구성된 헤더와 필요에 따라 SNAP 확장을 사용해 네트워크 통신을 관리한다.
VME버스
기본 정보
유형컴퓨터 버스
설계 시기1981년
소개 시기1981년
개발자모토로라
포뮬라
몬티지
버스 폭16, 24, 32, 64비트
신호비동기
데이터 전송률최대 80MB/초 (VME64)에서 160MB/초 (VME64 확장)
커넥터DIN 41612
슬롯 크기유로카드
사용 분야산업 자동화
의료 장비
통신 장비
군사 시스템
기술 사양
표준IEC 60821
IEEE 1014
역사
개발 배경모토로라의 VERSAbus에서 파생
초기 목표모토로라 68000 CPU 지원
추가 개발다양한 CPU 지원
실시간 애플리케이션
물리적 특징
기반유로카드 크기
커넥터 유형DIN 41612
전기적 특징
신호 방식비동기
통신
중재분산 방식 사용
전송 모드단일 전송
블록 전송
기타
관련 기술CompactPCI
VPX (컴퓨팅)

2. 역사

1979년 모토로라의 잭 키스터가 68000 CPU 기반 시스템을 위한 표준화된 버스 시스템을 만들면서 VMEbus의 역사가 시작되었다.[2] 초기에는 VERSAbus로 불렸으며, 엣지 커넥터를 사용하는 14by 크기의 카드였다.[3] IBM System 9000 계측 컨트롤러, Automatix 로봇 및 머신 비전 시스템을 포함하여 소수의 제품에서 채택되었다.

VERSAbus memory card


이후 존 블랙, 줄리 키헤이, 스벤 라우, 맥스 로젤 등의 엔지니어들이 참여하여 사양을 개선하고, 유로카드 표준을 기반으로 한 기계적 사양을 추가하여 ''VERSAmodule'' 제품 개념을 만들었다. 그 결과는 처음에는 VERSAbus-E로 알려졌지만 나중에 ''VMEbus''(VERSAmodule Eurocard bus영어)로 이름이 변경되었다(일부에서는 ''Versa Module Europa''라고 부르기도 함).[3]

VMEbus는 시간이 지남에 따라 여러 확장을 거쳤다. 초기 표준은 16비트 버스였지만, VME64는 6U 카드에서 64비트 버스를, 3U 카드에서 32비트 버스를 지원하며 40 MB/s의 성능을 제공한다.[3] 핫 스와핑(플러그 앤 플레이)을 지원하는 VME64x, 2eSST 프로토콜을 사용하는 VME320 등 다양한 표준이 개발되었다.

VME 인터페이스에는 VME 자체와 병렬로 '사이드밴드' 통신 채널을 제공하는 많은 확장 기능이 추가되었다. IP 모듈, RACEway Interlink, SCSA, VME64x 백플레인에서 기가비트 이더넷, PCI 익스프레스, RapidIO, StarFabric 및 인피니밴드 등이 그 예이다.

VMEbus는 VXIbus 및 VPX와 같은 밀접하게 관련된 표준을 개발하는 데에도 사용되었으며, STEbus와 같은 많은 후기 컴퓨터 버스에 강력한 영향을 미쳤다.

2. 1. 초기 개발

1979년, 모토로라68000 CPU를 개발하고 있었다.[2] 잭 키스터(Jack Kister)는 68000 시스템용 표준화된 버스 시스템을 만들어 '''VERSA 버스'''라고 명명했다.[2] 이후 존 블랙(John Black)이 합류하여 사양을 개선하고 '''VERSA 모듈'''이라는 제품 컨셉을 만들었다.[3] 모토로라 유럽 부문의 스벤 라우|Sven Rau영어와 맥스 로젤|Max Loesel영어은 Eurocard영어 규격을 활용하여 기계적 사양을 추가했다.[3] 그 결과, 최초의 VERSA 버스-E가 탄생했으며, 이는 후에 '''VME 버스''' ('''''V'''ERSA'''m'''odule '''E'''urocard bus''영어)로 이름이 변경되었다 (''Versa Module Europa''라고도 불림).[3]

이후 시그네틱스, Philips, Thompson, Mostek 등 여러 기업들이 이 규격을 사용하게 되었고,[3] 곧 IEC에서 IEC 821 VMEbus (현 IEC 60821)로, ANSI와 IEEE에서 ANSI/IEEE 1014-1987로 표준화되었다.

2. 2. 국제 표준화

모토로라 68000 생태계에 관련된 여러 회사(시그네틱스, Philips, 톰슨, Mostek 포함)가 이 표준을 사용하기로 동의했다.[3] 곧 IEC에 의해 IEC 821 VMEbus로, ANSI와 IEEE에 의해 ANSI/IEEE 1014-1987로 공식 표준화되었다.[3]

2. 3. 발전과 확장

모토로라68000 CPU 개발 중이던 1979년, 엔지니어 잭 키스터는 68000 기반 시스템을 위한 표준화된 버스 시스템을 만들기로 결정하고 VERSAbus라 명명했다.[2] 이후 존 블랙이 합류하여 사양을 개선하고 'VERSAmodule' 제품 개념을 만들었다. 모토로라-유럽의 스벤 라우와 맥스 로젤은 유로카드 표준을 기반으로 기계적 사양을 추가했다. 그 결과 VERSAbus-E로 알려졌으나, 나중에 ''VMEbus''(VERSAmodule Eurocard bus영어)로 이름이 변경되었다.[3]

이후 시그네틱스, Philips, Thomson, Mostek 등 68000 생태계에 관련된 여러 회사들이 이 표준을 사용하기로 동의했다. 곧 IEC에 의해 IEC 821 VMEbus로, ANSI와 IEEE에 의해 ANSI/IEEE 1014-1987로 공식 표준화되었다.

원래 표준은 기존 유로카드 DIN 커넥터에 맞도록 설계된 16비트 버스였다. 그러나 시스템에 여러 업데이트가 있어 더 넓은 버스 폭을 허용하게 되었다. 현재 ''VME64''는 6U 크기 카드에서 완전한 64비트 버스를, 3U 카드에서는 32비트 버스를 포함한다. VME64 프로토콜은 40 MB/s의 전형적인 성능을 가진다.[3] 다른 관련 표준으로 ''VME64x''는 핫 스와핑(플러그 앤 플레이)을, 단일 VMEbus 카드에 꽂는 소형 'IP' 카드, VME 시스템을 함께 연결하기 위한 다양한 상호 연결 표준이 있다.

1990년대 후반에 동기식 프로토콜이 유리한 것으로 입증되었다. 연구 프로젝트는 VME320이라고 불렸다. VITA 표준 기구는 수정되지 않은 VME32/64 백플레인에 대한 새로운 표준을 요구했다.[3] 1999년, 새로운 2eSST 프로토콜은 ANSI/VITA 1.5에서 승인되었다.

용어연도버스 사이클최대 속도 (MB/s)
VMEbus32 병렬 버스 리비전 A1981년BLT40
VMEbus IEEE-10141987년BLT40
VME641994년MBLT80
VME64x1997년2eVME160
VME3201997년2eSST320


3. 특징

VME버스는 여러 개의 카드가 장착된 경우에도 오작동 없이 안정적으로 작동하는 높은 상호운용성(interoperability)을 제공한다. CPU가 여러 개의 카드를 동시에 사용할 때 발생하는 문제를 해결했다는 점에서 IBM-PC와 차이가 있다.[3]

VME의 발전
토폴로지연도버스 사이클최대 속도 (MB/s)
VMEbus32 병렬 버스 Rev. A198140
VMEbus IEEE-1014198740
VME64199480
VME64x19972eVME160
VME32019972eSST320


4. 기술 사양

VME버스는 68000의 핀 배열과 유사하며, 백플레인으로 연결된 것과 같다. 68000은 메모리 세그먼트가 없는 평평한 32비트 메모리 모델을 사용한다. VME는 68000과 매우 유사하지만, 68000은 대부분의 경우 문제가 되지 않을 정도로 충분히 일반적이다.

VME는 32비트 데이터 및 주소 버스를 분리하여 사용한다. 68000 주소 버스는 실제로 24비트, 데이터 버스는 16비트이지만(내부적으로는 32/32), 설계 당시 이미 완전한 32비트 구현을 고려하고 있었다.

VME는 P1과 P2라는 두 개의 유로카드 커넥터를 사용하여 두 가지 버스 폭을 모두 지원한다. P1은 32개 핀 3열로 구성되어 24개 주소 비트, 16개 데이터 비트 및 모든 제어 신호를 처리한다. P2는 나머지 8개 주소 비트와 16개 데이터 비트를 포함하는 1열을 추가로 갖는다.

블록 전송 프로토콜을 사용하면 단일 주소 사이클로 여러 버스 전송을 수행할 수 있어 효율적이다. 블록 전송 모드에서 첫 번째 전송은 주소 사이클을 포함하고, 후속 전송은 데이터 사이클만 필요로 한다. 슬레이브는 이러한 전송이 연속적인 주소를 사용하는 것으로 간주한다.

VME 버스에서 모든 전송은 DMA 방식이며, 모든 카드는 마스터 또는 슬레이브 역할을 할 수 있다. 현재 VME는 인텔 x86, HP PA-RISC, 모토로라 88000, PowerPC 등 다양한 CPU 버스를 지원한다.

4. 1. 주소 수정자

주소 수정자는 VME 버스 주소 공간을 여러 개의 개별 하위 공간으로 나누는 6비트 폭의 신호 세트이다. 주소 수정자는 유효 주소 비트 수, 권한 모드(프로세서가 사용자 수준 또는 시스템 수준 소프트웨어에 의한 버스 접근을 구분할 수 있도록) 및 전송이 블록 전송인지 여부를 지정한다.

다음은 주소 수정자 표이다.

16진수 코드기능설명
3F표준 감독 블록 전송블록 전송 A24, 권한
3E표준 감독 프로그램 접근A24 명령 접근, 권한
3D표준 감독자 데이터 접근A24 데이터 접근, 권한
3B표준 비권한 블록 전송일반 프로그램을 위한 A24 블록 전송
3A표준 비권한 프로그램 접근A24 명령 접근, 비권한
39표준 비권한 데이터 접근A24 데이터 접근, 비권한
2D짧은 감독 접근A16 권한 접근.
29짧은 비권한 접근A16 비권한 접근.
0F확장된 감독 블록 전송A32 권한 블록 전송.
0E확장된 감독 프로그램 접근A32 권한 명령 접근.
0D확장된 감독 데이터 접근.A32 권한 데이터 접근.
0B확장된 비권한 블록 전송A32 비권한 블록 전송.
0A확장된 비권한 프로그램 접근A32 비권한 명령 접근.
09확장된 비권한 데이터 접근.A32 비권한 데이터 접근.
참고An (A16, A24, A32와 같은)는 주소의 폭을 나타냅니다.


4. 2. 중재(Arbitration)

VME 버스는 버스 제어를 위해 9개의 중재 버스(arbitration bus)를 사용한다. 버스 통신은 버스에 설정된 '조정 모듈(arbiter module)' 카드가 제어한다. 라운드 로빈(round robin) 방식과 우선순위 방식의 두 가지 중재 모드가 지원된다.

  • 라운드 로빈 중재: 카드가 버스 마스터가 되기 위해 4개의 Bus Request 라인(BR0-BR3) 중 하나를 low로 설정한다. 여러 카드가 동시에 버스 마스터가 되려고 하면, 조정 모듈은 라운드 로빈 스케줄링 방식으로 순차적으로 버스 마스터 권한을 부여한다.
  • 우선순위 중재: BR0-BR3 라인에 고정된 우선순위가 할당된다 (BR0이 최저, BR3이 최고). 조정 모듈은 가장 높은 우선순위의 요청을 보낸 카드에게 버스 마스터 권한을 부여한다. 여러 카드가 동시에 같은 BR 라인으로 요청을 보낼 경우, 조정 모듈에 가까운 쪽이 우선시된다.


조정 모듈이 요청을 수락하면, 해당 Bus Grant 라인(BG0-BG4)을 어설트하여 버스 마스터 권한을 부여한다. 버스 마스터가 된 카드는 Bus Busy (BBSY*)를 어설트하여 버스가 사용 중임을 알린다.

마스터가 버스를 해제하는 방식에는 두 가지가 있다.

방식설명
Release When Done (RWD)마스터는 전송이 완료되었을 때 버스를 해제하고, 다음 전송 시에는 다시 조정이 필요하다.
Release On Request (ROR)마스터는 전송이 끝나도 BBSY*를 어설트하고 버스를 계속 유지한다. Bus Clear (BCLR*)가 다른 카드에 의해 어설트될 때까지 현 마스터가 제어를 계속 쥐고 있는다. 따라서 한 번에 많은 데이터 전송이 필요한 카드에서는 성능을 최적화하기 쉽다. 이 방식은 전송 레이턴시를 감소시키지만, 다른 카드에게는 반대로 레이턴시를 증가시킨다.


4. 3. 인터럽트

VME 버스는 7개의 우선순위 인터럽트 요청 라인(IRQ1-IRQ7)을 가지고 있으며, 이는 68000의 7가지 우선순위 인터럽트에 대응한다. 인터럽트 모듈은 이러한 인터럽트 요청 라인 중 하나를 어설트(assert)함으로써 인터럽트 요청을 발생시킨다. 버스 상의 각 모듈은 임의의 인터럽트를 발생시키는 것이 가능하다.

인터럽트 처리 모듈이 해당 우선순위의 인터럽트 요청을 감지하면, 인터럽트 처리 모듈 자신이 버스 마스터가 된다. 그리고 주소 버스에 IRQ 라인의 번호를 2진수로 출력하여 인터럽트 벡터를 읽는데, 예를 들어 IRQ5라면 101을 출력한다. 또한, IACK 라인을 어설트하고 상태/ID를 읽는다. 상태/ID를 반환하는 것은 인터럽트를 발생시킨 카드이다. 인터럽트 제어 모듈(일반적으로 CPU)은 이 상태/ID를 사용하여 적절한 인터럽트 처리 루틴을 호출한다.

5. 관련 버스

VME버스는 VXI 버스, en 등과 같은 밀접하게 관련된 표준 개발에 영향을 주었다.

6. VMEbus를 사용한 컴퓨터 시스템

7. VME의 발전

용어연도버스 사이클최대 속도 (Mbyte/초)
VMEbus32 병렬 버스 리비전 A1981BLT40
VMEbus IEEE-10141987BLT40
VME641994MBLT80
VME64x19972eVME160
VME32019972eSST320



VME버스의 역사에 대한 더 자세한 정보는 VITA 웹사이트(VITA)에서 확인할 수 있다.

참조

[1] 웹사이트 VMEbus FAQa https://www.vita.com[...] 2023-01-17
[2] 서적 The System engineer's handbook: a guide to building VMEbus and VXIbus systems Morgan Kaufmann
[3] 웹사이트 VME Technology FAQ http://www.vita.com/[...] Vita.com 1999-01-03
[4] 웹사이트 HP VME Products - Alimar Technology Corp http://www.alimartec[...] Alimartech.com 2013-08-01
[5] 문서 From Table 7 - 1 J1/P1 Pin Assignments, ANSI/VITA 1-1994 (R2002)
[6] 문서 From Table 7 - 2 J2/P2 Pin Assignments, ANSI/VITA 1-1994 (R2002)



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com