• Aucun résultat trouvé

,,-----Filed on: <Jarvis)controller-guides.bravo

N/A
N/A
Protected

Academic year: 2022

Partager ",,-----Filed on: <Jarvis)controller-guides.bravo"

Copied!
3
0
0

Texte intégral

(1)

Inter-Office Memorandum

To Distribution Date July 7, 1977

From Jarvis Location Palo Alto

Subject OIS Processor/Peripheral Controller Interface Guidelines

Organi7ation SOD

)(ERO)(

XEROX SDD ARCHIVES

1 have read and unJ.a~stood

Pages _ _ _ _ _ To, , - - - - - Filed on: <Jarvis)controller-guides.bravo Reviewer Date ______ __

#

of Pages Ref

..1

1S})})-

02/'h ,

This 'memo proposes guidelines to use when designing the interface between an OIS processor executing the Mesa instruction set, hereafter called the emul:1ter, anc! a peripheral device controller, hereafter callcd the controller. This memo also outlines the style of Pilot i/o transactions.

The Controller Status Block

The processor architecture allows as many as sixteen controllers att8cheu to a single system element. The architecture assigns each controller a block of sixteen registers in the i/o page, virtual memory page zero. This register block, the conlroller status block, proviz1es status information for the emulator. The controller in turn periodically polls the CSB for commands from the emulator. For some periphc-rals, polling th,.= CSB is an inappropriate method to initiate action. In that case, the emulator can lise the OUTPUT instruction to initiJte action directly. The emulator reserves the first CSB, virtu:tl mcmory locations 0··] 5, for the processor and integrated controllers and the last CS13, locations 240-255, for handling faults.

IOPage: ArU{,\)' [0 .. 15] Of. ControlierStatusBlocl<;

IOCBHandle: CAiWINAt;

ConirolierStatusBlock: TYPE = MACIIINE nF,I'ENIlFNI' l<E<ow[

ch8in: IOCBHancile, wakeUpMask: CAHllINAL;:

devic6Dependent: AlWAY [0 .. 13J OF U:-"»PEUflLnJ; - - CSB is16 words

The first word of the CSI3 points to a chain of input/output control blocks, TOCB's. The current plans are for Pilot to allocate all IOCB's frol11 the first 64k of virtu,d memory.

Using 16 instead of 24 bit pointers reduces the sile of 10CB's :Jnd alleviatcs timing problems since a double wore! store is unnecessary Lo write 10CB pointers. It wOllld seem re8son3ble to maintain other Pilot data structures (e.g. ECn's and channels) ill the first 64k of virtual memory ror the same reasons. As the controilcr chases down the chain, it updates the first word or the CSB to indicate the currently active leCB. When the controilcr finds a zero, it stops processing alld stores the zero into the CSB.

The second word of the CSB contains the wake up request bit mask. The controller looks here to determine which process or processes to wake up when events require.

(2)

OIS Prol'essor/Peripheral Controller Interface (;uidelines 2

The other 14 words of the CSB are unassigned and can be llsed for device dependent status and commands.

Input/Output Control Blocks

IOCB's . hold information passed between the emulator to control input and output transac'tiolls. The emul-ator places a command and buffer descriptor in the IOCB and puts the IOCB on the ch:lin. After the controller processes the IOCB, it stores a completion ('ode, and, depcnding upon the comm:lnd code, generates process wake ups.

IOCB: TH'r. = MACHINE DEPENDENT HfTORD[

next: IOCBHandle,

buffer: I.ONG POI"TEH H) lINSI'I:Ulf;D,

command: JOCBCommandCode, completion: IOCElComplel.ionCode, byteCou;)t: CAIWINAI.,

lnaxBy teCount: CAHDINAL,

sync!1: EventlD, previous: IOCBHnndle,

deviceDependent: AHIlA)' OF UNSI'I'CIFIf.O];

The first word of an TOCB points to the next IOCB on the chain. A zero indicates the end of the chain.

The next two words are a 24 bit pointer to the buffer.

The emulator writes a command coele into the fourth wore\. Three bits of this word arc reserved to control process wnke I!P~.

IOCBCommandCode: T\ PI; = f,IM B!r\f: DEPENDENT !HC()[W[

wal<eUpAlways, wakeUpOnError,

-- bit 0 -- bit 1

stopOnError: BOOLL\N, - - bit 2 Don't process next IOCB on error

devic8Di~penc!8nt: [0 .. 177778]J;

The controller wakes up the processes indicated by the wak.e lip request bit mask in the CSB.

The conlroller writes a completion code in fifth word. Two bits of this word are reserved.

IOCBCompleiionCocJe: '1\'1'1': = MAWINI: 1lr.1'1'~dH.NT HFCORIl[

processed: -- bit 0

elror: -- bit 1

deviceOependent: [0 .. 37777B]];

The rest of the word contains a device dependent code. The emulillor can determine whether the controller h3s processed the IOCB by \vritin::>, ,:ero in this word before placing the iOCB on the chain. Thc controller gu:trantccs to write a nOil-zero quantity after processing.

(3)

OIS Pro('~ssor/Pcri(lheral Controll('r Interface Guidelines 3

The sixth word of the IOCB holds a cOllnt of valid data bytes in the buffer. If the controller fills the buffer, then this word holds the number uf l)ytes written after proce~sing the IOCB. If the controller empties the buffer, this word cuntains the number of bytes to transfer.

The emulator uses the seventh word of the lOeB to write the maximum length of the buffer. If the controller fills the huffer, the number of bytes written must not exceed the maximum length. If the controller empties the buffer. this word is rt'dundant with the byte count.

The eighth word holds a Pilot event ID. On completion of processing the

IOen.

the controller posts the event. This has thl.! ~ame effect as a Mesa call to post the event. but this method obviates a process switch.

The ninth word contains a pointer to the previolls IOCB in the chain. This word facilitates insertion of IOCB's in the middle of the chain. Not all devices require such flexible cantrall over the 10CB; in that case. this field is omitted ..

The last pnrt of the 10CB can be used to hold device dependent status and control. For example, the floppy disk lIses this area to hold the disk block header and label.

c: Crowther, Lauer.

Lynch, Metcalfe.

Ogus, Rosen, Schwartz.

Shultz, Stottlemyre, Thacker.

Références

Documents relatifs

• Now: independent decompilation resulting in language exten- sions (going from mere descriptions to actual computation rules).. • Ongoing: a calculus of

The structure based approach references the uses only of the HTML tags as they are in the web page source code or the DOM interface of the web page after rendering in a web

Based on this paradigm, the S IGNAL language has been developed, with associated set of tools : the academic S IGNAL /S IGALI toolset (graphical edi- tor, compiler, code

Keywords: Partially observable Markov decision process, stochastic controller, bilinear program, computational complexity, Motzkin-Straus theorem, sum-of-square-roots problem,

Essential, to create circulation rules when robot swarms are considered. Essential to determine the responsible robot in case of

Finally, a HIL (Hardware In the Loop) simulator was developed to simulate the robot trajectory and sensors data on a computer depend- ing on the input lines, expected wind and

If we concentrate only on the central block on the first line and the fact that no block of the second line acts on cell 0 and ask what can then be the minimal size of the

(3) When a page fault occurs and the victim has been selected, MHR-LRU check the page access type and the victim's location, if the page's access request is write and the victim