Cicle de bus

El cicle de bus com a regles de joc del LudiComputer

Aquesta pàgina està focalitzada a la presentació i preparació de laboratoris i tallers de introducció al LudiComputer. La lectura pot resultar complexa.

Cicle de lectura del bus S100 segons el IEEE696 de 1983
Protocols de bus

A partir dels primitius protocols de bus de l’estàndard IEEE696 s’estableixen els criteris de Modes de Marxa d’un Cicle de Bus.

Resumint, aquests criteris s’estableixen d’acord a cóm s’inicia el bus i de quina manera s’assoleix el seu funcionament normal. El funcionament normal s’assoleix quan tots els mestres de bus s’identifiquen entre ells i estableixen rodes de cicles de bus Client-Servidor.

L’aixecament des del silenci fins al funcionament normal d’un cicle de bus s’establirà sota els criteris expressats en la Guia de Modes de Marxa i Aturada d’ADEPA (GEMMA)

Aixecament de Cicles Client-Servidor

Tot mestre de bus pot ser client o servidor.
S’estableixen els Modes de Marxa de Cicle de Bus:
A6- Preparació a l’estat inicial desprès de fallo d’alimentació
A1- Estat inicial o mode silenci (sense mestres declarats)
F2- Entrada Normal d’un nou mestre de bus
F1- Funcionament Normal en Roda de Cicles
F3- Sortida Normal d’un mestre de bus
D3- Mestre Servidor no respon (expulsió de mestre declarat)
F5- Verificació de Mestres declarat (cicle de verificació)

Roda de Cicles

Declarats tots els Mestres de bus s’estableix la Roda de Cicles.

Un Cicle de bus és un intercanvi entre un Mestre Client, amb domini del bus i algun dels Mestres Servidors presents al bus.

Quan un Mestre Client acaba els seus requeriments cedeix el bus als Mestres Servidors, esdevenint ell mateix un Mestre Servidor.

Com s’estableixi l’ordre o prioritat d’assoliment del domini del bus determina les característiques funcionals del bus.

Els Esclaus de bus calen ser declarat internament com a maquinari a cada un dels Mestres de bus de forma explicita. Només un Mestre en mode Client pot accedir a un Esclau.

En general s’aconsella abandonar la forma Esclau.

Modes de marxa per al bus S80

Tot mòdul del bus S80, al ser connectat al bus, ha de tenir configurats tots els seus terminals en mode lectura perquè cal evitar els senyals en curtcircuit i es diu que està en mode escolta o lectura.

-No es passa a mode servidor fins que no hi hagi un cicle de bus actiu.

-No es pot passar a mode client fins que no es tingui el domini del bus.

Aquests són els criteris principals resumint a grans trets la idea més important del funcionament del cicle de bus. Per a entendre millor el funcionament normal, és a dir, en mode servidor o client, s’aconsella llegir l’apartar 2.3 Interfície del Mestre Permanent de l’estàndard Dispositius d’Interfície IEEE696 ja que aquest són els modes bàsics S80 de comunicació entre nodes ja fora del mode lectura.

El concepte client

Concepte bàsic de Cicle de Bus, en mode Client

Resumint, només es pot entrar al mode client fora del mode escolta i només si s’ha assolir el bus per TMA. Si no hi ha un mestre actiu que alliberi el bus per TMA caldrà forçar l’inici del cicle de TMA manualment per acord dels operadors. Només la presencia d’un mestre permanent, tal com dicta la IEEE696 pot iniciar el cicle de TMA.

Diagrama d’estats del Mestre Permanent en el bus S100, client de bus en S80

En detall: en un bus inactiu un mòdul pot iniciar la comunicació entomant el bus com a mestre temporal de bus TMA de manera manual (Temporary Master Acces) sense que hi hagi d’haver un mestre permanent, i així formular una consulta de iniciació (boardcast) als servidors de bus presents. La pregunta que així es formula és: quins servidors hi ha presents al bus. Tots els clients actius aniran entomant el bus per via del TMA doncs en funció de la seva prioritat o testimoni obtindran el domini del bus. Els diferents servidors presents al bus aniran declarant així la seva existència i oferint els seus serveis tot anunciant les crides que cal adreçar per obtenir-los. El propi client pot anunciar els seus serveis si opera així també com a servidor.

Tot aquest protocol d’entrada al bus evita la utilització del protocol d’interrupció del IEEE696, per això, aquestes línies desapareixen en el bus S80. Si, per exemple, una impressora acabés el paper no utilitzaria una interrupció perquè el mestre calli i escolti al servidor (el concepte esclau no existeix), si no que és el servidor d’impressió qui entomarà el bus com a client i qui demanarà un servei de notificació a l’usuari del sistema per via de la consola d’usuari, perquè pensi a posar paper a la impressora.

El concepte Servidor

Concepte bàsic del cicle de bus, en mode servidor

No s’està en mode servidor si no s’ha sortit del mode escolta o lectura.

Diagrama d’estats de l’Esclau en el bus S100, Servidor de bus en el S80.

Tot mòdul de bus actiu, a través de qualsevol dels busos cardinals, és des de l’inici servidor de bus, mentre no tingui control de bus per TMA. Un mòdul pot entomar el bus operant com a client i executant cicles de bus com a accions Mestre-Esclau IEEE696 quan disposa del bus per TMA si coneix la existència dels servidors de bus. Un cop acabats els seus cicles de bus declara oberta la petició de TMA per a altres mòduls, doncs el procés de transferència del bus es fa per prioritat o per pas de testimoni.

Els cicles de recuperació estan prohibits

Cal adonar-se, que al contrari del que es preveu a l’estàndard S-100, no existeix cap cicle de recuperació o de “fetch” al bus 80. És a dir, el conjunt CPU (processador + memòria) no s’ha de trencar mai. Tota la informació passa entre mòduls com a MPI (Message Pasing Interface). Aquest punt caldria explicar-lo amb més profunditat. Resumint: no pot haver un mòdul de memòria que s’acobli a una CPU per via d’un bus S80 i provocar cicles de “fetch”. Simplement està prohibit!

Mòdul Mestre Permanent

No cal “dummy mastering” en el bus S80

Tal i com figura a l’apartat 2.3.5 de l’estàndard IEEE696-83: En casos on el nombre de processadors coexistents en un sistema solitari com a mestres temporals, pot resultar ineficient des del punt de vista del sistema implementar un mestre permanent. En un cas així és admissible que el mestre permanent s’implementi com a maniquí, és a dir, com un dispositiu que no realitza cicles de bus.
En el bus S80 el protocol Servidor-Client, per sobre del Mestre-Esclau, ha d’evitar el mestre maniquí. Per a poder iniciar el cicle de bus cal donar la ordre manualment per part d’un dels jugador de forma pactada.

En el LudiComputer, el cap del drac és mestre permanent.

En el bus S80, els jugadors poden fer operacions de entrenament sense necessitat de mestre permanent (el drac). Un cop en joc, és el drac qui domina el TMA i tots els cicle de bus des del primer moment. Si els jugadors fan trampes i inicien el bus abans que el drac, aquest pot romandre ocult indefinidament. Endemés, el drac pot fer-se el dummy quan pel joc convingui.

bitsicomputadors@gmail.com