VMEbus

**VMEbus** (bus **VERSAmodule Eurocard**) là một tiêu chuẩn bus máy tính dựa trên kích thước vật lý của Eurocard.

## Lịch sử
Vào năm 1979, trong quá trình phát triển CPU Motorola 68000, một trong những kỹ sư của họ, Jack Kister, đã quyết định bắt đầu tạo ra một hệ thống bus tiêu chuẩn hóa cho các hệ thống dựa trên 68000. Nhóm Motorola đã động não trong nhiều ngày để chọn tên VERSAbus. Các thẻ VERSAbus có kích thước lớn, , và sử dụng đầu nối cạnh. Chỉ có một vài sản phẩm áp dụng nó, bao gồm bộ điều khiển thiết bị IBM System 9000 và các hệ thống thị giác máy và robot của Automatix.

Kister sau đó được tham gia bởi John Black, người đã tinh chỉnh các thông số kỹ thuật và tạo ra khái niệm sản phẩm *VERSAmodule*. Một kỹ sư trẻ làm việc cho Black là Julie Keahey đã thiết kế thẻ VERSAmodule đầu tiên, VERSAbus Adaptor Module, được sử dụng để chạy các thẻ hiện có trên VERSAbus mới. Sven Rau và Max Loesel của Motorola-Châu Âu đã thêm một thông số kỹ thuật cơ khí vào hệ thống, dựa trên tiêu chuẩn Eurocard lúc đó đang ở giai đoạn cuối của quá trình tiêu chuẩn hóa. Kết quả ban đầu được gọi là VERSAbus-E nhưng sau đó được đổi tên thành *VMEbus*, viết tắt của *VERSAmodule Eurocard bus* (mặc dù một số người gọi nó là *Versa Module Europe* hoặc *Versa Module European*).

Tại thời điểm này, một số công ty khác tham gia vào hệ sinh thái của 68000 đã đồng ý sử dụng tiêu chuẩn này, bao gồm Signetics, Philips, Thomson và Mostek. Chẳng bao lâu sau, nó đã được chính thức tiêu chuẩn hóa bởi IEC với tên gọi IEC 821 VMEbus và bởi ANSI và IEEE với tên gọi ANSI/IEEE 1014-1987.

Tiêu chuẩn ban đầu mô tả một bus có độ rộng lên đến 16-bit, được thiết kế để phù hợp với các đầu nối DIN của Eurocard hiện có và có băng thông truyền tải tối đa 40 MB/s. Tuy nhiên, đã có một số cập nhật cho hệ thống để cho phép độ rộng bus lớn hơn. *VME64* hiện tại hỗ trợ độ rộng bus lên đến 64-bit trong các thẻ kích thước 6U và 32-bit trong các thẻ 3U. Việc tăng gấp đôi độ rộng bus cũng làm tăng gấp đôi băng thông truyền tải tối đa của VME64 lên 80 MB/s. Các tiêu chuẩn liên quan khác đã thêm tính năng cắm nóng (plug-and-play) và tăng gấp đôi băng thông trong *VME64x*, các thẻ 'IP' nhỏ hơn cắm vào một thẻ VMEbus duy nhất và các tiêu chuẩn kết nối khác nhau để liên kết các hệ thống VME với nhau.

Vào cuối những năm 1990, các giao thức đồng bộ đã chứng tỏ được ưu thế. Dự án nghiên cứu được gọi là VME320. Tổ chức Tiêu chuẩn VITA đã kêu gọi một tiêu chuẩn mới cho các backplane VME32/64 không sửa đổi. Giao thức 2eSST mới đã được phê duyệt trong ANSI/VITA 1.5 vào năm 1999.

Qua nhiều năm, nhiều phần mở rộng đã được thêm vào giao diện VME, cung cấp các kênh truyền thông 'sideband' song song với chính VME. Một số ví dụ là IP Module, RACEway Interlink, SCSA, Gigabit Ethernet trên backplane VME64x, PCI Express, RapidIO, StarFabric và InfiniBand.

VMEbus cũng được sử dụng để phát triển các tiêu chuẩn liên quan chặt chẽ như VXIbus và VPX.
VMEbus đã có ảnh hưởng mạnh mẽ đến nhiều bus máy tính sau này như STEbus.

### Những năm đầu của VME
Các khái niệm kiến trúc của VMEbus dựa trên VERSAbus, được Motorola phát triển vào cuối những năm 1970. Sau đó nó được đổi tên thành "VME", viết tắt của *VERSAmodule Eurocard*, bởi Lyman (Lym) Hevle, lúc đó là Phó chủ tịch phụ trách Hoạt động Hệ thống Vi mô của Motorola. Lyman sau đó vào năm 1982 là người sáng lập *VMEbus Marketing Group*, sau này được đổi tên thành *VMEbus International Trade Association* vào năm 1984/1985, và được rút ngắn thành *VITA* vào năm 2005.

John Black của Motorola, Craig MacKenna của Mostek và Cecil Kaplinsky của Signetics đã phát triển bản thảo đầu tiên của đặc tả VMEbus. Vào tháng 10 năm 1981, tại triển lãm thương mại System '81 ở Munich, Tây Đức, Motorola, Mostek, Signetics/Philips và Thomson CSF đã công bố sự hỗ trợ chung của họ đối với VMEbus. Họ cũng đã đưa Bản sửa đổi A (Revision A) của đặc tả vào phạm vi công cộng.

Năm 1985, Aitech đã phát triển, theo hợp đồng cho TACOM của Lục quân Hoa Kỳ, bo mạch VMEbus 6U làm mát bằng dẫn nhiệt đầu tiên. Mặc dù về mặt điện học nó cung cấp giao diện giao thức VMEbus tuân thủ, nhưng về mặt cơ khí, bo mạch này không thể thay thế để sử dụng trong các khung máy phát triển VMEbus phòng thí nghiệm làm mát bằng không khí.

Vào cuối năm 1987, một ủy ban kỹ thuật đã được thành lập dưới quyền VITA dưới sự chỉ đạo của IEEE để tạo ra bo mạch VMEbus 6U× 160mm quân sự, làm mát bằng dẫn nhiệt, hoàn toàn tương thích về điện và cơ khí đầu tiên, do Dale Young (DY4 Systems) và Doug Patterson (Plessey Microsystems, sau đó là Radstone Technology) đồng chủ trì. ANSI/IEEE-1101.2-1992 sau đó đã được phê chuẩn và ban hành vào năm 1992 và vẫn được áp dụng như một tiêu chuẩn quốc tế làm mát bằng dẫn nhiệt cho tất cả các sản phẩm VMEbus 6U.

Năm 1989, John Peters của Performance Technologies Inc. đã phát triển khái niệm ban đầu về VME64: ghép kênh các đường địa chỉ và dữ liệu (A64/D64) trên VMEbus. Khái niệm này đã được trình diễn cùng năm đó và được đưa vào Ủy ban Kỹ thuật VITA vào năm 1990 như một bản nâng cao hiệu suất cho đặc tả VMEbus.

Năm 1993, các hoạt động mới bắt đầu trên kiến trúc VME cơ sở, liên quan đến việc triển khai các bus phụ nối tiếp và song song tốc độ cao để sử dụng làm các kết nối I/O và hệ thống con di chuyển dữ liệu. Các kiến trúc này có thể được sử dụng làm bộ chuyển mạch tin nhắn, bộ định tuyến và các kiến trúc song song đa xử lý nhỏ.

Đơn xin công nhận VITA là một tổ chức phát triển tiêu chuẩn được ủy quyền của ANSI đã được chấp thuận vào tháng 6 năm 1993. Nhiều tài liệu khác (bao gồm các tiêu chuẩn mezzanine, P2 và bus nối tiếp) đã được đặt dưới quyền quản lý của VITA với tư cách là Bên Quản trị Phạm vi Công cộng của các công nghệ này.

## Mô tả
Theo nhiều cách, VMEbus tương đương hoặc tương tự với các chân của 68000 được đưa ra một bảng mạch mặt sau.

Tuy nhiên, một trong những tính năng chính của 68000 là mô hình bộ nhớ 32-bit phẳng, không có phân đoạn bộ nhớ và các "phụ tính" gây phiền toái khác. Kết quả là, mặc dù VME rất giống 68000, nhưng 68000 đủ tổng quát để khiến điều này không phải là vấn đề trong hầu hết các trường hợp.

Giống như 68000, VME sử dụng các bus dữ liệu và địa chỉ 32-bit riêng biệt. Bus địa chỉ 68000 thực tế là 24-bit và bus dữ liệu là 16-bit (mặc dù bên trong là 32/32) nhưng các nhà thiết kế đã hướng tới một triển khai 32-bit đầy đủ.

Để cho phép cả hai độ rộng bus, VME sử dụng hai đầu nối Eurocard khác nhau, P1 và P2. P1 chứa ba hàng, mỗi hàng 32 chân, thực hiện 24 bit địa chỉ đầu tiên, 16 bit dữ liệu và tất cả các tín hiệu điều khiển. P2 chứa thêm một hàng nữa, bao gồm 8 bit địa chỉ còn lại và 16 bit dữ liệu.

Giao thức truyền khối (block transfer) cho phép thực hiện nhiều lần truyền bus chỉ với một chu kỳ địa chỉ duy nhất. Trong chế độ truyền khối, lần truyền đầu tiên bao gồm một chu kỳ địa chỉ và các lần truyền tiếp theo chỉ yêu cầu các chu kỳ dữ liệu. Thiết bị tớ (slave) có trách nhiệm đảm bảo rằng các lần truyền này sử dụng các địa chỉ liên tiếp.

Các bus master có thể giải phóng bus theo hai cách. Với Release When Done (RWD), master giải phóng bus khi hoàn thành một lần truyền và phải phân xử lại bus trước mỗi lần truyền tiếp theo. Với Release On Request (ROR), master giữ bus bằng cách tiếp tục xác nhận BBSY* giữa các lần truyền. ROR cho phép master duy trì quyền kiểm soát bus cho đến khi Bus Clear (BCLR*) được xác nhận bởi một master khác muốn phân xử bus. Do đó, một master tạo ra các đợt lưu lượng truy cập có thể tối ưu hóa hiệu suất của *nó* bằng cách phân xử bus chỉ trong lần truyền đầu tiên của mỗi đợt. Việc giảm độ trễ truyền tải này phải trả giá bằng việc độ trễ truyền tải của các master khác sẽ cao hơn một chút.

Các mã sửa đổi địa chỉ (address modifier) được sử dụng để chia không gian địa chỉ bus VME thành nhiều không gian con riêng biệt. Mã sửa đổi địa chỉ là một tập hợp các tín hiệu rộng 6 bit trên backplane. Mã sửa đổi địa chỉ chỉ định số lượng bit địa chỉ có nghĩa, chế độ đặc quyền (để cho phép bộ vi xử lý phân biệt giữa các lần truy cập bus bởi phần mềm cấp người dùng hoặc cấp hệ thống) và liệu việc truyền tải có phải là truyền tải khối hay không.
Dưới đây là một bảng không đầy đủ về các mã sửa đổi địa chỉ:

Trên bus VME, tất cả các lần truyền đều là DMA và mỗi thẻ là một master hoặc slave. Trong hầu hết các tiêu chuẩn bus, có một lượng lớn sự phức tạp được thêm vào để hỗ trợ các loại truyền tải khác nhau và lựa chọn master/slave. Ví dụ, với bus ISA, cả hai tính năng này đều phải được thêm vào bên cạnh mô hình "kênh" (channel) hiện có, theo đó tất cả các giao tiếp đều được xử lý bởi CPU chủ. Điều này làm cho VME đơn giản hơn đáng kể ở cấp độ khái niệm trong khi vẫn mạnh mẽ hơn, mặc dù nó đòi hỏi các bộ điều khiển phức tạp hơn trên mỗi thẻ.

## Công cụ phát triển
Khi phát triển và/hoặc khắc phục sự cố bus VME, việc kiểm tra các tín hiệu phần cứng có thể rất quan trọng. Máy phân tích logic và máy phân tích bus là những công cụ thu thập, phân tích, giải mã, lưu trữ tín hiệu để mọi người có thể xem các dạng sóng tốc độ cao theo ý muốn.

VITA cung cấp một bản FAQ toàn diện để hỗ trợ việc thiết kế và phát triển hệ thống VME.

## Máy tính sử dụng VMEbus
Các máy tính sử dụng VMEbus bao gồm:
* Máy tính bảng đơn PA-RISC HP 743/744
* Sun-2 cho đến Sun-4
* Các trạm làm việc công nghiệp HP 9000
* Atari TT030 và Atari MEGA STE
* Motorola MVME
* Symbolics
* PACE của Advanced Numerical Research and Analysis Group.
* Hệ thống tạo mẫu nhanh ES1000 của ETAS
* Một số máy tính Data General AViiON dựa trên Motorola 88000
* Các hệ thống dựa trên MIPS của Silicon Graphics đời đầu bao gồm Professional IRIS, Personal IRIS, Power Series và các hệ thống Onyx
* Convergent Technologies MightyFrame

## Sơ đồ chân

Góc nhìn khi nhìn vào khe cắm backplane.

P1

P2

Các hàng a và c của P2 có thể được sử dụng bởi một bus phụ, ví dụ như STEbus.

## Xem thêm
* Thu thập dữ liệu
* VPX
* VXS
* Futurebus
* CompactPCI
* CAMAC
* FPDP
* Danh sách băng thông của các thiết bị

## Tham khảo

## Liên kết ngoài
* Trang web VITA
* VMEbus Technology FAQ
* Thế hệ tiếp theo của VME
* Sơ đồ chân và tín hiệu bus VME