VMEbus ( eng. VersaModule Eurocard bus , nogle gange VME ) er en computerbusstandard, der oprindeligt blev udviklet til Motorola 68000 -familien af mikroprocessorer , og senere fundet anvendelse til mange andre applikationer. VME-bussen er blevet standardiseret af IEC som ANSI / IEEE 1014-1987. Fysisk bruger VME'en Euromechanics- konstruktionen . VME-bussen blev først udviklet i 1981 og har været i udbredt brug indtil i dag.
Nedenfor er en kort historie om VMEBus baseret primært på en historisk side fra VMEbus International Trade Associations hjemmeside . ( VITA ).
I 1979 var Motorola ved at udvikle sin nye 68000 mikroprocessor, og dets ingeniører, Jack Kister og John Black [1] , rejste spørgsmålet om at skabe en standardiseret bus til systemer, der bruger 68000. Euromechanics . For at demonstrere konceptet udviklede Motorolas europæiske Microsystems-gruppeingeniører Max Loesel og Sven Rau prototyper af CPU 68000-kortet, statiske og dynamiske hukommelseskort. Kaldet VERSAbus-E af disse udviklere , blev bussen hurtigt omdøbt til VME. Forkortelsen VME har ikke et officielt udskrift; uofficielt afsløres det ofte som VERSAmodule Europe.
I blokoverførselstilstanden (når der er flere dataoverførsler pr. 1 adresseoverførsel), kan hastigheden nå op på 320 MB/s (VME64) [2] .
På mange måder er VMEbussen 68000-processorens eksterne grænseflader, modificeret til at forbinde flere printkort. Typisk er dette design en ulempe, da det tvinger dig til at skabe systemer, der ligner dem, bussen oprindeligt blev brugt til. En af nøglefunktionerne ved 68000-processoren var imidlertid den flade, 32-bit hukommelsesmodel og fraværet af hukommelsessegmentering, hvilket gør VME-bussen alsidig nok til de fleste applikationer.
Ligesom 68000-processorbussen bruger VME en separat adressebus og en separat databus, som begge er 32-bit. Faktisk brugte 68000's eksterne bus under udviklingen af VME en 24-bit adressebus og en 16-bit databus (selv om begge busser internt var 32-bit), men VME-designerne forudså behovet for 32-bit busser i fremtiden. For at sikre muligheden for at bruge dæk med forskellig kapacitet, var det muligt at anvende to forskellige typer stik: P1 og P2. P1-stikket indeholder tre rækker med hver 32 ben og tillader brugen af de nederste 24 bit af adressen og 16-bit databussen samt alle styresignaler. Stik type P2 indeholder en række kontakter mere; denne ekstra række indeholder de resterende 8 adresselinjer og 16 datalinjer.
Logisk set er alle VME-busenheder opdelt i tre typer:
Master - Starter cyklusser på bussen. Slave - udfører operationer på kommando af lederen. Voldgiftsdommer - kontrollerer bussens travlhed.
Bussen styres af et sæt på ni linjer kendt som voldgiftsbussen . Al kommunikation på bussen styres af en bus-arbiter placeret på et kort installeret i slot nummer 1 på chassiset, et sådant kort kaldes arbiter-modulet . Generelt, for at kommunikere på bussen, skal hvert bord anmode om adgang til bussen ved at sætte en af busanmodningerne i linjer på voldgiftsbussen til aktiv tilstand (log. 0), således at dommeren kan bestemme sit slotnummer. Når dommeren slipper bussen, scanner den busanmodningen i linjer for at se, om nogen af dem er aktive. Hvis det er tilfældet, sætter dommeren bus-optaget -linjen til aktiv, hvilket indikerer for alle enheder på bussen, at bussen er optaget, og tillader én enhed at få adgang til bussen ved at sætte bus-tildelings-out -linjen til aktiv.
Enheden får derefter adgang til bussen. For at skrive data sætter enheden adressen og dataene på bussen og indstiller adresse-strobe -linjen og to data-strobe- linjer til at indikere, at data er klar, og indstiller også skrivelinjen til den aktive tilstand. For at angive bitlængden af de data, der sendes i denne cyklus, bruges to data-strobelinjer , med hvilke datastørrelsen er kodet: 8, 16 eller 32 bit (eller 64 for VME64 ). Slaveenheden, efter at have læst adressen fra bussen og genkendt den som sin egen, læser dataene og indstiller dataoverførselsbekræftelseslinjen ved afslutning (i tilfælde af en fejl indstilles busfejllinjen ). Data læses på samme måde, men masteren sætter kun adressen på bussen og sætter læselinjen til aktiv. Den anden enhed sætter dataene på bussen og data-stroben aktiv. Denne form for udveksling kaldes asynkron , hvilket betyder, at der ikke er noget fælles clock-signal på bussen (som er på synkrone busser såsom PCI ).
VME-bussen har syv interrupt request-linjer (det er hvor mange 68000'erne havde). Når en afbrydelsesanmodning ankommer på en af disse linjer, skriver bus-arbiteren afbrydelsesniveauet til adressebussen for at indikere, hvilket afbrydelse der skal håndteres. Det skal bemærkes, at kortnummeret ikke bruges i dette tilfælde, da kort i mange tilfælde kan dele afbrydelser. Det bemærkes ofte, at det for store antal afbrydelsesniveauer er et af de få eksempler på redundans i 68000-arkitekturen, men for VME-bussen er dette ikke en stor ulempe.
Computerbusser og interfaces | |
---|---|
Basale koncepter | |
Processorer | |
Indre | |
bærbare computere | |
Kører | |
Periferi | |
Udstyrsstyring | |
Universel | |
Video interfaces | |
Indlejrede systemer |
IEEE standarder | |||||||
---|---|---|---|---|---|---|---|
Nuværende |
| ||||||
Serie 802 |
| ||||||
P-serien |
| ||||||
Erstattet | |||||||
|