During a data transfer, the processor must make the five basic decisions listed below.
• Which drive is to be used?
• What location on the disk is to be used?
• What is the direction of data transfer (read or write)?
• Where in memory is the data to be read from or written into (starting memory address)?
• How many words are to be transferred?
The processor answers these questions and then generates commands to the controller to accomplish the data transfers. Some of these commands are used to prepare the controller for the transfer, and others are used to position the read/write heads over tile proper data location.
Each controller that the RM05 can be used with can have up to eight drives connected to it. Since each of these drives will have the same UNIBUS address, the processor must designate the drive unit it wishes to access. Once selected, only that drive decodes the position commands (cylinder location, sec-tor number, and track number) required to position its heads.
Prior to transferring data, the processor sends the controller the following control information described below.
• The number of words to be transferred
• The bus address of the starting memory location where data is taken from to be placed on the disk for a write operation
• The bus address of the first memory location where data taken from the disk is to be stored during a read operation
• The method of notifying the processor at the completion of the data transfer
When the controller and drive are properly configured, the processor sends a data transfer command which contains the GO bit and the transfer begins.
4-1
NOTE
The data transfer commaDCI mayor may not contain the same posltloa Inlormadoa ( cylinder. sector, and track values) previously seat to the drive.
When the heads are at the correct location and the command is a read operation, serial data read from the disk, converted to parallel data in the drive and sent over the MASSBUS lines to the controller. The first word is routed throuah the controller to the computer bus and on to the memory location specified by the controller. The controller monitors the handlina of each successive word and increments the memory address to the next location and decrements the word count. (The word count register has been loaded with the 2's complement of the number of words to be transferred. The controller then termi-nates the read operation in the drive when the word count is zero.
The write operation is similar to a read operation, the major difference being the direction of data flow.
Again, the processor must tell the drive where the heads are to be positioned, and must tell the con-troller how many words to transfer, what their format will be, and the location of the data in memory.
The controller again interrupts the processor to indicate that the data transfer is complete.
4.2 PROGRAMMING OVERVIEW
The drive and the controller use various registers to communicate control commands, status data, error conditions, and maintenance information. Sixteen of these reaisters are in the drive and the rest are in the controller. Check the appropriate manual for a description of the controller registers and program-ming information for the RH780 Controller. Paraaraph 4.2.1 lists the registers in the RH70 Controller, and the descriptions and programming information· for the drive are given in the following paragraphs.
Table 4-1 lists these registers, their mnemonics, their UNIBUS and MASSBUS addresses, whether they are read-only or read/write, and their basic functions. Figure 4-1 shows the bit assignment summa-ry of these registers.
Table 4-1 Controller and DrI'e Recisten
Register UNIBUS MASS BUS
Name Address Address Mode FuncdoD
RMCS 1 control 776700 00· Read/ Contains function code, GO bit write
RMWC word count 776702
•
Read/ Contains 2's complement ofwrite number of words to be trans-ferred
RMBA bus address 776704
•
Read/ Contains memory address of 1<>-write cation where data transfer is tobegin
RMDA desired 776706 OS Read/ Contains disk sector and track
sector /track write address where transfer is to
oc-address cur
• Controller registers (RMCSI is shared by the drive and controller).
Table 4-1 Controller ud DrIve Rectsters (Cont)
Register UNIBUS MASSBUS
~ame Address Address Mode Function
RMCS2 status 776710
•
Read/ Contains controller statustn-write dication
RMDS drive status 776712 01 Read- Contains all non-error status
only plus error summary bit
RMER 1 error no. 1 776714 02 Read/ Contains RH controller and
write RM adapter indications
RMAS attention 776716 04 Read/ Contains I-bit-per-drive
atten-summary write tion summary status
RMLA look-ahead 776702 07 Read- Contains current sector address
only under heads
RMDB data buffer 776722
•
Read- Contains input and outputcon-only nection to silo for maintenance RMMR 1 maintenance 776724 03 Read/ Contains diagnostic test
func-no. 1 write tions
RMDT drive type 776726 06 Read- Contains drive character
in-only dications
RMSN serial number 776730 10 Read- Contains lowest four digits of only drive serial number
RMOF offset 776732 11 Read- Contains bit for control of offset
only of drive heads
RMDC desired 776734 12 Read/ Contains address of cylinder for
cylinder write seek operation
RMHR holding 776736 13 Read/ Used only by diagnostic
soft-write ware; has no drive function
RMMR2 maintenance 776740 14 Read- Contains diagnostic test
fune-no. 2 I only tions
I
RMER2 error no. 2 776742 15 Read/ Contains drive error bits write
RMEC 1 ECC position 776744 16 Read- Contains position of error burst
I only. within the sector
·Controller registers (RMCS 1 is shared by the drive and controller).
4·3
Table 4-1 Controller and Drive Registers (Cont)
Register UNIBUS MASSBUS
Name Address Address Mode Function
RMEC2 ECC pattern 776746 17 Read Contains pattern of the error only burst
RMBAE bus address 776750
•
Read/ Contains the bus address exten-write sion bitsRMCS3 control and 776752
•
Read/ Contains status and errorin-status write dications
·Controller registers (RMCS! is shared by the drive and controller).
RMeS1
15 14 13
Figure 4-1 Register Summary (Cont)
09
15