Digital PDFs
Documents
Guest
Register
Log In
M416-E0300-37622
December 1979
62 pages
Original
1.8MB
view
download
Document:
DDCMP MULTIPLEXER SYSTEM DESIGN SPECIFICATION AND USERS GUIDE
Order Number:
M416-E0300-37622
Revision:
0
Pages:
62
Original Filename:
OCR Text
DATE: PROJECT: CHARGE NO: 12/11/79 nOCMP MULTIPLEXER M416-E0300-37622 SYSTEM DESIGN SPECIFICATION AND USERS GUIDE ·REV 1.1 BY D.E. KORF TABLE OF CONTENTS 1.0 1.1 1.2 1.3 INTRODUCTION PURPOSE REQUIREMENT SUMMARY DESIGN GOALS AND CONSIDERATIONS 2.0 2.1 USER VIEW OF SYSTEM USERS VIEW OF WHAT HAPPENS 3.0 3.1 3.2 3.3 PDP11 INTERFACES BUFFER DESCRIPTOR LIST (BDL) DEFINITION CSR INPUT COMMANDS TO KMC CSR RESPONSE COMMANDS FROM KMC 4.0 4.1 4.2 4.2.1 4.3 4.4 4.5 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.5.10 4.5.11 KMC INTERNAL DESIGN SECTION OVERVIEW DETAILED EXAMPLE OF MESSAGE TO BE TRANSMITTED DETAILED INTERNAL VIEW OF INTERACTIONS MEMORY DEFINITION BLOCK DIAGRAM OF THE SYSTEM TABLES, QUEUES AND BUFFERS LINE STATUS TABLE LINE OUTPUT STAT~TABLE (LOST) LINE INPUT STATE TABLE (LIST) CSR QUEUES NPR INPUT REQUEST QUE NPR OUTPUT REQUEST QUE MESSAGE CHARACTER ADDRESS BUFFERS MESSAGE WAITING RESPONSE QUEUE RETRANSMIT QUEUE INTERMEDIATE DATA BUFFERS CONTROL MESSAGE QUE APPENDIX A APPENDIX B RELEASE NOTES SYSTEM STATES. 1.0 INTRODUCTION 1.1 PURPOSE The purpose of this document is to provide a design overview of KMC DDCMP multiplexer and its interaction with a host PDPll processor. It is also 'intended to provide the PDPll user with the required knowledge to interface the PDPll host to the KMC multiplexer. 1.2 REQUIREMENT SUMMARY Detailed below is a summary of the Requirements, Goals and non goals of the DDCMP multiplexer. The Functional Specification should be referred to for a complete definition of multiplexer functionality. KMC DOCMP MULTI-LINE CONTROLLER * WHAT ARE THE MAJOR OBJECTIVES OF MULTIPLEXER? Provide 8 lines at 'full or half duplex with'speeos up to 9600 BPS. DDCMP communications protocol implemented in firmware providing high reliability and throughput with low host processor overhead. Provide communications between KMCll and other synchronous interfaces that support DDCMP protocol in a point to point environment. 16 Bit NPR (DMA) transfers for minimum interference with host processor operation. F-irmware based on KMCII-B so that the firmware is loadable. WHAT ARE ITS GOALS? * Line level compatability with present DMClI. Support greater than seven (7) outstand'ing messages. * WHAT THE MULTIPLEXER IS NOT Not a DMClI modified to JUST scan 7 more lines. Will not provide support of line speeds greater than 9600 BPS. Will not support local on board diagnostics. (Note: Since KMC is loadable, diagnostics can be separately loaded into the KMC). ' Will not support automatic recovery from powerfail. * DESIGN GOALS AND CONSIDERATIONS CSR control is the same as COMM rOP-DUP. Note commands differ but interface control is the same. CSR transfers from KMC to host PDPll take priority over CSR transfers from PDPll to KMC. Body of all messages reside in PDPlI host. All message headers reside in KMC. All inquiry control messages reside in KMC. System is primarily a state system. The states in the -system are controlled by a series of queues, tables and buffers. Data reception takes priority over data transmission. Attempt to make the system somewhat self regulating (It won't accept more work than what it can handle) • 1.3 DESIGN GOALS AND CONSIDERATIONS Listed below are some design considerations of the DOCMP multiplexer in relation to other products, interfaces and internal control. The speed calculations define the max.imum slice of time or state size that may be executed for each line per character per second. SPEED CALCULATIONS KMC = 5,000,000 instructions per second. CHARACTER RATE = 8 lines X 9600 BPS 8 bits per character = 9600 characters/second INSTRUCTIONS/CHAR/SEC = 5,000,000 instr/sec = 520.8 instr/char/sec 9,600 char/sec 520.8 instructions/character/sec for 1/2 duplex line. NOTE: The 520.8 instruction/character/sec is for a one way (l/2 duplex) line to arrive at a full duplex two way communication divide 520.8 by 2. FULL DUPLEX = 520.8 = 260 instructions/character/second 2 2.0 USERS VIEW OF SYSTEM Below is a visual description of the system from the PDP1l users point of view. All major components of the system are identified. VISUAL DESCRIPTION OF SYSTEM I 6 BUFFER TO TRANSMIT I~-----~-------~--~------~ I 7 APPLICATION I-~---~----------------~~- 1-------I B.D.L.I 5 1..·------- ---------------~---~--J UNIBUS --------~----~--~---~-J I 1 ---I 2 KMC MEMORY D R I 4 V E R -------------------------- I 3 1 - LINE STATUS TABLE IN KMC (LST) CONTAINS CURRENT LINE DEFINITIONS 2 LINE OUTPUT STATE TABLE IN KMC (LOST) CONTAINS CURRENT STATE, HEADER AND NEXT CHARACTER INFO 3 - INTERMEDIATE BUFFER IN KMC (IB) CONTAINS BUFFER OF 8 CHARACTERS TO BE TRANSMITTED 4 - DRIVER INTERFACE IN PDPll 5 - BUFFER DESCRIPTOR L-IST AREA IN PDPl1 6 - DATA BUFFER TO BE TRANSMITTED 7 - APPLICATION PROGRAMS PDPll MEMORY 2.1 USERS VIEW OF WHAT HAPPENS The following is a description of the general processes that occur from a users point of view in the transmission of a message. The reception of a message has a similar process to that of transmission. WHAT HAPPENS I 6 BUFFER TO TRANSMIT I----------------------~-f 7 APPLICATION I-------~-----~-~--------I-~-----I B.D.L.I 5 1----.... --D I R I 4 PDP;tl I V I MEMORY ----------------------1 UNIBUS ----------------------1I E R I I t --------- ----~--~-----------~ I LST---1 1 !(MC I LOST I 2 MEMORY lIB. I I 1 3 Application program (7) passes to driver (4) a request for ·a message to be transmitted. It specifies the BDL MEMBER (5) that contains the address and character count of the buffer to betransmitt~d. The driver (4) passes the information to the !{MC. The KMC first builds the header information in the L.O.S.T. Table (2). The KMC then retrieves the BDLMember (5) which defines where in PDP memory the data buffer (6) is and how big it is. The KMC then retrieves the first eight characters of the data buffer (6) and places them in the intermediate buffer (1). The KMC then transmits the header information from the L.O.S.T. (6) table and updates the line status table (3) • After the header has been transmitted, a header eRC is transmitted. Following the header CRC transmission, a character is retrieved from the intermediate buffer (1) and transmitted and a character from the data buffer (6) is requested to take its place (remember 7 other characters will be t~ansmitted before the character requested is transmitted). The L.S.T. (3) is updated as is required. The previous step is repeated until all characters have been transmitted. the data CRe is then generated and the LOST (2) is updated. Upon reception of an ACK or NAK, (after seven retries), the BDL (5) member is set as free and a notification is sent to the driver (4) as to what has happened and the KMC tables and buffers 1,2,3 are updated. The driver (4) then passes the KMC response status to the application program. 3.0 PDPll INTERFACES This section discusses the interfaces between the KMC and PDPll. There are three areas of interaction. The Buffer Descriptor List Definition Table in the PDPlI, CSR Input Commands to the KMC from the PDPll and CSR Response Commands from the KMC to the PDPll. 3.1 BUFFER DESCRIPTOR LIST (BDL) DEFINITIONS In the PDPII an ~rea must be set aside to hold definitions of messages to be transmitted or received. What is a Buffer Descriptor List? It is a four word entry in PDPll memory that defines to the KMC and the PDPl1 where in PDPII memory a data message is," how many characters are in the message, the line number and tributary of the line the message is to be tr'ansmitted or was received on, "the DDCMP message number that was assigned by the KMC protocol handler and the status of the four word BDL entry (member). During initialization a BDL base address is passed to the KMC which defines where in memory the BDL Definition table starts. All references to this area of memory after setting the base is by member (four word entry) number. It is up to the user to define the size of this area. Its minimum size must be large enough to handle the number of input and output lines~ For an eight line full duplex operation, the minimum size would be 64 words. That is eight lines for input at four words per line and eight lines for output at four words per line, assuming all lines are transmitting and receiving data at the same time. A definition of the Buffer Descriptor list and how it is organized follows. PDPll BUFFER DESCRIPTOR LIST DEFINITION TABLE ADDRESS X X+l X+2 X+3 X+4 X+S X+6 X+7 X+(N*4-4) X+(N*4-3) X+ (N* 4-2) X+(N*4-l) I STATUS I I IBUFFER START ADDRESS I I I NUMBER OF CHARACTERS 14 BITS I 1 MESSAGE I __~I~__________~I 'STATUS I I MEMBER 1 r-BUFFER~S~TA~R~T~A~D~D~R~E~S~S------~I I INUMBER OF CHARACTERS 14 BITS I MEMBER 2 LMESSAGE 1_----:11.....-_ _ _ _ _...:..1 I STATUS I I IBUFFER START ADDRESS I 1 1NUMBER OF CHARACTERS 14 BITS I i-MESSAGE 1 I I MEMBER N MESSAGE t = DDCMP Message Number from KMC Controller STATUS = The status area is for use' by the PDPl1 for keeping track of which BDLs ar~ in use and assigned to transmit and receive lines which are free. BUFFER START ADDR = Start Address of Message Data to be Transmitted. LENGTH = Character Count of Message to be Transmitted. Length of BDL list is user defined. Maximum of 256 members. 3.2 CSR INPUT COMMAND TO KMC The KMC and PDPl! communicate with each other via Control Status Registers (CSRs). Since both the KMC and PDPll can read and write the CSRs, a control mechanism is required to prevent one CPU from writing while the other CPU is reading. All input commands to the KMC are issued by an application program to a driver program which is completed in a series of steps. The driver·program sets RQl to request the use of the CSRfor transfer of data and then waits for the RMC to set RDYl. This wait can be implemented through a delay loop or can wait for an interrupt. The delay loop is not recommended. The KMC will then set RDYl when it is ready to accept an input. After the RDYI has been set by the KMC. The PDPl1 driver loads the CSRs with the command and its assoc iated parameter·s.When the parameters have been loaded into the CSR, the RDYI is cleared to inform the KMC that the parameters may be read. There are four (4) major input command types to the KMC. The command types and CSR structures are defined in the following figures. KMC CONTROL INPUT COMMANDS GENERAL FORMA'!' 15 14. 13 B 7 6 5 4 3 BJI BESERVm NOT tISE:D TRIBUTARY NO. LINE NUMBER COMMAND IEI StmCODE NO'!' PASSWORD/BDLAODRESS PASSWORD!BOL ADDRESS .... ......"...~/ . 'ro 'lPANSMIT . COMMAND ~ES COMMAND COMMAND VALUE DESCRIPTION o Master Control 1 LineControl'- 2 Message Control 3· st.atus MASTER CONTROL COHHANDS COMMAND COMMAND ·COMMAND . VALUE SOB CODE DESCRJ:P1'ION 0 0 ~itSystem N/A 0 1 Reset/Set to. DDCMP Mode LN' , TRIB • 0 2* Enter HOP Mode PARAMETERS .. LN t, TlaBI, PASSWORD 0 3 0 4 0 5* 0 0 6 7 Ter.minateActivity Set Line Scan Length (No. of Lines to Scan) Set HOP Mode Password for ForceaEntry Set BDL Base Address Set Modem CSR Address . (Note ~ also enables modem . control for all lines. * Currently not planned for implementation. LNt, TRIB LN. t LN ., PASSWORD BDL ADORESS, 'l'RANS., RCV. CSR Address of modem· control l~we~_ . 18 bits LINE CONTROL COMMANDS COMMAND VALUE COMMAND SUB CODE 1 1 1 1 DESCRIPTION Set Line Up Set Line 1/2 Duplex Set Line Down 0 2 PARAMETERS LN # (TRIB #) LN # LN # (TRIB #) MESSAGE CONTROL COMMANDS COMMAND VALUE COMMAND SUBCODE DESCRIPTION 2 o Transmit Message LN i,BDL Member i of messages, TRIB # 2 1 BDL Member for use in Message Reception BDL Member, PARAMETERS LINE i STATUS CONTROL COMMANDS COMMAND VALUE COMMAND SUB CODE DESCRIPTION 3 o Request Line Status (LN 3 1 ReadKM'C Memory KMC Data Mem'ory Address 3 2 write KMC Memory KMC Data Memory Address & Value to be stored. (Note an automatic read of the data store will take place- for verification. *Currently not implemented. PARAMETERS i, . (TRIB #1) ) I<MCCONTROL l:NPOT COMMANDS RESET/SET DDCMPMODE 15 8 7 6 5· 4 3 HlN __ . _ ... 1'RZBC'TARY NO. 'lEI LINE NDMBER N01' • EMC CON'l'ROL INPUT COMMANDS ENTER MOP MODE 15 ,. 14·13 7 6 5 4 3 KIN __ ..__ .~RIBOTARY NO. IE!:·. '. LINE .NOMBER , PASSWORD CB.A.MCTElt2 PASSWORD CHARACTER 1 PASSWORD CB.A.MC'l'ER 4 PASSWORD CHARACTER 3 XMC CON'l'ROL INPUT COMMANDS TEBHINA'l'E .~~IVI'l'Y 15 14. 13 87654 NOT 3 EMC CONTROL INPO'l' COMMANDS SET LINE SCAN LENGTH 87· 6 5 , iQI ReSER\1!!DNOT tJSED 3 COMMAND ·St1SCODE NO.OF LINES '.to :tEI KMC CONTROL INPUT COMMANDS MODEM CONTROL CSR ADDR 8 TRIBUTARY NO. LINE NUMBER ADDRESS MIDDLE 8 BITS 5 7 6 RJI RESERVED NOT COMMAND lEI USED 1 SUB ODE 1 4 3 NOT RESERVED ROY! ~ . 'ED NOT CCM-WID E CODE : Me CONTROL INPUT COMMANDS BOL BASE ADDBESS 15 14· 13 SOL ADDRESS MIDDLE 8 BITS 87654 3 LOWER 8 BITS OFBDL :SASE mc CON'l'ROL INPtT'l' COMMANDS SE~ 15 14. 13 LINE UP 8 7 '6 5 4 3 :tEl· TRIBUTARY NO. XMC CONTROL INPO'l' COMMANDS SE'l' LINE ~ DUPLEX 15 87 S 4 3 RJI RESER\lED NO'l'COMMANl) BON .,...._11. .. TRIBO'l'ARY NO. 6 OSED LINE Nt1KBER NO'!' S.UBCODE I;EI XMC CON'l'ROLINPO'l' COMMANDS SE'l'LZNE DOWN 15 14. 13' 8, 7 ~ ~.. TRIBUTARY NO. LINE NTJMBER 6 5 4 \3LCEi!CEk,ft.'IP\ NO'!' ~v..., CSED 3 COMMAND StlBCODE IEI mc CONTROL INPOT COMMANDS TRANSMIT MESSAGE 15 , 8 7 6 S .. 3 COMMAND SOBCODE SDL MEMBER NO. me CONTROL INPUT COMMANDS SOL MEMBER FOR OSE IN MESSAGE RECEPTION 15 14 13· S HJN 7 6 5 "aJI BESIE2VEO LINEN'OMBER " NO'!' 4 NO'!' 3 tlSED OSUBSODE 1 coMMAtm IEI KMC CONTROL INPUT COMMANDS READ KMCll DATA MEMORY 15 8 RON 7 6 RJI RFSERVED 5 4 NOT USED NOT US MAR PAGE MAR LOW 3 IEI KMC CONTROL INPUT COMMANDS WRITE KMCll DATA MEMORY lS 8 7 6 5 4 3 RON NOT COMMAND lEI R'JI RESERVED USED OSUB· ODE 0 TRIBUTARY NO. NOT CCMWID DE . DATA BYTE bC CONTROL J:NPOT COMMANDS REQUEST LINE S~ATOS 15 14 · 13 RON t.rRnOWUtY NO. • 8 7 6 BJI IRESERVED OSED LINE NUMBER . Ncr.t' 5 4 1:1OT 3 . COMMANJ) SOBCODE I~I 3.3 CSR RESPONSE COMMANDS FROM KMC Corresponding to the CSR input commands there are a series of output commands. Commands from the KMC to the PDPllalways take priority over an input command request. The method used for implementing output commands are as follows: The KMC loads the CSRs with the parameters required for a given command; theRDYO bit is set and an interrupt is generated to the PDPll indicating thePDPll should read the CSRs: the driver programs retrieves the CSR data and clears the RDYO bit to indicate the transfer is complete. There are four (4) major output command types. from the KMC. The command types and CSR structures are defined in the following figures. 1Q1C CON'1'ROL 00'1' COMMANDS GENERAL FO:RMA~ 15 14. 13 876 ....... KJN a- ..__ -- 5 4 IEO 3 COHMAND • NOT StmCODE trSED 'mIBt11'ARY NO. BDL·MEHBER . NO. . . MESSAGE NO. /ltEASON COMMANl)"ftPES COMMAND VALUE DESCRIPTION o· Positive Responses ControlNegative Bespoztses.Control Message Reception Control Status Responses 1 2 3 (Does Not Ose General Format for Out Commands) POSTIVIE RESPONSE CONTROL COMMAND VALUE COMMAND SUB CODE 0 0 0 0 0 0 1 DESCRIPTION Init Complete Set/Reset Complete Activity Terminated MOP Mode Entered* Message Acknolwedged 2 3 4 PARAMETERS N/A LN #, 'TRIB t LN i, TRIB i LN i, TRIB :3 Message i, BDL t NEGATIVE RESPONSE CONTROL COMMAND VALUE COMMAND SUBCODE 1 3 Error Threshold Reached LN i, TRIB t 1 5 Messaged Naked LN i, TRIB i, BDL Member 1 6 Returned too many receiver buffers for line LN i, MEMBERt DESCRIPTION PARAMETERS MESSAGE RECEPTION CONTROL COMMAND VALUE COMMAND SUBCODE 2 o Message Received LN ',TRIB i, BDL MEMBER MSG t 2 1 Request BDL Member for Reception of Message LNi DESCRIPTION PARAMETERS STATUS COMMAND VALUE COMMAND SUBCODE 3 0 1st 4 bytes of line status table for specific line. LINt TRIB Bytes 0-3 of LST for line. 3 1 Last 4 bytes of line status table for specific line. .LINt ·TRIB Bytes 4-7 of LST for line. 3 2 Dump of specified KMC Data Memory Oata Memory Address & Contents DESCRIPTION PARAMETERS DC CON'l'ROLOU'l' COMMANDS INITIALIZATION COMPLETE 15 14. 13 8 7 6 5 4 IEO COMMAND NOT SOBCODE 1JSED COMMAND TYPES COMMAND VALUE g 1 2 3 DESCRIPTION Positive "Responses Control Negative Responses Control Message Reception Control Status Responses - (Does Not Use General Format fo~ Out COIllIlland~) I<MC CON':ROL 00': COMMANDS SET/RESET COMPLETE 15 BON 8 a-._ . . TRIBUTARY NO. 7 6 5 43 lEO LINE NtlKSER COMMAND SOBCODE NO'!' CSED DC CONTROL OUT COMMANDS ACTIVITY TE~NATED 15 14. 13 87654 NOT 'l'RIBtl'I'ARY NO. lEO 3 COMMAND Ncn SUBCODE. OSED KMC CONTROL OO~ COMMANDS MESSAGE ACKNOWLEDGED 15 87654 3 NOT tJS!D LINE .NOMBER BDL MEMBER NUMBER MESSAGE NUMBER I01C CONTROL OOT COMMANDS SET/RESET FAILED 15 KlN ......._ .... 87' NOT 5 4 IEO 3 COMKANJ) SUSCODE '.rRIBOTARYNO. ~ .... EMC CONTROL OOT COMMANDS ERROR THRESHOLD REACHED 15 14. 13 RlN ........_ .... 8 76 5 4- :IEO ,.' NOl'L KJ!O PJ:ISERVEC . 3 NOT, tlSEd TABLE OF CONTENTS 1.0 1.1 1.2 1.3 INTRODUC'l' I ON PURPOSE REQUIREMENT SUMMARY DESIGN GOALS AND CONSIDERATIONS 2.0 2.1 USER VIEW OF SYSTEM USERS VIEW OF WHAT HAPPENS 3.0 3.1 3.2 3.3 PDP11 INTERFACES BUFFER DESCRIPTOR LIST (BDL) DEFINITION CSR INPUT COMMANDS TO KMC CSR RESPONSE COMMANDS FROM KMC 4.0 4.1 4.2 4.2.1 4.3 4.4 4.5 4".5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.5.10 4.5.11 KMC INTERNAL DESIGN SECTION OVERVIEW DETAILED EXAMPLE OF MESSAGE TO BE TRANSMITTED DETAILED INTERNAL VIEW OF INTERACTIONS MEMORY DEFINITION BLOCK DIAGRAM OF THE SYSTEM TABLES, QUEUES AND BUFFERS LINE STATUS TABLE LINE OUTPUT STATE TABLE (LOST) LINE INPUT STATE TABLE (LIST) CSR QUEUES NPR INPUT REQUEST QUE NPR OUTPUT REQUEST QUE MESSAGE CHARACTER ADDRESS BUFFERS MESSAGE WAITING RESPONSE QUEUE RETRANSMIT QUEUE INTERMEDIATE DATA BUFFERS CONTROL MESSAGE QUE KMC CONTROL OUT COMMANDS MESSAGENACKED 15 14. 13 87' 6 5 3 COMMAND SOBCODE no lIJN a -.._ .... .. t.rRIB01'AltY NO. 4 LINE NmmER SDL MEMBER ~~ER m, .~, ~ fL REASON N01' OSED !(MC CONTROL OOT COMMANDS . . TO MANY RECEIVE BUFFERS 15 14. 13 8 7 6 5 4 lEO TRIBUTARY NO. LINE ·.NTJMBER BDL MEMaER.NUMBER 3 NO'!' T.lSED KMC CONTROL OUT COMMANDS STATUS RESPONSES FORMAT 1 15 8 7 6 5 NOT- - RON TRIBUTARY NO. lEO a»m.ND LINE NUMBER =3 . .LINE 'STATUS' LINE FLAGS - .. .. :. ":NEXT -MSG 3 4 " # 1£0 BE:.TRANSMITTED· TEMP.DATA STATUS RESPqNSES FORMAT 2 15 8 7 6 NOT '.rRIBOTAltY NO. . #- .MSGS RECEIVED 5 4 3 lEO LINE NUMBER # ACKRCVD FOR MSG·SENT •• '"'0 . . . . iNAKS SENT COMMAND NOT SUBCODE =1 USED tNAKS: ~cRCVD KMC CONTROL OUTPUT COMMANDS READ KMCll DATA MEMORY 8 7 6 5 4 3 Nor' MAR PAGE MAR LOW DATA BYTE l(MC CONTROL OUT COMMANDS MESSAGE RECEIVED 15 8 7 NOT ~RIBOTAltY 654 3 lEO LINE NOMBER NO. - , - BDL MEMB~R WOMBER MESSAGE NUMBER NOT tlSEC 4.0 KMC DESIGN 4.1 The KMC DDCMP multiplexer is a state driven system, based on a series of queues, tables and buffers. Each state per line is less than or equal to 260 KMC instructions. The following sections describe the KMC memory organization, tables and queues used in the operation and control of the multiplexer. The secion starts out with a detailed example of a message transmission and steps involved. This is followed by a memory map, and block diagram of the sytem and definition of tables. The last section contains a definition of various states the system may be in. - 4.2 DETAILED EXAMPLE OF MESSAGE TO BE TRANSMITTED 1. Application program passes-to driver BDL Base address. 2. PDPll driver passes BDL base to KMC. 3. Application program request a transmission of a message providing PDPll Driver with BDL member control address of message data and. numbe.r of messages to be transmitted. 4. PDPll Driver requests CSR transfer. s. KMC acknowledges request when input que is available. 6. KMC retries CSR/Retransmit data and places data in input. 7. KMC command interpreter sees input data in queue. It determines from queue data line data is to be ,t'ransmitted on. If line is busy., it leaves data in que and waits to check it next time around. It then dertermines if a control message is in the control out que. If so, it is prepared for transmission. Else it sets the line to output state I and places CSR data into output me sage charac·ter address buffer • The command interpreter state is then sat back to O. 8. The KMC then waits unt-il select flag is set. set, the KMC then builds the message header. 9. TheKMC then builds a BDL address and places a read request into the output NPR queue and set BDL flag. 10. The KMC then performs THE NPR states which request the BDL Read. If 11. After completion ,of the read, the message address contained in the BDL is placed in. the Output message character address table. 12. An output.request is placed in the NPR queue to set the BDL as in unuse by the KMC. 13. The!(MC then requests that the first four words 8 character of the message be stored in the intermediate buffer. 14. After eight characters are buffered, the LST is updated, the header of the message is then transmitted. 15. After the header and eRC of the header is transmitted, the first character of the da~a message is transmitted. 16. After every even character of the message has been transmitted from the intermediate buffer, an NPR INPUT QUEUE request is made to get two more characters from the PDPll for transmission until entire message has been retrieved • • 17. At this point in time, if multiple messages (pipelined messages) are to ~e transmitted, the next BDL address is calculated the BDL and next message flags are set and th. address of the next message is retrieved. An NPR INPUT queue request is then made for a charcter pair of the next message while the current message is finishing its transmision. 18. Upon completion of the transmission of the message, the message pending flag is set and the BDL member i, line t and tributary t are placed in the message waiting response que. 19. If the message is acked, then the entry in the message pending que is cleared. A request is placed in the OUT NPR Queue to release the BDL. A transmit complete eSR output request is placed in the eSR output que. 20. If the message is nacked,the entry in the message pending que is removed and placed in the 'retransmit que. An error counter is then incremented. 21. Before another eSR request is honored from the 11, the retransmit que is emptied and goes back for retransmission. PDPll .. . DC 'rBANSMI'l'S HEADER FROM LINE STATE QUEUE I ------ ---~l : FROM IDl I . . , . RETRIEVES CBABACTER PLACE IT IN 'l'RANSMIT'l'ER AND TRANSMIT 1 . 1 BE'rRIEVE CBABAC'l'ER FROMID I I . I· PLACE IN TRANSMITTER ___ .____ ...lI I t I ! I REQUES INPUT NPR QUEtJE I CHARACTER 1 ' R A N S F E R J ,- - - - - - -NPR IiREQUES I I," : , I I 1---"'--------'"I'.rB "I ' 1 " '... -.- - -- --.., I I I r.! . BUILD NEJb. MESSAGE CHARACTER ADDRESS ~OFFER L_J~I-''''' - - - - - J \....._-----. PLACE BDL MEMBER, LN t, TRIB i, MSG i IN WAITING. RESPONSE QUEUE t .I 1 ,. -- - ·WAIT ' '--"'1 l i POPll WAI'r • :- I I "I I I I I I I - ~ ~ FRpM WAI'!' :RESPONSE I .. + PLACE IN RETRANSMIT QUEOE , I ----" \ (Retrans. priol:ity over CSR Queue) '--- -.'+ , I WAI'!' COMMAND INTERPRETER I RETRANSMIT MESSAGE ---------~ UPDATE LST ACK/NAK I I ~ NPR OOTPUT REQUEST QUE BOt. MEMBER RELEASED - - - - I . - - - ... UPDATE BOL LIST I REQUEST CSR OUTPUT QUEUE TRANSFER a I + 'l'YPE., MSG " I, BDL MEMBER - - - - - - -;. PDPll DRIVER ACCEPTS PARAMETERS ! APPLICATION PROGRAM 4.3 MEMORY DEFINITION .0 777 LINE STATUS TABLE (LST) 1000 - 1077 LINE OUTPUT STATE TABLE (LOST) 1100 - 1177 LINE INPUT STATE TABLE (LIST) 1200 - 1277 INTERMEDIATE TRANSMIT BUFFERS(ITB) 1300 - 1466 SPARE 1467 - 1477 CSR INPUT BUFFER 1500 1677 CONTROL MESSAGE OUTPUT OUE 1700 - 2077 CONTROL MESSAGE INPUT QUE 2100 - 2207 PRIMARY OUTPUT MSG ADDR BUFFER 2210 - 2317 SECONDARY OUTPUT MSG ADDR BUFFER 2320 - 2427 PRIMARY INPUT MSG ADDRESS BUFFER 2430 - 2547 SECONDARY INPUT MSG ADDRESS BUFFER 2550 - 2777 SPARE 3000 - 3377 NPR OUTPUT REQUEST QUE 3400 - 3777 MSG WAITING RESPONSE QUEUE 1ST HALF 4000 - 4377 NPR INPUT REQUEST QUEUE 4400 - 4777 CSR OUTPUT QUEUE 5000 - 5110 TIMEoRS 5111 - 6977 SPARE 6400 - 6777 MESSAGES WAITING RESPONSE QUEUE 2ND HALF 7000 - 7640 RETRANSMIT QUE 7640 - 7661 KMC DATA VARIABLES ~.4 LINE SE~CT BLOCK DIAGRAM OF SYSTEM I 1 I 1 bENERAL ~OUSE . INPUT SCAN FLEANING ~ND AAIN'l'. NPR.';;·. NPR STATES - ............. STATES ----------'. ....... , CSR I ---....STATES _.. .... ....____ .11..._ _. . -_ _ _ _- . . '. ! IF , IF DLE STATES ENO STATEE} 'I .. ' .. <II' I' SOH STATES ... REQUEST ~ , ~. NPR ... . STATE 1 . REQUEST OUTPUT MESSAGE EXECUTION COMMAND , ~, REQUEST NPR/CSR FUNCTION ... f •• REQUEST NPR/CSR REQUEST NPR/CSR FUNCTION FUNCTIO~ I '. NPR agQUEST REQUEST OUTPUT • MESSAGE l1li REQUEST OUTPUT I MESSAGE REQUEST OUTPUT MESSAGE CSR REQUEST l . t - _....___ ~ ~ MEMORY LAYOUT LINE STATUS TABLE MEM ADDR TRIB t LINE t LINE 0 TRIB 1 TRIB 2 TRIB 3 TRIB 4 TRIB 5 TRIB 6 TRIB 7 LINE 1 TRIB 1 TRIB 2 TRIB 3 TRIB 4 TRIB 5 TRIB 6 TRIB 7 LINE 7 TRIB 1 TRIB 2 TRIB 3 TRIB 4 TRIB 5 TRIB 6 TRIB 7 0 0 0 0 0 0 0 0 0 0 0 4 1 1 0 1 1 2 0 0 0 1 1 3 0 4 0 1 5 0 0 0 1 2 3 5 6 7 1 6 1 7 0 0 0 0 0 0 0, 0 7 0 7 1 7 7 7 7 7 2 0 3 4 5 6 7 0 7 123 4 5 6 7 1 2 3 45 6 7 1 2 34 56 7 0 0 0 0 LINE TRIBUTARY ENTRIES o = LINE/TRIB STATUS = LINE/TRIB FLAGS 2 = FLAGS 3 = NEXT MESSAGE TO BE 1 TRANSMITTED 4 = NUMBER OF ACKS RECEIVED = NUMBER OF MESSAGES RECEIVED 6 = NUMBER OF NAKS TRANSMITTED 7= NUMBER OF NAKS RECEIVED ,5 LINE STATUS BYTE MEANINGS BYTE NAME BIT t 0 LINE STATUS BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 LINE FLAGS 1 BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5' BIT 6 BIT 7 1 DEFINITION 0 0 0 0 0 0 = LINE DOWN = DDCMPMODE = XMIT NOT ACTIVE = RECEPTION NOT ACTIVE = NO START PENDING SPARE = FULL o= DUPLEX 1 = LINE UP 1 = MOP 0 = NO START RCVD 0 NO NAK RCVD = 0 = NO REP RCVD 0 = NO XMIT CONTRO MSG 0 = NO ACKRCVD 0 = NO STACK RCVD 1 = START RCVD 1 = NACK RCVD 1 = REP RCVD 1 = XMIT CONTROL MSG 1 = ACK RCVD 1 = STACK RCVD 0 = NO START PENDING 1 1 = ACTIVE 1 = ACTIVE 1 = START PENDING 1 = SPARE 1 = 1/2 DUPLEX SELECT FLAG FOR 1/2 DUPLEX TURN AROUND 0 = NO 'XMIT = START PENDING 2 TEMPORARY DATA MSG tFROM ACK OR NAK 3 NBRNXT NEXT MESSAGE NUMBER TO BE TRANSMITTED 4 NBRACK NUMBER OF ACKs RECEIVED FOR MESSAGE SENT 5 NBRRCV NUMBER OF MESSAGES RECEIVED 6 NAKRCV NUMBER OF NAKs RECEIVED (NO OVERFLOW) 7 NAKXMT NUMBER OFNAKs TRANSMITTED (NO OVERFLOW) 4.5 TABLES AND QUES AND BUFFERS The following sections provide definitions of the Tables, Queues and Buffers used internally by the KMC11. 4.5.1 LINE STATUS TABLE (LST) The line status table is used to reflect the current status and definition for each line. The table is configured of 64 entries at 8 bytes of information per entry. The entries consist of 8 lines with 8 tributaries per line. The line table·entriescan be thought of as a series of row entries. The line number and line tributary number make up the memory address of where the table entry for a given line is to be found. The line status table contains the following information: * Current line status up/down * Current mode DDCMP/MOP * Transmitter state * Receive state * Full or 1/2" duplex line * Select flag * Next message number to be sent * Number of ACRs received for message sent * Number of messages sent * Number of NAKs transmitted * Number of NARs ~eceived 4.5.2 LINE OUTPUT STATE TABLE (L.O.S.~.) The Line Output State Table consists of eight subtables. One for each output line. Each subtable contains eight entries which contain the current state of the line and the header of the current output message except CRC values. The first byte of each subtable is the current state of the line. This state value is used as an indexed branch to execute the =next series of instructions to keep the line operating properly. The remainder of the table contains the header data of the current message being transmitted. LINE OUTPUT STATE TABLE LINE TRIB STATE ADDR BASE BDL BASE LOW 3 4 5 6 7 HDR2 HDR3 HDR4 CRC1/NEXT CHAR IN CRC2/NEXT CHAR AVAIL. " " 1000 1 1010 STATE 2 BDRl 1077 n n BASE UP WORK BDL . BOL * MSGS LINE OUTPUT STATE TABLE CONTROL MSG 1 234 5 STATE ACK t LSTL LSTH INDEX 6 NAK COUNT 7 4.5.3 LINE INPUT STATE TABLE (L.I.S.T.) The Li~e Input State Table is configured exactly as the Line Output State Table except that it is used for input rather than output. LINE INPUT STATE TABLE STATES AD DR 1100 1 2 HDRI 3 HDR2 HDR3 HDR4 " n " " .. STATE 4 . 1170 5 6 CRCI/NEXT CHAR IN '" 7 CRC2/NEXT CHAR AVAIL • , . .4~5.4 CSR QUEUE The CSR functions have been broken down into Input and Output States and Ques. There can be only cine CSR state at any given time. If there is both an input request and an output request, the KMC output request takes priority. There are eleven (11) output queue entries and one input que entry. See Section 3.2.3.3 on control in and control out commands for specific CSR control information. CSR OUTPUT QUE ENTRIES BYTE = SUBCOMMAND = LINE &TRIB # 2 = DATA BSEL 3 3 = DATA BSEL 4 4 = DATA BSEL 5 0 1 5 = DATA BSEL 6 6 = COMMAND TYPE CSR INPUT QUEUE BYTE = COMMAND (BITS 0,1) = SUBCOMMAND (BITS 2,3,4) 2 = LINE # (BITS 0-3) & TRIB # (BITS 4-7) 3 = BDL ADDRESS MIDDLE BYTE/DATA . 4 = BDL ADDRESS LOWER BYTE/DATA 5 = BDL ADDRESS UPPER 2 BITS (6,7)/MEMBER NO. BITS 0-7 0 1 6 = # OF MESSAGES TO BE SENT. 4.5.5 NPR INPUT REQUEST The NPR input request queue is the only interface that allows NPR input transfers between the KMC and the PDPll. There are two basic types of input NPR transfers in the system: message data and B.D.L. data. To request a BDL transfer, the line number is entered into the NPR Que with BDL bit set (bit 4) and with either the primary or secondary message character buffer bit set (bit 5). Bits 0-3 indicate the line number that is requesting the transfer and point tc the message character buffer u~ed. Bit 4 if on requests that the contents be placed not in the intermediate buffer for the line, but in the message character address buffer. Bit 5 indic~tes whether the BDL data is to be in the primary or ,econdarymessage character address buffer. For a simple message character input only, the line number is entered and the retrieved data characters are placed in the intermediate buffer for the requesting line. 4.5.6 NPR OUTPUT REQUEST QUEUE The NPR output request que operates similar to that of the input request. The queue is structured rather differently: there are threE bytes per entry verses the one (1) in the Input Request Que. The first byte the line number has the same definition as that of an Input Request. The second two bytes are the character pair or data that is to be stored. NPR CHARACTER INPUT REQUEST QUEUE * LINE' LN. LN. LINE # ENTRY 1 ENTRY 2 ENT.3 ENT. 15 ENTRY 16 LINE NPR CHARACTER OUTPUT REQUEST QUEUE ENTRY 1 CHARACTER A CHARACTER B ADDR II " " " " " CHARACTER" A CHARACTERB ADDR ENTRY 2 ENTRY 3 ENTRY 16 4.5.7 INPUT/OUTPUT MESSAGE CHARACTER ADDRESS BUFFERS The Output Message Character Address Buffers are the main interface to the NPR queue. These buffers contain the address of where the next two characters for transfer from the PDPll are stored.,· It also contains the character count of the message and the count of the number of characters retrieved from the PDPll. The tributary number and current message transmit number are also stored in this buffer. An example of its use is after a character pair is transmitted, the line number is placed in the input NPR queue. The input NPR 'queue accesses the output message character address buffer to find the address of the next character pair to be transmitted. There are four message character address buffers - two (2) for input a'nd two (2) for output. Th'=e reason for redundancy is to save time during pipelined input or output messages. The "next" Input/Output Message Character Address buffer is readied during use of the primary buffer. As soon as the primary buffer is complete, a buffer flip flop takes'place and the secondary is now the primary buffer interface for transmitting or receiving characters. OUTPUT DATA CHARACTER ADDRESS BUFFER BYTE LINE 1 LINE 2 LINE 3 2 1 0 3 TRIB 31 BOL ADDR 1 1 I I .I ,I • LINE 8 8 7 6 CHAR COUNT I t OF CHAR IBOL tl t OF I TRANSFERRED I I MSGS I I I 1 I I I I I 5 4 I I I .I I I I I I I INPUT DATA CHARACTER ADDRESS BUFFER BYTE LINE 1 LINE 2 LINE 3 0 BDL t 1 2 3 BDL ADOR I 7 6 8 CHAR COUNT I t OF CHAR IODD BYTEt I RECEIVEDS I RECEIVED' I I' I ," . LINE 8 5 4 I I I I I I I I I I I I I I I WAITING RESPONSE BUFFER ENTRY 1 ENTRY 2 ENTRY 3 • • • ENTRY 100 LINE t TRIB t MSG t IBDL MEMBER I I. I 'I I I I f I I I LINE t TRIB t MSG# I I IBDL MEMBER I f I j I 4.5.8 MESSAGE WAITING RESPONSE QUEUE After a message has been transmitted, its line number, tributary number, message number and BDLnumber are entered into the waitin response queue. This queue is a holding area containing all pertinent information concerning the message until the message disposition can be determined. If the message is acked, the BDL member is released, the queue entry cleared, and the PDPll is notified of the transmit. If the message was naked and seven retries have not occurred, the queue entry will be cleared and tl data will be entered into the retransmit que. 4.5.9 RETRANSMIT QUE \ This queue contains informatidn required to retransmit a message that was NAKED or failed to get an acknowledgement. This queue j examined and takes priority over the CSR input 'request que from the PDPll. 4.5.10 INTERMEDIATE TRANSMIT BUFFER There is one intermediate buffer per line in the system. This buffer area provides an input buffering function between characters being sent from the PDPll. The ITB keeps eight (8) characters buffered ahead of the transmitter such that if a transfer of a character is late in coming from the PDPll, the KMC will not have to wait and will transmit the seven (7) previously buffered characters before the one that arrived late. The ITB is used in conjunction with the NPR INPUT request que. INTERMEDIATE TRANSMIT BUFFER ADDR 120 121 122 0 1 DATA DATA n 2 3 rATA DATA II II • . • • • • 127 • 4 ~ n 5 6 DATA DATA 7 DATA ft " " II tI ft 456 7 ,ft INTERMEDIATE RECEIVE BUFFER ADDR 130 131 132 • • • • 137 012 3 mTADATADATADATADATADATAmTADATA 4.5.11 CONTROL MESSAGE QUEUE The control message queues are used to hold control messages that are to be transmitted as soon as the line is free. There are two (2) queues - one for input message reception and the second is for message transmission. Position in the queuedefi~es line and tributary, thus entry nine in the que Is for line one, tributary one. To determine the line and tributary number, the queue entry is divided by eight. The integer from the dIvision gives the line number and the remainder is the tributary number. Each queue entry is two bytes long_ The first byte defines the message type and the second the subtype. ,.. LINE 0 Type LINE 0 LINE 1 O,S Bi'b Type S~ LINE 4 ~ 4.6 LINE 5 LINE 5 Type SUb~ LINE 1 LINE 2 Sub1YPe Type LINE 3 LINE ~ '-'Ype LINE 6 LINE 6 Type ~ Type LINE j • LINE 7 SubType SYSTEM STATES ·The following sections contain a list of the various states the multiplexer may be in. It should be noted that it is possible and very likely that ~he KMC will be in several different states at any given point in time.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies