Q buss

Q-Bus (även känd som LSI-11 Bus ) är en av busstyperna som används i Digital Equipment Corporation PDP-11 och MicroVAX -datorer .

Q-Bus var en billigare version av Unibus och använde multiplexering så att data- och adresslinjerna använde samma stift. Detta gjorde det möjligt att både minska storleken och sänka byggkostnaderna, samtidigt som nästan samma funktionalitet bibehölls.

Efter en tid utökades bussadressutrymmet från 16 till 18 och ytterligare till 22 bitar. Datablocköverföringslägen har också lagts till.

Tekniska funktioner

Precis som Unibus använder Q-Bus:

Minnesmappad I/O innebär att kommunikationen mellan två valfria enheter på bussen, såsom CPU, minne, I/O-portar, använder samma protokoll. På Unibus-bussen har ett speciellt adressblock tilldelats för I/O-enheter. I Q-Bus förenklades detta avtal genom att införa en extra signal (ursprungligen kallad BBS7 Bus Bank Select 7 , fick senare det mer allmänna namnet BBSIO , Bus Bank Select I/O , i MPI - VN BB eller VU ), som väljer en adressblock avsedda för I/O-enheter.

Byte-precis adressering innebär att den minsta adresserbara enheten på bussen är en 8-bitars byte . En läsoperation på bussen sker alltid ord för ord vid en jämn adress (AD0=0), och den onödiga byten kasseras helt enkelt. När man skriver en byte används adressraden AD0 på ett speciellt sätt, som en indexlinje - för att indikera förskjutningen i det överförda ordet till den överförda byten. När AD0=0 sänds byten längs linjerna AD0-AD7 och måste skrivas till den låga byten för det adresserade ordet, medan när AD0=1 sänds byten längs linjerna AD8-AD15 och måste skrivas till den höga byten av det adresserade ordet. Det finns en speciell rad - WTBT (i MPI - BYTE eller PZP ), som indikerar att endast en byte av ordet skrivs. När du skriver ett helt ord (WTBT=0) ignoreras tillståndet för AD0-adressraden. När programmet körs kan alla 16-bitars operationer (operationer med ett ord) bara nås på jämna adresser, och en 16-bitars operation på en udda adress, beroende på typ av processor, orsakar antingen en speciell typ av avbrott (bussfel), eller utförs på en jämn adress .

En strikt master-slav-relation på bussen innebär att vid varje given tidpunkt kan endast en enhet vara i master- eller mastertillståndet på bussen . Mastern initierar en operation på bussen och besvaras av högst en slav . Masterenheten kan initiera vilken operation som helst - läs eller skriv. Efter slutet av en busscykel väljer skiljedomsmekanismen en ny anordning som ska vara master på bussen i nästa cykel.

Ett asynkront kommunikationsprotokoll innebär att busscykelns längd inte är fixerad i tid; varaktigheten av varje enskild cykel på bussen bestäms enbart av samverkan mellan master- och slavanordningarna ( master och slav ) i den aktuella cykeln. Dessa enheter använder speciella klarsignaler ( RPLY eller NIP ) för att styra busscykelns varaktighet. Dessutom begränsar Masters speciella logik den maximala cykeltiden för att förhindra avbrott .

Beroende på generation innehöll Q-Bus 16, 18 eller 22 BDAL (Bus Data/Address Line) data-adresslinjer . I detta fall, i en busscykel, användes 16, 18 eller 22 linjer i adressfasen för att överföra den fysiska adressen, och sedan användes 8 eller 16 lägre linjer för att överföra data i dataöverföringsfasen. I vissa system överfördes kontrollbitar eller paritetsbitar på de högre linjerna under dataöverföringsfasen. Nya generationssystem kunde stödja blockbussdrift , när adressöverföringsfasen följdes av en eller flera dataöverföringsfaser (i detta fall måste data placeras i på varandra följande adresser). Eftersom Q-Bus är multiplexerad och ingen data kan överföras när en adress sänds, tillät blockläge färre adressfaser och mer tid för dataöverföring, vilket möjliggör större bussbandbredd.

MPI

I Sovjetunionen släpptes en funktionell analog av Q-Bus-bussen - Main Parallel Interface (ibland Intermodule Parallel Interface) MPI , som användes i datorer DVK , Elektronika 60 och SM-1425 .