• Keine Ergebnisse gefunden

DISK FORMAT

Im Dokument NOVA HOW (Seite 102-106)

Chapter IV Magnetic Tape

REWIND AND UNLOAD

5.1 DISK FORMAT

Each disk has 128 circular data tracks numbered from the outside in. Every track is divided into eight sectors, each of which contains 256 words of data. Each track-sector also contains a cyclic check word, which

DISK CONfiGURATION

ONE SECTOR

5-1

is generated and checked automatically by the control, as well as other information for the internal use of the control. At 3600 rpm a given sector passes the read-write heads in 2.085 ms, of which 2.05 ms are used for processing data.

The control cannot process physically adjacent sectors consecutively; in other words after processing a given track-sector, the control can process another removed from it as soon as the other is encountered, but can process the next adjacent sector only after waiting for a complete disk revolution. To simplify program-ming and to minimize waiting time, the sectors are numbered alternately and the numbering scheme changes from one track to the next as shown here. Hence the program can process consecutively numbered sectors in a given track, and upon processing the last sector in a track, can switch to the first sector of the next track, all

TRACKXXO TRACK XXI TRACK XX2 TRACKXX3

TRACK XX4 TRACKXX5 TRACKXX6 TRACK XX7

TRACK-SECTOR CONFIGURA nON

with minimum waiting time. Time between sectors is thus 2.085 ms except when switching from sector 3 to sector 4, for which the waiting time is 4.17 ms.

To provide protection for data on a disk, sets of tracks can be locked against writing by the program. For this purpose the 128 tracks on a disk are divided into eight sets of sixteen each. Located on the front of the disk cabinet is a three-position switch which allows the operator to lock out none of the tracks, all of the tracks, or only those sets of tracks selected by jumpers located in the disk logic.

5.2 INSTRUCTIONS

The control has two 16-bit buffer registers to provide double buffering of data between the data channel and the shift register that actually communicates with the disk; hence the channel has almost two word times in which to respond to a request by the control. To use a disk the program must select the disk, track and sector, specify whether data is to be read or written, and supply an initial address (to the 15-bit address counter) for data channel access.

The disk system uses five of the 10 transfer instructions, one of which is strictly for maintenance and can be used only when the disk control is in special diagnostic mode. Busy and Done are controlled or sensed by 5-2

bits 8 and 9 in all 10 instructions with device code 20, mnemonic DSK, but the 10 Pulse function (F

=

11) is also used. Interrupt Disable is controlled by interrupt priority mask bit 9. A second disk system connected to the bus would have device code 60.

The Clear function clears Busy and Done, and thus terminates data transfers if a track-sector is currently being processed. Start and Pulse both clear Done and set Busy, but these functions also specify the disk operation: Start selects Read, Pulse selects Write. All three functions clear the status flags.

DOA -,DSK Data Out A, Disk

o

AC

o o

F

o o o o o

I I

o 2 3 4 6 7 8 9 10 11 12 13 14 IS

Select the disk, track and sector according to the contents of AC bits 3-15 as shown, and perform the function specified by F.

TRACK SECTOR

o 2 3

DISK

I 4 5 6 7 8 9 I 10 II 12 13 14 IS

If F is 01 (S), select Read; if F is 11 (P), select Write. If F is nonzero, clear the status flags.

DOB -,DSK Data Out B, Disk

I

0 AC I

o o

F I

o o o o o

o 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Load the contents of AC bits 1-15 into the address counter (AC bit 0 should be 0), and perform the function specified by F. If F is 01 (S), select Read; if F is 11 (P), select Write. If F is nonzero, clear the status flags.

Note: Giving this instruction with a 1 in AC bit 0 places the control in diagnostic mode.

DIA -,DSK Data In A, Disk

I

0 AC I

o o

F I

o

1

o o o o

o 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Read the status of the disk system into AC bits 7-15 as shown, and clear AC bits 0-6. (Perform the function specified by F.)

SHIFT FIRST

SEC-REG!- BUF- OND WRITE WRITE DATA NO DATA

STER BIT (J FULL FER FULL BUF·· FER DATA eRROR LATE SUCH ERROR ERROR DISK

o 2 3 4 5 6 7 8 9 10 II 12 13 14 IS

Bits 7-10 are for maintenance only and are not discussed further here. Clear, Start and Pulse clear all of these flags.

5-3

11 The program has specified Write and the selected track-sector is write-protected. The setting of this bit clears Busy and sets Done, requesting an interrupt if Interrupt Disable is clear.

12 The data channel has failed to respond in time to a request for access (eg because of a long instruction or preemption of the channel by faster devices).

13 The disk selected by the program is not connected to the bus. The setting of this bit clears Busy and sets Done, requesting an interrupt if Interrupt Disable is clear.

14 In Read, the cyclic check word read from the disk differed from that computed by the control for the data in the block.

15 Bit 11, 12, 13 or 14 is 1.

DlB -,DSK Data in 8, Disk

I

0 1 1 AC

o

F

o o o o o

o 2 3 4 5 6 7 8 9 10 11 12 13 14 15

, Read the present contents of the address counter into AC bits 1-15, and clear AC bit O. (Perform the function specified by F.)

This instruction can be used to determine how many words have been transferred, but it is ordinarily used only for diagnostic purposes.

DIC 0, DSK Data In C, Disk Maintenance

I

0 1 1

I

0

o

1

o

1 F I

o o o o o

o 2 3 4 5 6 7 8 9 10 11 12 13 14 IS

If the disk control is in diagnostic mode, supply a single clock pulse to the control logic. Perform the function specified by F.

Setting Busy places the disk control in operation to read or write depending upon whether the program gave Start or Pulse; in Write, the control immediately makes three data channel requests to fill the two buffers and the shift register before writing begins. If the disk selected by the DOA is not connected to the bus, or the program specified Write and the selected track-sector is write-protected, the control sets the appropriate status flag, clears Busy, and sets Done, requesting an interrupt if Interrupt Disable is clear.

If there is no error the control waits until the selected track-sector is encountered; it then processes the block, making data channel requests whenever it has a word ready for memory in reading or one of the buffers is free in writing. The setting of Data Late during a block indicates that information has been lost, but data transfers continue until the control processes the entire block. At the completion of the data block in Write, the control writes a computed check word at the end of the track-sector; in Read, the control compares the check word read from the disk with one it has computed from the data read, and sets Data Error if they differ.

5-4

At completion the control clears Busy and sets Done, requesting an interrupt if Interrupt Disable is clear.

Timing. After Start or Pulse is given for the first operation with a given disk, the control may wait up to 16.7 ms before the selected track-sector is encountered; moreover, no operation can be performed until .5 ms after DOA is given. While processing the block, the control makes data requests every 8 [LS, but because of double buffering in the control the processor may take up to 14 [LS to respond in an isolated case without being late. Once an operation has been performed with a given disk, the program then knows the disk orientation and thus knows exactly the waiting time required to reach any desired track-sector. The time required to traverse any sector is 2.085 ms, which is also the time taken between consecutively numbered sectors except between sectors 3 and 4, which are separated by 4.17 ms.

Im Dokument NOVA HOW (Seite 102-106)