T0201D CRAY_1S_Computer_System IO_Subsystem_Software_Workbook Training September_1981.OCR CRAY 1S Computer System IO Subsystem Software Workbook September 1981.OCR
T0201D-CRAY_1S_Computer_System-IO_Subsystem_Software_Workbook-Training-September_1981.OCR T0201D-CRAY_1S_Computer_System-IO_Subsystem_Software_Workbook-Training-September_1981.OCR
User Manual: T0201D-CRAY_1S_Computer_System-IO_Subsystem_Software_Workbook-Training-September_1981.OCR
Open the PDF directly: View PDF .
Page Count: 396
Download | |
Open PDF In Browser | View PDF |
.-- I ~.., , ... V,. RESEARCH. INC. CRAY-1S COMPUTER SYSTEM liD SUBSYSTEM SOFTWARE WORKBOOK T-0201 .- FOR TRAINING PURPOSES ONLY -------------- CRAY-1 S COMPUTER SYSTEM I/O SUBSYSTEM SOFTWARE vJORKBOOK T-0201 COPYRIGHT 1981 BY CRAY RESEARCH, INC. THIS MANUAL OR PARTS THEREOF MAY NOT BE REPRODUCED IN ANY FORM WITHOUT PERMISSION OF CRAY RESEARCH, INC. '.__ liiie-~c.~..." RECORD OF REVISION RESEARCH~lNC~ PUBLICATION NUMBER Each time this manual is revised and reprinted, all chan~es issued against the previous version in the form of change packets are incorporated into the new version and the new version IS assigned an alphabetic level. Between reprints, changes may be issued against the current version in the form of change packets. Each change packet is assigned a numeric designator, starting with 01 for the first change packet of each revision level. Every page changed by a reprint or by a change packet has the revision level and change packet number in the lower righthand corner. Changes to part of a page are noted by a change bar along the margin of the page. A change bar in the margin opposite the page number indicates that the entire page is new; a dot in the same place indicates that information has been moved from one page to another, but has not otherwise changed. Requests for copies of Cray Research, Inc. publications and comments about these publications should be directed to: CRAY RESEARCH, INC., 1440 Northland Drive, Mendota Heights, Minnesota 55120 Revision Description September, 1980 - Original printing A November, 1980 - Reprint with revision. Changes include addition of detail on concentrator software. B January 1981 - Reprint with revision. detailed flow diagrams. C March 1981 - Reprint with reV1Slon. Changes include addition of interactive station software and deadstart procedures. D September 1981 - Reprint with revision. Changes to add more detail on Disk I/O and IDS Chassis Layouts. Changes to add more TABLE OF CONTENTS PART 1 - I/O SUBSYSTEM HARDWARE I. SYSTEf1 OVERVI E\\} I/O SUBSYSTEM INDIVIDUAL I/O PROCESSOR MODEL NUMBERING CONVENTION AVAILABLE CONFIGURATIONS AND PROCESSOR DESCRIPTIONS 2. 3. 4. 1.1 1.6 1.7 1.8 I/O PROCESSOR LOCAL MEMORY FUNCTIONS CHARACTERISTICS ADDRESSING SCHEME ACCESS 2.1 2.2 2.4 2.5 COMPUTATION SECTION BASIC COMPONENTS INSTRUCTION CONTROL NETWORK OP~RAND REGISTERS FUNCTIONAL UNITS ACCUMULATOR ADDEND REGISTER INSTRUCTIONS 3.1 3.4 3.12 3.13 3.14 3.15 3.17 I/O SECTION CONFIGURATION ACCUMULATOR CHANNELS DI1A CHANNELS OVER VI E\41 OF I/O DEDICATED CHANNELS INTERFACE CHANNELS II I - _•. _._._,-,---- 4.1 4.4 4.4 4.5 4.6 4.16 5. BUFFER ME~10RY FUNCTIONS CHARACTERISTICS 5.1 5.3 PART 2 - APML 6. 7. 8. SYNTAX MACRO VS ASSEMBLY LANGUAGE APML FEATURES APML NOTATION APML FORMAT ASSIGNMENT SYNTAX CONDITION SYNTAX EXAMPLES APML CONTROL STATEMENT 6.5 6.7 6.8 6.10 6.12 6.16 APML PSEUDO INSTRUCTIONS AVAILABLE PSEUDO INSTRUCTIONS PSEUDO INSTRUCTION DESCRIPTIONS 7.1 7.2 $APTEXT MACROS AVAILABLE MACROS MACRO DESCRIPTIONS 8.1 8.2 AP~lL 6.1 6.4 PART 3 - I/O SUBSYSTEM OPERATING SYSTEM 9. OPERATING SYSTEM OVERVIEW FUNCTIONS CHARACTERISTICS SYSTEM COMPONENTS 9.1 9.3 9.4 IV 10. SOFTWARE STRUCTURE AND RESOURCE IMPLEMENTATION RESOURCES AND SOFTWARE STRUCTURES LOCAL i~EMORY BUFFER MEMORY TASK HANDLING INTER-lOP COMMUNICATION OPERAND REGISTER ASSIGNMENTS 10.1 10.2 10.4 10.8 10.16 10.22 II. OVERLAYS GENERAL OVERLAY OVERLAY OVERLAY OVERLAY CONSOLE DESCRIPTION MEMORY MANAGEMENT FORMAT DEFINITION CALLS CALLABLE OVERLAYS 11.1 11.3 11.7 11.8 11.9 11.11 12. KERNEL FUNCTIONS CHARACTERISTICS BASIC COMPONENTS ACTIVITY DISPATCHER INTERRUPT ANSWERING SERVICE REQUEST PROCESS INTERNAL SUBROUTINES LOCAL MEMORY CONTROL BUFFER MEMORY CONTROL 13. DISK SUBSYSTEM FUNCTIONS OVERVIEW OF DISK I/O MAJOR COMPONENTS DISK CHANNEL CONTROL TABLES DISK REOUEST CONTROL PACKETS TYPICAL DISK READ SEQUENCE v 12.1 12.1 12.2 12.3 12.8 12.12 12.22 12.23 12.24 13.1 13.2 13.11 13.16 13.18 13.22 14. IS. 16. 17. CONCENTRATOR SUBSYSTEM FUNCTIONS CHARACTERISTICS MAIN COMPONENTS ACTIVITY INTERACTION UVERVIEW OF MESSAGE FLOW 14.1 14.3 14.5 14.6 14.8 STATION SUBSYSTEM FUNCTIONS CHARACTERISTICS COMMUNICATION PROTOCOL MAIN COMPONENTS ACTIVITY INTERACTION OVERVIEW OF MESSAGE FLOW 15.1 15.3 15.4 15.8 15.13 15.14 INTERACTIVE STATION SUBSYSTEM FUNCTIONS CHARACTERISTICS INTERACTIVE CONCENTRATOR INTERACTIVE CONSOLE 16.1 16.1 16.2 16.4 DEADSTART OVERVI E~J I/O SUBSYSTEM DEADSTART IDS TAPE DEADSTART DEADSTART DISK FILES lOS DISK DEADSTART CPU DEADSTART FILE UTILITIES PARAMETER FILE EDITOR VI 17.1 17.2 17.7 17.13 17.1q 17.16 17.18 17.20 UTILITIES 18. HISTORY TRACE 18.1 Dr'1P 18.4 SYSDU~'P 18.5 18.6 DEBUGGER APPENDICES I . I/O PROCESSOR INSTRUCTION SUMMARY I I . SYSTEM CHANNEL ASSIGNMENTS I I I . lOP BLOCK DIAGRAM IN DETAIL IV. IDS ACTIVITY SUMMARY V. KERNEL SERVICE REQUEST FUNCTIONS VI. INTERNAL SUBROUTINES VI I . DISK SUBSYSTEM DETAILED INTERACTION VIII. CONCENTRATOR TABLES AND DETAILED FLOW VII PART 1 I/O SUBSYSID1 HARD\AIARE CHAPTER 1 SYST8'1 OVERVI E\lJ INPUT/OUTPUT SUBSYSTEM INCREASES CRAY-l S CPU THROUGHPUT BY REDUCING ITS I/O AND FRONT-END RESPONSIBILITIES. STREAMS DATA TO CENTRAL MEMORY OVER HIGH SPEED CHANNEL. PROVIDES ACCESS TO ADDITIONAL PERIPHERALS. (TAPES) FUNCTIONS AS A MAINTENANCE CONTROL UNIT. DRIVES UP TO 48 DD-29 DISK DRIVES FOR MASS STORAGE. ALLOWS OPERATOR CONTROL OF COS. COLLECTS AND CONCENTRATES DATA FROM FRONT ENDS. PROVIDES FOR JOB AND DATA ENTRY. DISTRIBUTES CPU OUTPUT TO SLOWER PERIPHERAL EXPANDER DEVICES. CONS ISTS OF T\~O TO FOUR I/O PROCESSORS \AIITH MEf10RY. 1.1 A SH~.RED BUFFER PHYSICAL CHARACTERISTICS 4 COLUMN CHASSIS CONTAINS I/O PROCESSORS, BUFFER MEMORY, CONTROLLERS AND INTERFACES. 4 COLUMNS PLUS 2 POWER SUPPLIES WEIGHTS 3775 LB. lOS HAS ITS' OWN POWER DISTRIBUTION UNIT (PDU) COOLING AND POWER SHARED WITH CPU CRAY-l S/4XOO REQUIRES AN ADDITIONAL MOTOR GENERATOR (3) AND AN ADDITIONAL COMPRESSOR (3) 1.2 FI GLRE I-I. I/O SUBSYST8'1 1.3 BUFFER BUFFER MEMORY MEMORY BUFFER MEMORY CONTROL MASTER CLOCK IOP-2 IOP-O IOP-1 IOP-3 liD liD liD liD CONTROLLERS AND INTERFACES (DISK) CONTROLLERS AND INTERFACES (DISK) INTERFACES CONTROLLERS AND INTERFACES (DISK XOR BLOCK MUX) IOP-1 DISK INTERFACE liD SUBSYSTEMJ MODEL A (SN 3-5 7-10) 1.4 J BUFFER BUFFER BUFFER BUFFER MEMORY MEMORY MEMORY ME~~ORY BUF. MEM. CONTROL BUF. r-1EM. CONTROL MASTER CLOCK IOP-l IIO CONTROLLERS AND DISK INTE RF,~ CES HSP CHANNELS HSP CHANNELS IOP-O IOP-3 IOP-2 IIO INTERFACES IIO CONTROLLERS AND INTERFACES IIO CONTROLLERS AND INTERFACES (DISK XOR BLOCK MUX) IIO SUBSYSTEM MODEL B (SN 6) 11 +) (DISK) INDIVIDUAL 1/0 PROCESSOR LOCAL ~1EMORY: 65,536 WORDS 16 BITS/WORD COMPUTATION SECTION: INSTRUCTION CONTROL NETWORK 2 FUNCTIONAL UNITS (ADDER AND SHIFTER) LOGICAL 'AND' OPERATION 512 OPERAND REGISTERS SINGLE-ADDRESS MODE ~ :- ~! D 'f-ti3/5 I/O SECTION: 6 DIRECT MEMORY ACCESS800+ MB I TS/ S ~e'DRY CHANNEL DIAGRAM OF S/I400J SI2400 AND S/44OO I $ FIGURE 1-5. BLOCK S SYSTEMS WITH INCREASED DI SK CAPACITY. ' 1.15 1 TO 3 FR(Nf-OO INTERFACES t , I I I " • I ~lIOP I I 6 EXPANDER CHASSIS 1 TO 16 BIOP DD-29 BUFFER MOORY DISK UNITS 1 TO 16 DD-29 1 TO 4 DISK UNITS· - .. DCU-4 CONTR. DIOP ~ - - 1 TO 16 CHANNELS XIOP -- -- == II I,. I EXTERNAL CHtlNNEL 800+ MBITS/S lJ'1A CHANNEL 50 MBITs/s CRAY-1 SIlO CHANNEL PAIR - - ACCLMULATOR CHANNEL S5 S S FIGURE 1-6. s 800+ ~~ ITS/ s ~OORY CHANNEL BLOCK DIAGRAM OF S/1400.1 S/2400 AND S/4400 SYSTEJvlS WITH BLOCK MULTIPLEXER CHANNELS. 1.17 CHAPTER 2 1/0 PROCESSOR LOCAL MEMORY FUNCTIONS PROVIDES BUFFERS FOR BLOCK TRANSFERS. HOLDS NUCLEUS (f Cf>ERATING SYSTEM. PROVIDES SPACE FOR EXECUTION (F 2.1 lOS OVERLAY CODE. CHARACTERISTICS 65,536 16 BIT ~IORffi IN 4 SECTIONS 4 CP BANK BUSY TIr'£ ON READ 6 CP BANK BUSY Tlr'E ON (f 4 BANKS vRlTE WHOLE SECTION GOES BUSY, NOT JUST Bml( BIPOLAR CIRCUITRY 7 CP READ TO ACCUMULATOR INSTRUCTION RETCH DONE IN 4 CP BURSTS, 1 PARCEL/CP OPERAND REFERENCE MOVES 1 PARCEL TO/FROM ACCUMULATOR I/O REFERENCE MOVES 4 SEQUENTIAL PARCELS TO/FROM I/O CHANNEL ODD PARITY: 1 PARITY BIT PER BYTE NO ERROR CORRECTION 6 DIRECT MEMORY ACCESS PORTS 2.2 UPPER BYTE SECTION 0 BANK 0 BANK 1 BANK 2 PARCEL 0 PARCEL 1 PARCEL 2 LOWER BYTE SECTION 0 BANK 0 BANK 2 BANK 1 PARCEL 0 PARCEL 1 PARCEL 2 BANK 3 PARCEL 3 BANK 3 PARCEL 3 FIGURE 2-2. 215 214 213 212 211 210 29 ,.- 27 28 Ip I I SECTION UPPER BYTE UPPER BYTE UPPER BYTE SECTION 1 SECTION SECTION 3 LOHER BYTE LOWER BYTE [~J 26 2 2 25 24 LOWER BYTE DATA WORD FORMAT 2.3 23 22 21 20 I LOWER BYTE UPPER BYTE FIGURE 2-3. SECTION 3 LOCAL MEMORY LAYOUT I I IL __ SECTION 1 ADDRESSING SCHEME LOv{R 4 BITS SELECT SECTION AND BA~~ NEXT 10 BITS SELECT ADffiESS IN CH IP UPPER 2 BITS SELECT CHIP 2 15 214 CHIP ADffiESS 2 13 SECT ION FI GlRE 2-1. LOCAl rtEMORY ADffiESS FORMAT THREE ADffiESS PATHS TO EACH LOCAl MEMORY SECTION FRav1: I/O SECTION CIT1PUTATION SECTION FETCH REGISTER 2.4 BANK ACCESS 3 READ PATHS AND 2 WRITE PATHS PER LOCAL MEMORY SECTION. 1 OF EACH TO ACCUMULATOR. 1 OF EACH TO I/O SECTION TO SERVICE DMA PORTS. LAST READ PATH TO INSTRUCTION STACK FOR FETCH. 2.5 CHAPTER 3 C()'1PUTATION SECTION BASIC COMPONENTS INSTRUCTION CONTRQ NEThJORK 512 OPERAND REGISTERS 2 FUNCTION~L UNITS CADltR AND SHIRER) 1 PROGRAMMER-VISIBLE ACCUMULATOR , LOGICAL 'AND' OPERATION 12~ INSTRUCTION COIfS 3.1 \ ......\ r:'.-, " ~ r ';' '/ OPERAND REGISTERS I tlSI HUCT ION STACK ""l "., I-- .J ,',\" ~- -----, (512) 1,--_." ,; 1_ _ ' 1 • I I I I I I -~-~-~-------------+~-~F~I I I I l---~_.Jtl , ----~I-------.P_. --F=~-== ---- _____ -- ___ A_D_DE_N_D_ _ _ ~~~--~~~.-~~ ~:j-J~_j\J-~~r----~--'A-C-C-lIM-U-LA-TO-R----,JI--l"!~-...-..--:.-I:~-L--t-.t'"! .~C i __ l_.__ • J I I I , r- - - : EXIT ---- ... STACK I I I I ~- - -~ L __'_,, _ _ _ _ _ _ _ __ ADDER ' I [I~-=:J- ill 1 -- - - - - - - ~---:l 1/0 1m!] C~;AN~ELS I I 1 I ,J _ _ _ _ _ , J--_L_-_--e.I~ • LOCAL MEr10RY (65K) f- ~- ~}--=-_ ,_ -__~==~~--_-____- -___~~_--I~=t---~--=---=-------I_ _ ,_L-'__ - __ - I I [ __ -jlt - - - - - ..., . . I I . SHI~ER -----1'--- ___ FIGURE 3-1. [/0 PI ERAND REG I STER ADDRESSED BY CONTENT (f rOORY ADDRESSED BY OPERAND REGISTER (nD) - D FIELD D DD B B REGISTER (B) CONTENT IOD 3 CHARACTER MNOONIC FOR CHANNEL ADffiESSED BY n FIELD lOB CHANNEL ADDRESSED BY B (f (FERAND REG ISTER ADffiESSED BY B IF 3.18 ()luL~ c.,~ .t}J~ /:\t\ 000 001 002 003 ~'O04 005 006 007 010 011 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 050 051 052 053 \ PASS EXIT 1=0 I =1 A= A> d A= A< d ~ . A= A» d A = A « d ~y'\ A= d A = A &d A= A+ d A= A- d A= k A = A &k A =A + k A=A- k A = dd A = A &dd A = A + dd A = A - dd dd = A dd = A + dd dd = dd + 1 dd = dd - 1 A = (dd) A = A & (dd) A = A + (dd) A = A - (dd) (dd) = A (dd) = A + (dd) (dd) = (dd) + 1 ( dd) = (dd) - 1 C = 1, i od = ON C = 1, i od = BZ C = 1, lOB = ON C = 1, lOB = BZ A=A > 8 A=A< B A =A » B A =A « B A=B A = A &B A= A+ B A =A - B ) 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077 00 101 102 103 ------- 106 107 110 111 112 113 114 115 116 117 120 121 122 123 \.}.J~tD cp:L ,I) B= A B= A+ B B= 8 + 1 B = B-1 A = (B) A = A & (B) A = A + (B) A = A - (8) (8) = A (8) = A + (B) (8) = (B) + 1 (B) = (B) - 1 P=P+ d P=P- d R=P + d R= P - d P = dd P = dd + k R = dd R = dd + k P = P + d, C = 0 P = P + d, C # 0 P = P + d, A = 0 P = P + d, A # 0 p = P - d, C = 0 P = P - d, C # 0 P = P - d, A = 0 P = P - d, A # 0 R = P + d, C = 0 R = P + d, C # 0 R = P + d, A = 0 R = P + d, A # 0 R = P - d, C = 0 R = P - d, C # 0 R = P - d, A = 0 R = P - d, A # 0 P = dd, C = 0 P = dd, C # 0 P = dd, A = 0 P = dd, A # 0 3 ~ 37 / Lf y-=V' ~I 124 125 126 127 130 131 132 133 134 135 136 137 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 177 P= P= P= P= R= R= R= R= R= R= R= R= iod iod iod iod iod iod iod iod iod iod iod iod iod iod iod iod lOB lOB lOB lOB lOB lOB lOB lOB lOB lOB rOB rOB rOB lOB lOB rOB t-\ ~ltL~~tS \ TABLE 3-2. I/O PROCESSOR INSTRUCTION SUMMARY 3.19 dd + k, C = dd + k, C # dd + k, A = dd + k, A # dd, C = 0 dd, C # 0 dd, A = 0 dd, A # 0 dd + k, C = dd + k, C # dd + k, A = dd + k A # 0 1 : 2 : 3 : 4 5 6 7 10 11 12 13 14 15 16 17 0 :rP 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 0 0 0 0 0 0 0 0 SYSTEM CONTROL INSTRUCTIONS 000 - PASS ACTS AS A NO-OP 001 - EXIT RETURNS CONTROL TO SUBROUTINE CALLER OR INTERRUPTED ROUTI NE. 002 - 1=0 CLEARS SYSTEM INTERRUPT ENABLE FLAG, LOCKING OUT INTERRUPTS. 003 - 1=1 SETS SYSTEM INTERRUPT FLAG, ALLOWING INTERRUPTS. DELAYED UNTIL COMPLETION OF A 000,001,003 TO 037 OR 044 TO 067 INSTRUCTION. 040 - C=l, Ion=DN 041 - C=1, IOD=BZ 042 043 C=l, IOB=DN - C=1, IOB=BZ FORCES CARRY BIT TO SAME STATE AS SPECIFIED CHANNEL'S DONE CDN) OR BUSY CBZ) FLAG. 3.20 ARITHMETIC INSTRUCTIONS THE FOLLOWING OPERATIONS ARE AVAILABLE: ADD SUBTRACT SHIFT LOGICAL PRODUCT LOAD STORE INCREMENT DECREMENT WHEN ANY ARITHMETIC INSTRUCTION COMPLETES THE RESULT IS ALSO IN THE ACCUMULATOR. 3.21 JUMP INSTRUCTIONS R UNCONDITIONtt JUMPS 070-077 32 CONDITIONAL JUMPS 100-137 FORMED BY APPENDING THE FOLLOJII NG COND I TI ONS : ,C=O ,C#O ,A=O ,ARO 6 BAS I C TYPES a= JlJ'1PS: 1. RELATIVE JUMPS \·JITH 070 071 D AS (fFSET P=P+n P=P-n 2. RELATIVE RETURN JUMPS \-'11TH n AS (fFSET 072 073 R=P+n R=P-n 3. ABSOLUTE JUMP TO ADffiESS IN OPERAND REGISTER 074 P=nn 4. ABSQUTE JUMP TO SUM (f ADffiESS IN CPERAND REG I STER AND K. 075 P=nD+1< 5. ABSOLUTE RETURN JUMP TO ADffiESS I f'J OPERAND REG I STER 076 R=nn 6. ABSQUTE RETURN JUMP TO SUM CF ADDRESS IN CPERAND REGISTER AND K. 077 R=nn+K 3.22 CHANNEL CONTRQ INSTRUCTIONS 16 POSSIBLE PER CHANNEL EACH CHANNEL INTERPRETS INSTRUCTION IN UNIQUE \~AY CHANNELS MAY RECOGNIZE SUBFUNCTIONS SPECIFIED IN ACCUMULATOR CHANNEL SELECTED BY D FIELD, 140-157: OR BREGISTER 160-177 3.23 CHAPTER 4 I/O SECTION CONFIGURATION l2 lID ICATED CHANNELS REQU IRED BY EACH lOP C) I' ls~ ~ S~tJtJl4--~b 28 OPTIONAL CHANNELS ~frlICH 0,'f-I~NAJfCL~ MAY BE IMPLEMENTED DIFFERENllY BY EACH lOP. THESE MAY USE UP TO 5 DMA PORTS CHANNELS NU'1PfRED OCTAlJ..Y () , • 41 INPUT CHANNELS EVEN: OUTPUT CHANNELS ODD ~ / . ~ PffiT~a~ BLOCK 1RANSFERS ------------ / / MAY MULTIPLEX SEVERAL DEVICES THROUGH ONE PORT 4.1 BIOP XIOP DIOP mIOP) CONSOLE AlA AOA AlB AOB 6 7 10 11 1/0 CONTROL J-----f---~ 4 2 3 PXS LME RTC BUFFER MEMORY LOCAL MEr-lORY ACCUMULATOR CHANNEL EXPANDER CHASSIS FRONT END DATA PATH TO LOCAL MEMORY ---'~ f1AG TAPE PRINTERI PLOTTER FIGURE 4-1. MIOP 1/0 SCHEME [£VICE I/O INTERRUPT REQUEST CHANNEL PROGRAM FETCH REQUEST 1 PFR PROGRAM EXIT STACK 2 PXS LOCAL M:MORY ERROR 3 IJ1E REAL 4 RTC BUFFER f'B1ffi Y 5 ros lOP INPUT 6,10,12 .AI* rop OUTPUT 7,11,13 AO* INPUT FRa1 CPU (FRONT END) OPTIONAL CI* OUTPUT TO CPU (FRONT END) OPTIONAL CO* INPUT FRa1 CENTRftl MEMORY OPTIONAL HL~ OUTPUT TO CENTRAL OPTIONAL HOA ERRffi LOG OPTIONAL ERA CONSQE KEYBOARD OPTIONAL TI* CONSOLE DISPLAY OPTIONAL TO* CPT IONAL 1)(* PERIPHERAL EXPANDER OPTIO~lAL EXB BLOCK MULTIPLEXER OPTIONAL J?l'1* DISK TI~,£ o CLOCK STOR~,GE ~ORY UNIT TABlE 4-1. CHANNEL ASSI GNrf.:NTS *A,B,C, ... 4.3 r1'lEMJNIC 100. F7~ j J (No BU '---.=-.----~--.~ " f~U7Yl~ :1 CJ ~ ~:c- ¢( 1) II : totA-l- ,7 • ~\S, f\-€, tf .:nvr UJ tiff, ~L£ y(V'-/ ACCUMULATOR CHANNELS USED MAINLY FOR CONTROL TRANSFER ONE PARCEL OF DATA TO OR FROM ACCUMULATOR DEDICATED CHANNELS 0-4 AND 6-13 DISPLAY, KEYBOARD AND ERROR LOGGING INTERFACE CHANNELS OUTPUT FROM ACCUMULATOR TAKES 1 CP (IF ACCUMULATOR READY) INPUT TO ACCUMULATOR TAKES 4-6 CP. DMA CHANNELS HAVE A PATH (ACCUMULATOR CHANNEL) TO COMPUTATION SECTION FOR PASSING CONTROL SIGNALS. HAVE DATA PATHS (THROUGH DMA PORT) TO LOCAL MEMORY. TRANSFER 4 PARCELS PER READ OR WRITE REQUEST. MAXIMUM TRANSFER RATE OF 4 PARCELS IN 6 CP. SIMULTANEOUS INPUT AND OUTPUT VIA SEPARATE PORTS. DEDICATED CHANNEL 5. CPU HIGH AND LOW SPEED, DISK, BLOCK MULTIPLEXEK AND PERIPHERAL EXPANDER CHANNEL. 4.4 OVERY IElf1 OF I/O CHANNEL INSTRUCTION SENT TO INTERFACE SPECIFIED IN FOR INTERPRETATION. D OR B ALL CONTROL I~FORMATION PASSED IN AN I/O UlSTRUCTION GOES THROUGH THE ACCUMULATOR. DATA TRANSFERS MAY If SINGLE PARCELS ffi Jl.OCKS a= DATA. AN INTERFACE MAY REQUIRE SEVERAL I/O INSTRUCTIONS TO ACCOMPLISH ADATA TRANSFER. CHANNEL STATE r'ONITCRED THROUGH INTERFACE BUSY CBZ) AND DONE CDN) FLAGS. 4.5 DEDICATED CHANNELS I/O REQUEST CHANNEL 0 READS HIGHEST PRIORITY INTERRUPTING CHANNEL NUMI£R. IOR:I0 READ INTERRUPTING CHANNEL NUMBER -LOADS LOWER 6 BITS (f ACCUMULATOR HITH HIGHEST PRIORITY INTERRUPTING CHANNEL. -DN NJJAYS SET, BZ ftlWAYS QEAR PROGRflM FETCH REQUEST CHANNEL 1 READS NUMBER (f. OPERAND REGISTER vJHOSE CONTENT ~}AS ZERO IN AN 074-077 AND 120-137 INSTRUCTION. MONITOR MAY THEN FETCH APPROPRIATE SEGMENT (f CODE FOR EXECUTION. PFR: 0 CLEAR PFR FLAG. THERE IS NO BUSY FLAG. PFR :6 QEAR CHANNEL INTERRUPT ENAIll FLAG (I EF) . PFR:7 SET IEF PFR: 10 LOAD ACCUMUL~TOR vII TH (FERAND REG I STER NLMBER AND CLEAR PFR FLAG. 4.6 Device Mnemonic I/O REQUEST CH. 0 lOR ·· 10 Read interrupt channel number PROGRAM FETCH REQUEST CH. 1 PFR 0 PFR · 6 PFR · 7 PFR 10 Clear the program fetch request flag Clear the channel interrupt enable flag Set the channel interrupt enable flag Read the operand register number PROGRAM EXIT STACK CH. 2 PXS PXS PXS PXS PXS PXS PXS · ·· ·· 6 LME LME LME LME · ·· · 6 7 I/O MEMORY ERROR CH. 3 ~~~~. ~~ i 0 7 10 11 14 15 0 10 Function Clear the exit stack boundary flag Clear the channel interrupt flag Set the channel interrupt enable flag Read exit stack pointer, E Read exit stack address, (E) Enter exit stack pointer, E Enter exit stack address, (E) Clear the I/O Memory parity error flag Clear the channel interrupt enable flag Set the channel interrupt enable flag Read error information , REAL-TIME CLOCK CH. 4 RTC · 0 RTC · 6 RTC · 7 BUFFER MEMORY CH. 5 MOS MOS ·· 0 1 MOS 2 MOS 3 MOS 4 MOS 5 MOS · 6 MOS 7 MOS 14 I/O PROCESSOR INPUT (AIA-AIC) CH. 6, 10, 12 AI* AI* AI* AI* I/O PROCESSOR OUTPUT (AOA-AOC) CH. 7, 11, 13 AO* AO* AO* AO* AO* TABLE 4-2. 0 6 7 10 0 1 6 7 14 Clear the channel done flag Clear the channel interrupt enable flag Set the channel interrupt enable flag Clear the channel busy and done flags Enter the I/O Memory address for next transfer Enter upper portion of Buffer Memory address Enter lower portion of Buffer Memory address Read Buffer Memory to I/O Memory Write Buffer Memory 'from I/O Memory Clear the channel interrupt enable flag Set the channel enable interrupt flag Set the control flags Clear the channel done flag Clear the channel interrupt enable flag Set the channel interrupt enable flag Read input to accumulator and resume channel Clear the channel busy and done flags Enter control bits from accumulator Clear the channel interrupt enable flag Set the channel interrupt enable flag Set the channel busy flag and output accumulator data. DEDICATED CHANNEL FUNCTIONS 4.7 PROGRAM EXIT STACK CHANNEL 2 PROVIDES 1/0 INFO~1ATION NECESSARY TO RESTRUC]JRE STACK. PXS:o CLEAR EXIT STACK BOUNDARY FLAG. NO BUSY FLAG. PXS:6 CLEAR IEF PXS:7 SET IEF PXS:I0 E TO A, CLEAR C PXS:ll CE) TO A, CLEAR C PXS:14 ATO E PXS:15 ATO CE) MEMORY ERROR CHANNEL 3 CONNECTED TO 1/0 rfl10RY ERROR IITECTION CIRCUITS. PROVIDES ERROR INFO~ATION FOR MAINTENANCE. PARI TY ERROR FLAG 111E: 0 QEAR LME: 6 CLEAR IEF LME :7 SET IEF LME:IO LOAD LOWER 5 BITS OF ACCUMUL~TOR WITH ADDRESS a= MEMORY ERROR. THIS GIVES BANK, SECTION AND BYTE (f ERROR. 4.? REAL TIME CLOCK CHANNEL 4 CO~NECTED TO RTC WITH IMs INTERkUPT INTERVAL. NO BUSY FLAG OR INTERFACE REGISTERS. DONE FLAG SETS EVERY MILLISECOND. READABLE RTC B"Ffl6N< ON MODEL B (SN 6, 11+) RTC:O RTC:6 RTC:7 RTC:IO CLEAR DN FLAG CLEAR IEF SET IEF READ ~ ORDER BITS OF RTC (2 1 TO 216) t-~l(;++ BUFFER MEMORY CHANNEL 5 PERFORMS BLOCK TRANSFERS THROUGH A DEDICATED DMA PORT. THREE INTERFACE REG I STERS: (11-R-LJ: DctfLEx~) A) 24 BIT BUFFER MEMORY ADDRESS REGISTER ./ B) 14 BIT LOCAL MEMORY ADDRESS REGISTER c) 14 BIT BUFFER MEMORY BLOCK LENGTH MOS:O CLEAR DN AND BZ FLAGS (BOTH SET ON ERROR). MUST BE DONE AFTER EVERY DOUBLE BIT ERROR BEFORE NEXT TRANSFER. MOS: 1 LOAD B) ~J ITH UPPER 14 BITS OF ACCUf1ULATOR MOS:2 LOAD UPPER 15 BITS OF A) WITH LOWER 15 BITS OF /\CCUMULA TOR MOS:3 LOAD LOWER 9 BITS OF A) WITH LOWER 9 BITS OF ACCUMULATOR MOS:4 LOAD c) WITH LOWER 14 BITS OF ACCUMULATOR. START BUFFER TO LOCAL BLOCK TRANSFER. MOS:5 LOAD c) WITH LOWER 14 BITS OF ACCUMULATOR. START LOCAL TO BUFFER BLOCK TRANSFER. MOS:6 CLEAR IEF MOS:7 SET IEF MOS:14 LOAD INTERFACE CONTROL REGISTER WITH LOWER 3 BITS OF ACCUMULATOR (DIAGNOSTICS ONLY). 4.9 I/O PROCESSOR INPUT CHANNEL 6, 10, 12 16 BIT INTERFACE REGISTER HOLDS DATA FROM ANOTHER lOP'S ACCUMULATOR. AI*:O CLEAR DN FLAG. NO BUSY FLAG. AI*:6 CLEAR IEF AI*:7 SET IEF AI*:10 READ INTERFACE TO ACCUMULATOR. THIS CLEARS INTERFACE REGISTER. I/O PROCESSOR OUTPUT CHANNEL 7, II, 13 ALLOWS lOP TO MASTER CLEAR, DEADSTART AND DEAD DUMP ANOTHER lOP THROUGH A 3 BIT CONTROL REGISTER. 16 BIT REGISTER HOLDS DATA FOR ANOTHER lOP. AO*:O CLEAR BZ AND DN. AO*:1 LOAD CONTROL REGISTER WITH LOWER 3 BITS OF ACCUMULATOR. 20=MASTER CLEAR: 21=DEADSTART: 22=DEAD DUMP. AO*:6 CLEAR IEF AO*:7 SET IEF AO*:14 LOAD INTERFACE REGISTER WITH ACCUMULATOR. DN FLAG SETS WHEN TARGET lOP PERFORMS AN AI*:10. 4.11 INTERFACES MAIN PURPOSES ARE: BUFFER ING DATA GENERATING CONTROL SIGNALS MULTIPLEXING SEVERftL IIVICES INTO ONE CHANNEL INTERPRET THE 4 BIT FUNCTION COIE SENT BY C(}1PUTATION SECTION .. USE BZ AND 11'J FLAGS FOR CONTROL. THE FOLL()\AII NG FUNCTIONS ARE CCMrON TO mST INTERFACES: Ion:O OR IOB:O CLEAR DN AND BZ, READY CHANNEL Ion:6 OR IOB:6 CLEAR IEF Ion:7 OR IOB:7 SET IEF 4.12 Device Mnemonic DISK STORAGE UNIT (DKA-DKP) DK* : 1 0K* : a Clear the channel control Select mode or request status Read data into I/O Memory oK* : 2 Dr.1 : 3 o~ oK* Write data from I/O Memory : 4 : 5 DK1.t : 6 DK* : 7 Dr : 10 DK* : 11 oK* : 14 oK* : 15 CONSOLE KEYBOARD (TIA,TIB,TIC, ... ) Tr- : a T:r* : 6 Tr· : Tr 7 : 10 CONSOLE DISPLAY Tcr*: 0 (TOA, TOB, TOC, TO *: 6 .~ •• ) EXPANDER CHASSIS TO * : 7 TO *: 14 EXB : a E]{B : 1 EXB : 2 E)m. : 3 EXB : 4 EXB : EXB EXB EXB EXB EXB EXB EXB : : : : : : : 5 6 7 10 11 13 14 15 EXB : 16 EXB : 17 TABLE 4-3. Function Select a new head group Select a new cylinder Clear the channel interrupt enable flag Set the channel interrupt enable flag Read I/O Memory current address Read status response Enter I/O Memory beginning address Status response register diagnostic Clear the channel done flag Clear the channel interrupt enable flag Set the channel interrupt enable flag Read data "into accumulator and clear done flag Clear the channel busy and done flags Clear the channel interrupt enable flag Set the channel interrupt enable flag Send accumulator data to display Idle the channel Data input from A register (DIA) Data input from B register (DIB) Data input from C register (DIC) Read busy/done flag, interrupt number Load device address Send interface mask (MSKO) Set interrupt mode Read data bus status Read status 1 Read status 2 Data output to A register (DCA) Data output to B register (DOB) Data output to C register (DOC) Send control INTERFACE FUNCTIONS 4.13 Device Mnemonic Function ~------------~------~~--------------------------~INPUT FROM CPU TYPE I/O CHANNEL (CIA, CIB, Cle ••• ) OUTPUT TO CPU TYPE I/O CHANNEL (COA, COB, coe ••. ) CI* : 0 CI* : 1 CI* CI.* CI* CI* CI* CI.* CI* : : : : : : : 2 3 4 6 7 10 11 co* : 0 CO.* : 1 CO! Co* Co* Co* CO* : 2 : 3 : 4 HIA HIA HIA HIA HIA HIA : : : : : : :"6 : 7 co* : 10 Co* : 11 INPUT FROM CPU MEMORY CHANNEL OUTPUT TO CPU MEMORY CHANNEL TABLE 4-3. Clear channel Enter I/O Memory address, start input Enter parcel count Clear channel parity error flags Clear ready waiting flag Clear interrupt enable flag Set interrupt enable flag Real I/O Memory address Read status (ready waiting, parity errors) Clear channel Enter I/O Memory address Enter parcel count Clear error flag Set/clear external control signals Clear interrupt enable flag Set interrupt enable flag Read I/O Memory address Read status (4-bit channel data, error) HIA' : 7 HIA : 14 Clear channel busy, done flags Enter I/O Memory address Enter upper CP memory' address Enter lower CP memory address Read CP memory, enter block length Clear interrupt enable flag Set interrupt enable flag Enter diagnostic mode HOA HOA HOA HOA HOA HOA HOA HOA Clear channel busy, done flags Enter I/O Memory address Enter upper CP memory addres~ Enter lower CP memory address Write CP memory, enter block length Clear interrupt enable flag Set interrupt enable flag Enter diagnostic mode : : : : : : : : 0 1 2 3 4 6 0 1 2 3 5 6 7 14 INTERFACE FUNCTIONS (CONTINUED) 4.1L~ Device Mnemonic ERROR LOGGING CHANNEL ERA ERA ERA ERA ERA ERA ERA BLOCK MULTIPLEXER BM* BM* BM* BM* BM·* BM* BM.* BM·* BM.* BM* BM.* BM* BM* BM* BM* BM.* CHANNEL (BMA,BMB,BMC ••• ) TABLE 4-3. : : : : 0 6 7 10 : 11 : 12 : 13 : 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 Function Idle channel Clear interrupt enable flag Set interrupt enable flag Read error status Read error information (first parameter) Read error information (second parameter) Read error information (third parameter) Clear channel control Send reset functions Channel command Read request in address (wait request in) Sing Ie byte I/O (wait service in/status in) Interface disconnect Clear channel interrupt enable flag Set channel interrupt enable flag Read I/O ~emory address Read byte .count Read status Read input tags Enter I/O Memory address Enter byte count Enter address Enter output tags INTERFACE FUNCTIONS (CONTINUED) 415 INTERFACE CHANNELS DISK CHANNEL. DKA ~ DKP TRANSFER DATA TO/FRO'1 DISK STORAGE UNITS 4 CHANNELS PER DCU-4 CONTROLLER UP TO 16 DISK CHANNELS ON EACH BIOP AND DIOP CONSOLE KEYBOARD CHANNEL TI* ACCEPTS INPUT FRO'~ KEYOOARD, ONE CHARACTER AT ATIME. 1 CHANNEL PER CONSOLE CONSQE DISPLAY CHANNEL TO* SENDS OUTPUT TO DISPLAY, ONE CHARACTER AT ATIME 1 CHANNEL PER CONSOLE EXPANDER CHASSIS CHANNEL EXB TRANSFERS DATA TO/FR~ MAG TAPE AND TO PRINTER 1 CHANNEL ON MIOP INPUT FRCf'1 CPU 1/0 CHANNEL CIA.., CI D ACCEPTS INPUT FRG"l CPU AND FRONT ENDS. UP TO 4 CHANNELS ON MIOP 4.16 OUTPUT TO CPU 110 CHANNEL COA -:, COD OUTPUTS DATA TO CPU AND FRONT ENDS. PROVIDES lOS WITH CPU DEADSTART CAPABILITY UP TO 4 CHANNELS ON MIOP INPUT FROf4 CPU MEt 10RY CHANNEL HIA r ACCEPTS DATA DIRECTLY FROM CENTRAL MEMORY INTO BIOP LOCAL MEMORY. 1 CHANNEL ON BIOP CAPABLE OF TRANSFER RATES IN EXCESS OF 800 MBIT/S OUTPUT TO CPU MEMORY CHANNEL HOA OUTPUTS DATA DIRECTLY TO CENTRAL MEMORY FROM BIOP LOCAL MEMORY. 1 CHANNEL ON BIOP CAPABLE OF TRANSFER RATES IN EXCESS OF 800 MBIT/S ERROR LOGGING CHANNEL ERA REPORTS ERRORS FROM THE FOLLOWING SOURCES: OTHER LOCAL MEMORIES BUFFEK MEMORY CENTRAL MEMORY CPU MEMORY CHANNELS 1 CHANNEL ON MIOP 4.17 BLOCK MULTIPLEXER CHANNEL PMA -+ PMP PROVIDES ACCESS TO IBM PLUG-CCt1PATIBLE PERIPHERALS UP TO 16 CHANNELS ON XIOP 4.18 ~110P AlA 6 DIOP AOA XIOP mIOP) AlB 10 7 BUFFER MEr10RY 1 PFR LNE LOCAL r·1EJ10RY ACCUMULATOR CHANNEL SZ\ _DKCg -DD-29 DATA PATH TO LOCAL MEr10RY FIGURE 4-2. BIOP liD SCHEME '--------''\ ~KD " g MIOP BIOP AOA XlOP mlOP) AlB 10 7 C UMULATOR BUFFER MEMORY 110 CONTROL 4 LOCAL MEr10RY /' /1 DD-29 1 ..... /' DCU-4 ACCUMULATOR CHANNEL ~ DATA PATH TO LOCAL ME~IDRY FIGURE 4-3. DIOP I/O SCHEME -- -G;l -... -B -- -8 XIOP 16 TAPES MOS LOCAL MEMORY 16 "TAPES 16 TAPES ACC. UNUSED I I 64 BITS 64 BITS 01 64 BITS 04 BITS :I 1: 64 BITS 04 BJTS 64 BITS 04 BITS I I I I I i I 64 BIIS 6,4 BITS I 64 BITS 64 BITS I:I I:I 64 BIIS 64 BITS 64 BITS 6ZJ: BITS I I BMC-4 IDS , IBM' ..... TAPE C.U. TAPE C.U. , IBM'---. 'IBM' 'IBM' - - TAPE C.U. TAPE C.U. 'OUTSIDE' IBM SELECTOR CHANNEL ~: (~ c0 1,,1) r", V 4 x 16 TAPE CONFIGURATION ~1l0P BIOP AlA 6 DIOP AOA 7 o ~'H'ORY (ONTROl 1 lOR BUFFER 110 ACCur1ULATOR 2 PFR PXS BMA+- Br'1D LOCAL MEMORY BLOCK MULTIPLEXER CONTROLLER (BMC-4 ) Br1A/ / EJ I I PER:PH·I ...... I ....... BMD ....... 88 89 ,/ \ IP:RIP:j ,/ IPERI ~H I IPERI PH .j --- ACCU~1ULA TOR S/\ DATA PATH CHANNEL TO LOCAL r'1E~lORY FIGURE 4-4. XIOP 1/0 SCHEME CHAPTER 5 BUFFER MEMORY FUNCTIONS BUFFERS DATA TO/FRCJt1 DISK, TAPE AND FRONT ENDS. USED AS ADISK CACHE. PROVIDES SPACE FOR OVERLAYS USED BY 1/0 SUBSYSTEM OPERATING SYSTEM. PROVlIfS SPACE FOR PASSING LJ\RGE M:SSAGES EETHcEN lOPs. 5.1 CHARACTERISTICS 112 OR 1 MILLION 64 BIT 140RDS IN 8 OR 16 BANK MODE"\ ( !! Lj ' AP'1L (Rl,Q2,R3) APM.. FEATURES 1) EXTRErftY FLEXIBLE ASSIGNf4£NT AND CONDITION SYNTAX 2) USES mST CAl PSEUOOS 3) KEY SYMBOL I£PENlINT 6.4 AP~lL SYMBOL A B ( B) C DD E (E) I lOB IOD K NOTAT ION MEANING ACCUMULATOR B REGISTER (OPERAND REGISTER INDEX) CONTENT OF OPERAND REGISTER ADDRESSED BY B CARRY BIT CONTENT OF OPERAND REGISTER (TWO CHARACTER SYMBOL) . PREFIXES A SYMBOL TO REFER TO AN OPERAND REGISTER. OPERAND REGISTER NUMBER OF DD CONTENT OF MEMORY ADDRESSED BY THE CONTENT OF OPERAND REGISTER DDr CONTENT OF MEMORY ADDRESSED BY THE SUM OF THE CONTENT OF OPERAND REGISTER DD AND K. EXIT STACK POINTER EXIT STACK ENTRY ADDRESSED BY E INTERRUPT ENABLE FLAG I/O CHANNEL DEFINED BY THE CONTENT OF B I/O CHANNEL MNEMONIC DEFINED BY CHANNEL PSEUDO INSTRUCTION. POSITIVE NUMERIC OR CHARACTER CONSTANT OR SYI'·lBOL. CONTENT OF MEMORY ADDRESSED BY THE VALUE K P REGISTER (PROGRAM ADDRESS REGISTER) INDICATES RETURN JUMP ~.5 APML FORMAT ASSIGN ASSIGN,COND L L L * DATl,DAT2" · · NAME OPl,OP2'" COMMENT L * L L ASSIGN COND DAT I NAr'1E OP I .COMMENT * .COMMENT • COMMENT . CO~1MENT .COMMENT .COMMENT OPTIONAL STATEMENT LABEL MUST BEGIN IN COLUMN 1 ASSIGNMENT STATEMENT ALWAYS HAS = OR ASSIGNMENT CONDITION DATA ITEM (SEE PDATA PSEUDO INSTRUCTION) PSEUDO NAME OPERANDS ALWAYS PRECEDED BY A PERIOD FOLLOWING A BLANK MEAN 'IF' WHEN USED TO DELIMIT CONDITION INDICATES Er~TIRE LINE IS A COM~1ENT WHEN PLACED IN FIRST NON-BLANK COLUMN, OR ASSIGNS CURRENT LOCATION COUNTER TO L. SYt1BOL MEAN ING SYMBOL = CONDITION EQUAL NOT EQUAL ASSIGNMENT EQUAL # + o Ct ADD SUBTRACT LOGICAL PRODUCT CHANNEL FUNCTION SHIFT LEFT SHIFT RIGHT CIRCULAR LEFT SHIFT CIRCULAR RIGHT SHIFT ADD SUBTRACT LOGICAL PRODUCT LESS THAN GREATER THAN LESS THAN OR EOUAL GREATER THAN OR EQUAL <.: >= 6.7 ASSIGNMENT SYNTAX AND A ~~\ OPERAND B A B ~ B E Cn) (E) (dd) E (E) dd dlr----- - (dd) ---._---- (k) lAd] (B) - k- _____(dd}- (dd+k:) - ~ - (B) ~ (dd+k) (dd+kJ (k) B k k (k) D E ASSIGNMENT SYNTAX , dd RESULT JUMP P RETURN R JUMP dd+k k J --'_.- ----_._-- CARRY ~IT C a I 1 . INTERRUPT FLAG PASS EXIT HAlT CHANNEL FUNCTION FUNCTION lad lOB DONE CONDITION SYNTAX SUBJECT ~ ~ A B B _____ del B -(Jj) ·E rJdJ (dd.) E ~(E) -.'._-- .... (E) -- ... ~~--- (dd+k.) ~.at1 ~(Bf .- "- -- dd· ---_.- (B) ,,(ga) - WJ (dd) - --- (I(-) ___ ~($t+k) (dd+k·) (k) :k 6.10 k DOHE CONDITION SYNTAX B' dci T (B) ~A Lcl1J (ddJ k DONE a c 1 ~ Lad. BZ ~ lOB DN SAMPLE ASSIGNrtNT STAID1ENTS: 21 22 00033/! 020013 LOC 334 0&2000 004010 A=R5+(9»10&B 26, : . , Q,t·40Q:O /Q.O'OO<21 :::~ ~:.•:O•. n ·:.:.~ Z:QOOO(l.4 02Q231 024235 ( LOCl ='E+,R3-'( SO G) 051000 • •. • •. :.•: !•. .•:.• :. :·:··:·:::.::·.e.·.:.• .. ;':'.{ ~:!!!_!!,.ij2ROtl 033235 flO 0'5Q231 074012 1 0 It 0 0 0 0 C=l g2 070000 17':qO:OO OiO a23" 10!3:14 223 lJ 43 /;Ita::: ~AIT o 80G SAMPLE CONDITIONAL STATEMENTS: ,..'-t 45 55, ~002 Q2q231 ····101002' ; oS:3JHlQ:.< 052000 020011 {)50,O:3.0 tOlOQ:] 010007 010000 100002 OSi4000 9=O,C=O 010000 A=O, '-10S:D,',J ;···IS·U.002 61 .101003 6" oaOOOI) 00bOl0 023231 6.12 EXAMPLES a= THE DAN(f:RS Cf Il)ING A AS A~! OPERAND: 1) I N ASS I GNr'£NT STATEMENT: Q 010QQ7 1 OZ0007 03223·1 ~=7 Ot2025 t154000 B:A+(Rl+-2S) 02Q231 2) IN CONDITIONAL STATEMENT: b 010010 7 020011 A=10 Q1J037 8=A,R3t#37 102002 054000 6.13 P MAY NOT FE USED AS CPERAND BY PROGRAMR EXAMPLE: 57 13 14 070000 050000 15 OSttOQO I):P+2 A=3 3=A CAT PIS USED AS (FERAND BY ASS81PLER EXAMPLE: 17 20 ~:OOG 050000 05"000 DOG 6.15 ~=9 8=4 W~ CONTRQ STATE~NT APML,I=IDN,L=LDN,B=BDN,E=EDN,ABORT,DEBUG,OPTIONS,LIST=NAME,S=SDN,SYM=sYM,T=ss~ I L B mITrED I=IDN (J1ITrED L=O L=t..DN av1ITrED B=O E ABORT DEBUG B=BDN a1ITrED E E=EDN Cl1ITrED ABORT mITrED DEBUG OPTIONS LIST S SEE LIST PSEUro a'1ITrED LIST=N,AME LIST cr1ITrED S=O SYM T S=SDN O'1ITrED SYM SYM=SYM OMITrED T T=SST SOURCE ON $IN SOLRCE ON IDN LIST OUTPUT ON $OUT NO LIST OUTPUT L1ST OUTPUT ON LDN BINARY ON $BLD NO BINARY BINA.RY ON BDN NO ERROR LISTING ERROR LI ST ON $OlJT ERROR LIST ON EDN, IF EDfftDN, THEN NO LDN. 00 NOT ABORT ABORT ON FATAl ASSEMBLYERROR IF FATAl ERROR OCCURS, WRITES BINARY RECORD AND SETS FATAl ERROR FLAG. \~.RITES BINARY RECORD vHTH FATAl ERROR FLAG QEAR. N,AMED LIST PSEUOOS IGNORED MATCH ING NAME NOT IGNORED ALL LIST PSEUDOS ACTIVATED $APTEXT NO SYSID1 TEXT SYSID1 "TEXT ON SDN NO SYMBOL TABLE SYMEQ TABLE ON BOO ($aD) SYMOOL TABLE ON SYM NO BINARY SYSTEM TEXT BINARY SYSTEM TEXT IS $8ST BINARY SYSID1 TEXT IS BST II 6.16 II EXAMPLE a= CONTRQ STATEMENT FORt1AT NECESSARY TO ASSEMBLE AN APM.. PROGRAM: B, j i'~ =EXA .,i PC:: • ACCJUNT,AC=CRT. j j A~~L. IEOF REGlSTE:R CRt,rt2,~3J SCR~.r::J1' R5 R';:12 Lac R2=1 Rl=Rl'-l R2=32t? P::=t~ . OCt:::Rl' .'0 . tSiJ. ~»:;::·R2:: $:: 1M::::. ... : IEOF 6.17 CHAPTER 7 SELECTED APML PSEUDOS ALL THE CAL PSEUDO INSTRUCTIONS ARE AVAILABLE EXCEPT: COMMON OPDEF THE = PSEUDO INSTRUCTION BECOMES EQUALS THE FOLLOWING PSEUDO INSTRUCTIONS ARE UNIQUE TO APML: PDATA BASEREG NE~JPAGE GLOBAL SCRATCH CHANNEL 7.1 IDENT &END REQUIRED IIENT lIENTIFIES PROGR~' mDULE I!I:NT IS PHYSICJiLY ThE FIRST STATFl'ENT Cf EACH r'YJDULE END IS PHYS I CtilY THE LAST STATB~ENT (f LOCATION RESULT OPERAND IGNORED IGNORED IIkNT NAME END IGNORED NftME - NAI"lE a= EACH f"'ODULE PROGRAM f1)DULE EXAMPLE: o IDENT 0500<00 7.2 PSEUDO EQUALS AND SET DEFI NES A SYr~BCl EXPRESSION. I~ITH THE vALUE AND ADR IRUTES ITIF:RMI NED BY THE SYMBOL IS NOT REIfFINABLE FOR EQUALS. SYMBQ IS REDEFI NARLE FOR SET. LOCATION RESULT OPERAND SYMBOL SYMBOL EOUALS SET EXP,ATIRIBUTE EXP,ATIRIBUTE SYMBOL EXP ATIRIBUTE - UNQUALIFIED SYMBOL ~NY EXPRESS ION OPTIONAL. OVERRIIIS ADRIRUTE Cf P- PARCEL yJ - \4/0RD EXP V- VALUE EXAMPLE: IDENT 2 lU2U 17 0 EqUSET Rl EQUAl.S GEORGE 3ASERE~ ~i1UAI S Rl lD2g SE T 17,P CAT 2 P=CAT 075002 luOJ017 1 u 31 CAT SET ~NO 7.3 GEJRGEt5 SCRATCH USED TO DECLARE SCRATCH REGISTERS FOR GENERATING CODE FROM COMPLEX STATEMENTS. LOCATION RESULT OPERAND IGNORED SCRATCH Rl,R2,R3,R4,RS RI UP TO 5 PREVIOUSLY DEFINED OR NON-DEFINABLE SYMBOLS. SYMBOLS MUST BE DEFINED ELSEWHERE. EXAMPLE: 7 ~rlA"K 10E\JT SCRATCH E~jALS 7 SET 3 SHA~K,OO,OA SCR4TCH ;, o 1 014000 IJOJOQO 02Q007 014000 IJ010~7 02U003 0300Q3 03~007 vA LOC E~JALS <1> (L.JC)=(10~7) E \lD 7.5 ---------_._-_.__..... BSS - BSSZ RESERVES 64 BIT WORDS IN LOCAL MEMORY, STARTING AT CURRENT LOCATION COUNTER. FORCES WORD BOUNDARY IN DOING SO. i LOCATION SYMBOL SYt1BOL RESLJLT OPERAND BSS BSSZ COUNT COUNT SYMBOL OPTIONAL, IS ASSIGNED WORD ADDRESS OF LOCATION COUNTER COUNT NUMBER OF EXA~1PLE o 1w 13w ~/ORDS : 050000 12 IJ NON ZERO HERE 7.6 IDENT aSSBSSZ £\:6 9SS 12 ~ssz g ALLOWS SPECIFICATION OF NUMERIC DATA BEING OCTAL, DECIMAL, OR MIXED. DEFAULT IS OCTAL. LOCATION RESULT OPERAND IGNORED BASE DBASE DBASE DESIRED BASE. O-OCTAL, D-DECIMAL, M-MIXED * REVERTS TO PREVIOUS BASE EXAf1PLE: IOE~T 0 OtOO12 BASE t A;;22 010012 3ASE 2 * A::12 010012 END 7.7 .BAsE 0 .BASE ~ i) .BASE D &.=12 01.001'-' 3ASE 3 6ASE A=12 *. .BASE 0 MACRO A SEQUENCE OF SOURCE PROGRAM INSTRUCTIONS THAT ARE SAVED BY THE ASSEMBLER FOR INCLUSION IN A PROGRAM WHEN CALLED FOR BY THE MACRO NAME. THE MACRO CALL RESEMBLES A PSEUDO INSTRUCTION. LOCATION RESULT IGNORED MACRO SYf1BOL NAME OPERAND Pl,P2"" , KW l=Dl, KW 2=D2"" • • ENDM NAME 1-8 CHARACTER OPTIONAL SYMBOL - IF PRESENT IT IS A POSITIONAL PARAMETER. MACRO NAME TO BE USED WHEN ASSEMBLING INTO A PROGRAM. THIS NAME WILL REDEFINE ANY CURRENTLY ACTIVE PSEUDO INSTRUCTION. POSITIONAL PARAMETER. MAY BE NONE, ONE OR MORE. ~JHEN USED, POSITION OF PARA~1ETER r1UST BE ADHERED TO. KEYWORD PARAMETER. MAY BE NONE, ONE, OR MORE. WHEN USED THE KW NAME IN THE MACRO HEADING MUST BE USED. THE KW NAMES MAY BE USED IN ANY ORDER IN THE MACRO CALL. DEFAULT VALUE OF A KW NAME. WHEN A BLANK OR COMMA FOLLOW THE = SIGN THE DEFAULT IS A NULL VALUE. DEFINITION END. THIS TERMINATES THE MACRO DEFINITION. THE NAME IN THE LOCATION FIELD MUST MATCH THE NAME IN THE MACRO HEADING. SYMBOL NAME P KW D ENDM EXAi~PLE : ...3u:_ _ _ _ "1ACRO IDLE LOCAL BAG JiAlL_ A XXXXXX(X =CQ U Nr xxxxxxxx ~=A·l P=XXXXXXXX,~~O 3=CAT IDLE COUNT,CAT=b END.." 7.8 f'~lACRO CALLS LOCATION RESULT OPERAND SYMBOL NAME PARGl,PARG2"" ,KWARGl=Al,KWARG2=A2"" SYMBOL OPTIONAL IF SYMBOL USED ON THE MACRO DEFINITION. SUBSTITUTED WHENEVER SYMBOL APPEARS IN THE MACRO DEFINITION - IF SYMBOL DOES NOT APPEAR IN THE MACRO DEFINITION THE FIELD MUST BE EMPTY. MUST MATCH THE NA~1E NAME OF THE MACRO DEFINITION. POSITIONAL ARGUMENT TO BE SUBSTITUTED IN THE MACRO PROTOTYPE. TWO CONSECUTIVE COMMAS INDICATE A NULL POSITIONAL ARGUMENT. KEYWORD PARAMETER TO BE USED IN THE MACRO PROTOTYPE. KEYWORD ARGUMENTS MAY APPEAR IN ANY ORDER. KEYWORD ARGUMENT TO BE SUBSTITUTED FOR THE DEFAULT VALUE IN THE MACRO PROTOTYPE. IF KWARG IS USED WITH THE ABSENCE OF AI THEN THE DEFAULT VALUE IS USED THROUGHOUT THE MACRO. EXAf1PLE: 7 0 1 2 5 010007 b Ot3001 10700 t 010006 SET IDLE 7 NU~,CAT=2Q %%000000 A=A-l ~=l%OOOOOO,A.O 10700t 01l)02A CALL A:NJ\1 010007 01300t :; 7 10 NUM TDFNT 3=2a Q5IJ.OtlQ SHRIMP SHRIMP , ~XOOOOOl IDLE A=\lJ"1 A=A-l ~lJ"1 :J:%%OOOOOl,AiiO 3=6 U54000 7.9 LOCAL SPECIFIES SYMBOLS WHICH ARE DEFINED ONLY WITHIN A MACRO LOCATION RESULT OPERAND IGNORED LOCAL SYMl' SYM2' · · · SYMBOLS THAT ARE TO BE LOCAL EXAr1PLE: <~) •. . r . , r I 'J :::> . ._ _---'--"2.:.------- ____._. _____ __.1 t i J .L..JC\i.. < . ~~. r " 1 I I ) ", ,. <- ~ ::'J-:_~r i...1 I_)_·l.~ y y Y Y i f f yj E r _____ ._ _ _ .___.. __ .._ _ _ .______1L:-'L.ui. {:L _fL_. L '.i r: :: 7.10 j J , vY(fiYYY r E ;; r DESIGNATES ABSOLUTE RATHER THAN RELOCATABLE ASSEMBLY THE KERNEL USES ABSOLUTE ASSEMBLY LOCATION RESULT OPERAND IGNORED ABS IGNORED EXA~1PLE : '~ 3S . 7.11 PDATA LOGICALLY IDENTICAL TO DATA GENERATION. ALLOWS UNRESTRICTED USE OF REGISTER SYMBOLS AS DATA. LOCATION RESULT L PDATA OPERAND L STATEMENT LABEL WITH PARCEL ATTRIBUTE DATAl CAN BE ONE OF THE FOLLOWING: 1. NUMBER 2. SYMBOL 3. CHARACTER STRING USES AS MANY PARCELS AS NECESSARY 4. PARCEL STORAGE RESERVATION 5. * - ASSIGNS CURRENT PARCEL COUNTER TO L EXAMPLE: 2 o 217 000 211"0 Qd 00 0 2 Q Q a0 Q1 IDENT PDATA EJuALS A EQUALS 2 21 '7 D [} G ?DATA A, R' , "<0 AlA ITE'4#, <1 Rl END 7.12 Q~_-L1 BASEREG USED FOR JUMPS TO A LABEL OUTSIDE OF CURRENT uPAGE.u A uPAGE u IS AT MOST 512 PARCELS. LOCATION RESULT OPERAND IGNORED BASEREG R,B R SYMBOL FOR DESIRED BASE REGISTER B BIAS (CONTENTS OF REGISTER) EXAMPLE: IDENT 1 o Rl EQUAl.S 3ASEREG 1 Rt ~=\lEXI 075"01 tpOITU4 2 17LJ4 NEXT __ ~lt~bo _ If\-BfLL ~ BASEREG <17q2> <1> €~ 6 ~ ~~uJrA6t 7.13 \j lo D, BS~ f1:>~ffi 012 01-\14\ G-t~t~T mJ NEWPAGE FORCES A NEWPAGE LOCATION RESULT OPERAND IGNORED NE\~PAGE IGNORED EXAMPLE: IDENT 1 1 SASEqEG Rl ;»:NEXT '4ENPAGE 2 NEXT <1> E\JO 7.14 ~EI4PlGE EQUAL.S GLOBAL DECLARE A SYMBOL TO BE GLOBAL SO IT CAN BE RETAINED ACROSS PROGRAM MODULES. LOCATION RESULT OPERANDS IGNORED GLOBAL SYMl,SYM2"" SYM I NON-REDEFINABLE SYMBOL SYMBOL MUST NOT BE RELOCATABLE EXAMPLE: IDENT Gl08Al ABS - - ---.---- . - -_________ .__ .___ ._____ .__ .. _ -____ G.l.OBAL_ -. _______ JiON 4 BA o SA 0 BA E~UALS ~ASEREG O----.-D.7..sDOD-'-J)D-11~1--.-----------p=-\lO~ 2 NON 17b7 -------------- -------. _____._ _ <17&5> <1> -- - ___ ---E~1l. _ _ __ lOE~T GLOBAL1 EQUALS 3 __3A S -E Jl E~ o ._ _~B8_ -_ -. P=LOC 015003 1002331 3ASE~Et; - -- ·2 ----0-750-00 -./JJll.J..7-b7-------- ---------P-.:~O~ 3ASERE~ . 4 2351-- ____ ._ _ _ _ ._____________ -LOC <23Q5> (J..>.:..-_ _ _ __ END 7.15 BA CHANNEL USED TO DEFINE ACHANNEL MNOONIC LOCATION RESULT OPERAND M CHANNEL N M MNEMONIC (CONVENTION IS N CHANNEL NLMBER 3 CHARACTERS) EXAMPLE: 5 o ~f4(l005 1 1· 0 0Q05 aUF IOENT CHANNEL CHANNEL.~ 5 aUF:O \4QS:O END 7.16 BLOCK CONTROLS THE ORDER IN WHICH SOURCE CODE IS ASSEMBLED. THE SOURCE CODE IS DIVIDED INTO BLOCKS, EACH OF WHICH HAS ITS OWN LOCATION COUNTER. THE BLOCK PSEUDO INSTRUCTION IS USED IN THE KERNEL SO THAT THE TABLES DO NOT END UP IN THE FIRST 4000 PARCELS OF LOCAL MEMORY. LOCATION RESULT OPERAND IGNORED BLOCK NAME NAME OF BLOCK. NAME * - REVERT TO PREVIOUS BLOCK. BLANK - REVERT TO NOMINAL BLOCK (DEFAULT) eXAMPLE: ~- ~ - ..... 050~OO " 0.5 0.000 l' 050000 __ __ _ ._ ____ .__ . _______ .. CAT ____ .. , __ . _ . "' __ .. __ ._SA l:.___ . IJ) ~_NJ.i .. _ ..___ ._ 4=3! 3l0:<1 __ __" =3L ONE! ___ .. _. __ ..__ .___ _ ___ _ 3l0C<1 1 _ . _____ 050000 _ 3_l :lC_1( RAT ~=31 HAT ~=31 TWO _ _. ____ .. -_____ ._____ .____ ~l..!~C_1 024010 iELSEIF R2=1 22 010002 02~Ol'" ~EI.SE ~2=2 7 4 (R2 L ( ALLOCATED IN r·1ULTIPLES a= FOUR PA.R.CELS. IMPLEM:NTED AS A FOR~IARD LINKED LIST. ~ USED FeR TABLES, ACTIVITY IESCRIPTeRS AND ~ LOCAL I/O BUFFER CHAIN: ¥/ll'i t'£L fI bJ< }IJK ~ ~ \ ~\ LOCATED IN UPPER f'EMORY \\ i,~~-r ALLOCATED IN MULTIPLES OF 40008 PARCELS~ IMPL8t:NTED AS A FORvJARD LINKED LIST. USED MAl NLYFOR I/O BUFFERS. )'/1mi As D/tL '{R.ifb eft-Jt? P 10.2 o KERNEL OVERLAY MEMORY DALS ..-.. Jl1u:~;;,E - ~dd FREE MEMORY II ~~=:.'<~P L/ IN S!~ I r----------------------------------I II ! , I II I I LOCAL I/O BUFFERS 65K FI GLRE 10-1. LOCAL ~18'10RY CONFI GUPATI ON 10.3 BUFFER ~f1)RY SHARED BY AlL lOPs CONTAINS ALL THE OVERLAYS AVAILABLE TO lOPs EACH I(J' HAS ITS ~JN KERN8.. STORAGE AREA USED FOR TEMPORARY STORAGE AND I/O BUFFERS EACH ICP HAS ITS Cl~JN flESSA(I AREA rrESSAGES ME MAl NTAI NED BY SE~J]ER SYSTEM DIRECTORY CONTAINS INFO~~TION P,~RTITIONING • 10.4 ABOUT BUFFER MEMORY KERNEL I SYSID1 DIRECTORY &t'f twJf MESSA(f AREAS J/ / / lyfL · I I I !I I OVERLAYS , CF4/::J c tv ( t/ /i I I I, P~TII:-f {;fA 5 1U) f+ l> '1') Y ~ S . KERNEL AREAS /4f ~l .~ FI GURE 10-2. RUFFER M8'lORY CONFI GURATI ON 10.5 PAHCEL 0 2 4 6 10 t40RD 0 0 1 1 ') L r'lIOP MESSA(f AREA ADffiESS IN BIOP r'ESSA(I AREA ADffiESS 14 16 20 22 24 26 2 3 3 4 4 36 5 5 6 6 7 7 52 12 30 32 34 (2 PARCELS) DIOP MESSA(f AREA ADDRESS XIOP MESSAGE AREA ADDRESS OVfRtJ,y ffSCR IP+GR T.~BLE ADLRESS IN r«)S L-{AJU ~kb ~) 12 ~1OS SiZE ~# ENTRIES RESER\1:D 1ST OVERLAY ADDRESS (2 PARCELS) UNUSED MIOP KERNEL AREA IN r1)S SIZE (f r1IOP ~1OS MODULE (NLMBER (f lOOOg \AIORD AREAS) BIOP KERNEL AREA IN MJS SIZE (IN 10008 \,JORD ARE~S) DI OJ KERNEL AREA IN t'1()S SIZE (10008 \~RD AREAS) XI CP KERNEL AREA IN MOS SIZE (10008 \~JORD AREAS) I FIGURE 10-3. SYSTE}1 DIRECTORY 10.7 TASK HANIlING TASKS EXECUTING IN AN HP ARE CJlLED ACTlVITIES. AN ACTIVIlY IS AN IN1l:PENItNT PATH THROUGH THE CODE. NORMALLY CONS ISTS (f a= EXECUTION NESTED OVERLAY CALLS. KERNEL MAINTAINS ACTIVITIES THROUGH THE USE (f ACTIVITY DESCRIPTORS, STORAGE rGDULES (SMODS) AND POPCELLS. 10.8 ACTIVITY DESCRIPTOR USED BY KERNEL TO SCHEDULE AND ACTIVATE ACTIVITIES. ONE FOR EACH ACTIVITY. BUILT BY A COMMON SUBROUTINE THROUGH A CREATE SERVICE REQUEST. CONTAINS LINKS, ADDRESSES AND OTHER INFORMATION NECESSARY TO MANAGE AN ACTIVITY. LOCAL MEMORY RESIDENT, lfJ FetE- ~ EXISTS UNTIL AN ACTIVITY IS TERMINATED. PARCEL o 1 2 3 Lf 5 6 7 10 11 12 13 14 15 16 17 LINK FOR QUEUES LINK TO EXISTING ACTIVITIES (FOR DEBUGGING) PR lOR ITY (0-17 8) MOS UPPER ADDRESS OF SOFTWARE STACK MOS LOWER ADDRESS OF SOFTWARE STACK UNUSED UNUSED UNUSED LINK TO NEXT SMOD (OVERLAY) TO ACTIVATE IF IDLE LINK TO CURRENT IF ACTIVITY ACTIVE 40000=DEMON ACTIVITY FUNCTION CODE OF CURRENT SERVICE REQUEST KERNEL PARAMETERS FOR I/O REQUESTS AND PASSING STATUS TO OVERLAYS II II II " " /I /I II II II II " " " " " " /I II II /I /I /I II " " " " /I " /I /I II II II /I FIGURE 10-4. ACTIVITY DESCRIPTOR 10.9 STORAGE r1)DULE (S~OD) USED TO SAve. AN OVERLAY'S EXECUTING ENVIRONM::NT. ONE PER OVERLAY READ I NTO LOCAl M:MORY. SIZE VARIES LfPENDI NG ON HOtJ MANY REG I STERS NEED IE SAVED. MINIMALLY CONTAINS: LINKS TO ACTIVI1Y IISCRIPTOR AND PREVIOUS OVERLAY I NFORMATI ON. A, B, C, E, AND P REGISTER CONTENTS. ~·'OD. MAY CONTAIN: OPERAND REGISTER CONTENTS ESSENTIAL TO ITS' OVERLAY. PROffiJlM EXIT STACK ENTRIES FOR ITS' OVERL~Y. Sf10D IS PARTIAlLY UPDATED v~EN AN OVERLAY OOES A KERNEL SERVICE REQUEST. IF C.AlL RESULTS IN LOSS (f CONTROL, S~10D IS COMPL£TEL Y UPDATED. REGISTERS ARE RE-LOAlEJ FR(Jt1 ~D l'IHEN S.R. IS C0t'1PLETED OR WHEN OVERLAY GETS CONTROL BACK. INITIAL S'10D SET UP THROUGH CREATE SERVICE REQUEST t\ND IS TO BUFFER MEMORY AS A SOFn~ARE STACK. 10.10 ~ITTEN PARCEL a 5 ACTIVITY ADDRESS LINK TO PREVIOUS SMOD (0 IF FIRST) SIZE OF THIS SMOD POINTER TO OVERLAY DESCRIPTOR TABLE ENTRY UNUSED UNUSED 6 A 7 B 10 11 C E 12 ~(E)~ 13 14 # OF OPERAND REGISTERS (7); STARTING REGISTER (9) 1 2 3 4 FIRST OPERAND REGISTER SAVED N FIRST EXIT STACK ENTRY I N+E LAST EXIT STACK ENTRY FIGURE 10-5. STORAGE MODULE THERE IS AFIXED STACK IN LOCAL CURR8~T ACTIVITY'S OVERLAYS RESI~RY WHERE THE SMOns FOR THE ~I= I~~~' ONTO mls STACK ~J1-IEN AN OVERLAY eAlJ..s A 'PUSH' CONS ISTS (f SAVI NG AN OVERlAy I S REG AND UPDATING TIE SffiD POINTER IN TI£ ACTIVI~S:RIPTOR, THE CALLER'S SMOD I~ '~~' ~ruv nt~ A~~N SERVICE !L[~~ ~r~~ ~~ ~~ Lim A 'pt)p' CONS;STS CF ;P~TING TJ.& _ REST~ING THE CruING CM:RL~T-~ REGIS1IRS. THIS sa=n~rARE STACK IS ~~RITfEN aHT TO BUFFER r'fl1ORY \llHEN AN ACTIVITY RELINQUISHES CONTROL TO THE KERNEL AND OTHER ACTIVITIES ARE ON THE CENTRAL PROCESSOR QLEUE. T1-E LOCIt rOORY Sa=nIARE STACK IS NCM FREE FOR USE BY ANOTHER ACTIVITY. vJHEN ,AN ACTIVITY REGAINS CONTROL, IT'S Sa=nJARE STACK \\JILL P.E READ INTO THE LOCPl SamJARE STACK FRO'1 BUFFER MSVORY. 10.12 ACTIVITY DESCRIPTOR o .....--10 LINK FOR QUEUES LINK TO CURRENT/NEXT SMOD 17~----------------------------~ ,--------, ------- - o SOFTWARE STACK ACTIVITY ADDRESS 1 0 2 SIZE OF THIS SMOD 'SMOD 21 II EXIT STACK I I "----4~_ 0 1 2 ACTIVITY ADDRESS LINK TO PREVIOUS SMOD SIZE OF THIS SMOD I I 12 (E) l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .___ FIGURE 10-6. EXAMPLE OF SOFTWARE STACKING 10.13 POPCELL AllOWS ONE ACTIVITY TO CONTROL ANOTHER ACTIVITY IN A DIFFERENT lOP. ACTIVITY WILL PASS A MESSAGE THROUGH BUFFER MEMORY WHEN IT WANTS SOMETHING DONE BY THE SLAVE ACTIVITY. BUILT BY THE KERNEL OF AN lOP WHEN AN ACTIVITY IN ANOTHER lOP DOES AN ALERT SERVICE REQUEST, CREATING AN ACTIVITY IN THE FIRST lOP. IT IS REFERENCED BY THE KERNEL ON SUBSEQUENT AWAKE SERVICE REQUESTS FROM THE ORIGINAL ACTIVITY IN THE FIRST lOP. PARCEL o 1 2 3 4 5 6 7 lINK TO OTHER POPCEllS ACTIVITY ADDRESS PUSH/POPCELl FIRST (ACTIVITY ADDRESS) PUSH/POPCELl lAST (ACTIVITY ADDRESS) DAL QUEUE FIRST DAl QUEUE lAST UNUSED UNUSED FIGURE 10-7. papCEll FORMAT ~~l f~ nIP6VCJcLL S1,0 ~ 10.15 INTER-lOP CO~UNlCATION OCCURS VIA ACCUMULATOR CHANNELS AND BUFFER MEMORY MESSAGE AREAS. PARCEL PASSED VIA ACCLrlULATOR CHANNEL MAY 1£ ENTIRE ffi GIVE BUFFER MOORY ADffiESS a= MESSA(£. MESSA(I:S PASSED THROUGH BUFFER ~ORY ~SSA(f HA'vt: A FIXED FORMAT AND ARE CALLED DISK ACTIVITY LINKS CDAL). ADDRESS OR COMMAND FIGLRE 10-8. FORMAT (f 10.16 ACCLMULATOR r1:SSA(I FUNCTION CODES (212 D 215 ) IUINITION CC11MAND COIE IN BITS 2 0 D= HALT THE lOP M$OO 1-7 10 - = - 2 11. INITIATE SYSDUMP !-\!1$SYNC = SYNCHRON lZE lOP S(FThJARE CLOCK UNUSED A M:SSAGE IS CONTAINED IN THE ms ~'ESSAGE AREA (f THE MI OP PROCESSOR AN AT ADffiESS l·!H I CH IS C.ALCULATED USING THE Lo,f:R ORDER 12 BITS (f THE ACCUMULATOR. EACH MESSAGE A.REA IS (f SIZE 8 64BIT VDRDS. TO FI ND THE t1JS ADffiESS ONE MUST LEFT SHIFT 11 THE ACCUMULATffi 3 BIT POSITIONS AND ADD THE BASE a= THE ms r'ESSAGE .AREA FOR PROCESSOR MIOP. MESSAGE IS IN THE AREA, CONTROLLED BY BIOP FOR MESSAGES TO THE OTHER PROCESSORS. 12 13 14-15 16 r1:SSAGE IS IN DIOP'S MESSAGE AREA. J~)-P - 2_ MESSACE IS IN XIOP'S MESSAG: AREA'XOP-3 UNUSED USED BY DE~lLOCATING 17 FOR ALLOCATING NJD 1/0 BUFFERS IN ANOTHER lOP'S CONCE~rrRATOR KERNEL STORAGE AREA. THE ENTIRE C(J'ft1AND IS ENCOIID IN THE LOvtR 12 BITS, NO ros DATA AREA IS ASSOC IATED \,\!I TH IT. 10 TABlE 10-1. HEARTBEAT ACCUt~ULA TOR ~£SSAGES 10.17 DISK ACTIVITY LINK 40 8 PARCELS IN LENGTH SENT TO ANOTHER IOP TO REQUEST IIO BE PERFORMED. USED BY DISK, TAPE, STATION, CONCENTRATOR AND INTERACTIVE STATION SUBSYSTEMS. ALLOCATED FR(J'1 A CHAIN IN lOCAL r·£MORY. DE-ALLOCATED \4HEN OONE RESPONSE RECEIVED. PASSED THROUGH t'£SSA(I AREAS IN BUFFER SE~HfR ~MORY MAINTAINS THE MESSAGE AREA. PA.RCEL o 1 2 3 4 5 6 lINK FOR CHAINING DAL's FUNCTION (f ~£SSAGE: l=R/\~1 DISK; 2=RELEASE rvDS DAL; 3=t10VE CENTRftl TO M'JS; 4=f10VE r10S TO CENTRAL; 5=SEND STATUS TO CPU; 6=CENTRAL TO MJS OONE; 79'10S TO CENTRAl OONE; 20=ALERT; 21=ALERT OONE; 24=AHAKE: 25=RESPOND. ms UPPER (f DAL MOS LO~fR OF DAL SENDER ACTIVITY DESCRIPTOR FOR RESPONSE ACCUMULATOR MESSAGE POPCEll ADDRESS 37 FIGLRE 10-9. FORt1AT (f DISK ACTIVITY 10.19 LI~K ~SSAGE o. CDAL) R_OW ACTIVITYA BUILDS A Dtt IN LOC,Ill MErORY. 1. ACTIVITYA \ARITES DAL TO lOPA ~SSA(l: AREA IN BUFFER ftEMORY. 2. ACTIVI TYA SENDS ACCUMULATOR ~SSAGE TO lOPB • 3. INPUT f"£SSAGE ACTIVI TY (AC(1v1) IN HI' B READS IN DAL FRtl'1 BUFFER t'OORY. 3A. ACTIVITYB PROCESSES t'£SSAGE. 4. ACTIVITYB UPDATES DAL FUNCTION COOC AND \1RITES DAL TO ORIGINAL SPOT IN IOPA ~SSAGE AREA. 4A. ACTIVITYB fE-ALLOCATES LOCJt ftEMORY DAL SPACE IN HPB • 5. ACTIVITYB SENDS ACCUMULATOR ~SSAGE TO lOPA' 6. ACOM IN lOPA READS IN DAL AND UPDATES THE DIt ALREADY IN LOC,~ M8'0RY. 6A. ACTIVITYA CAN IE-ALLOCATE BUFFER ftEMORY AND LOCAL rvEMORY DAl SPACE IF OONE. 10.20 - -~ .. __ . - .. _. - - , - - - - - -..... 2 ACTIVITYB ACTIVITYA ACOM ACOM IOPA MESSAGE AREA BUFFER MEMORY FIGURE 10-10. BASIC DAL FLOW 10.21 -------,----------_._---------------- OPERAND REGISTER ASSIGNMENTS REGISTER ASSIGNf"ENTS ARE MArE SO AS TO MAXIMIZE THE AroUNT OF INTERRUPTIBLE CODE. OVERLAYS USE DIFFERENT REGISTERS THAN THE KERNEL SO ON AN I NTERRUPT ONLY A BAND C NEED 1£ SA\/ED . I I ASS IGNMENTS ME AS FOLLOtJS: 0-177 KERNEL 200-277 DISK HANDLING 300-577 OVERLAYS 600-677 UNUSED 700-777 lXBUG ROUTINES 10.22 CHAPTER 11 OVERLAYS GENERftl DESCRIPTION EXECUTABLE PROGRAMS ffi SUBROUTINES RESIDE IN BUFFER MEMORY READ INTO OVERLAY MEMORY IN LOCAL MEMORY FOR ACTIVATION KERNB- MAINTAINS ABASE REGISTER CONTAINING THE OVERLAY'S BASE ADffiESS. USUALLY ~LER THAN 1024 PARCELS IN SIZE CCMPLETELY RE-ENTRANT rt1AY REOUEST DJlJA AREAS AN OVERLAY TABLE IS OVERLAY. FRtl1 KERNEL ~A.INTAINED ~J7 ~AA \ t--V' v '- LD';L ~N\ ('i/tiJ/J ~ ~ TO PROVlIE INFORJ1ATION AOOlJT EACH 11.1 - - - - - - - - - - - - - - - - - - - - - _ . - - - - - - - - _.•-._-_•. _ ... OVERLAY TABLE KERNEL RESIDENT ONE ENTRY FOR EACH OVERLAY FOUR PARCELS PER ENTRY FIELD PARCEL OT@WRO/OT@MUP OT@MLO OT@PAR OT@LOC 0 LENGTH IN WORDS (12 BITS);MOS UPPER (4 BITS) 1 MaS LOWER ADDRESS OF OVERLAY 2 # PARAMETERS (7 BITS); FIRST REGISTER (9 BITS) 3 LOCAL MEMORY ADDRESS (0 IF NOT RESIDENT) TABLE II-I. OVERLAY TABLE H6W ~~ lJ.!~ -l s 't \ 0\1v~ 'L+ '{ 7 I 11.2 , OVERLAY fVEr'ORY Ml\NAGEf'lENT THE KERNEL SETS UP AN AREA IN LOCAL r1EMORY FOR OVERLAY MB'10RY AT INITIALIZATION. THE SIZE (f THIS AREA IS AN INSTALLATION PARAf'ETER. THE AREA IS IMPL8v£NTED ~s llJO OOUPLY-LINKED LISTS: THE ADJACENT PlOCK LI ST IS ffiDERED BY PLOCK ADffiESS AND IS USED TO MER(f PIECES AT RELEASE Tl(,,£. THE ~r1)RY SEARCH LIST LINKS THE AVAILABLE BlOCKS FOLLOt·1ED BY TI-E OVERLAY RLOCKS ORIERED IN A LEAST RECENTLY USED FASHION. EACH PlOCK IN OVERLAY rfMORY HAS AN ~~ITH IT. ~ PARCEL HEAIER ASSOCIATED THE ENTIRE LIST HAS AN 8 PARCEL HEADER AND ATRAILER ASSOCIATED ~JITH IT. INITIALLY THE OVERLAY f1J'10RY CONSISTS a= A HEAUcR, TRAILER AND ONE BLOCK CONTAINING ALL THE AVAILABLE t~810RY . THE KERNEL MAINTAINS APOINTER TO THE INITIAL HEAlER IN REGISTER kI'1EMORY; A COUNT (f THE NUMBER (f OVERLAYS IN THE LIST IN REG ISTER ioOVCNT; AND ACOUNT CF THE TOTAL NLMPER a= OVERLAYLOADS IN REGISTERS %O'vlDSO AND %OYlDSl. FIELD MD@ID MD@SUC MD@PRE MD@TYP PARCEL f1D@FOR MD@BAK MD@OVT 4 o HEADER IDENTIFIER: 'MD' ADJACENT BLOCK LIST FORWARD POINTER ADJACENT BLOCK LIST BACKWARD POINTER BLOCK TYPE: MD$HEAD - HEADER OR TRAILER ENTRY = 0 MD$FREE - AVAILABLE = 1 MD$OLAY - CURRENTLY IN USE = 2 MD$BUF - FREE MEMORY BUFFER (DEFERRED) = 3 MEMORY SEARCH LIST FORWARD POINTER MEMORY SEARCH LIST BACKWARD POINTER OVERLAY TABLE ENTRY ADDRESS IF MD@TYPE=MD$OLAY UNUSED 1 2 3 5 6 7 TABLE 11-2. OVERLAY MEMORY BLOCK HEADER 1~fJ\· ~. S~::c O~V~ ~ \\ ('~ ~ -,\. g} I ( ~ 9. ~p (~ J-" '\(\ \ '-; (A. 'i . ->(tvO.,·· (\~ >('<" ~~ \ '# ,..{1 U',/ ~.JG r 11.4 ~ \4 . SEARCH LIST POINTERS ADJACENT BLOCK POINTERS HEADER ENTRY HEADER OVERLAY 2 ! i ENTRY HEADER FREE ENTRY HEADER OVERLAY 1 ENTRY HEADER -~~ FORWARD PO INTER FREE -----.. -- BACKWARD PO INTER TRAILER FIGURE II-I. EXAMPLE OF OVERLAY MEMORY LIST POINTERS 11.5 - - - - - - - - - - - - - - - - - - - - - -_.._--_._.._,._ ............ . OVERLAY FORMAT MAXH1UM OF 2048 PARCELS1J.;S>fil-LL ~ ?A-£ Ivc. ~ DVLj i/ ft1 FIRST FOUR PARCELS (8 CHARACTERS) CONTAIN OVERLAY NAME 0l TIONAL QUAlIFIER FOR Jti SYMOOLS IIFINED IN OVERLAY, IF BLANK, OVlNAME IS USED AS OU~_IFIER. OVlNAME NAME FP FIRST REGISTER TO PASS EXPECTED PARAMETtP\S NP NUMBER OF PARAMETERS IEFAULT IS 0 BASEREG RASE REGISTER TO USE FOR THIS OVERLAY DEE~ULTIS %B (SET UP BY KERNEL) ENTRY ENTRY TYPE IF TYPE = DATA IS SPECIFIED THEN OVERLAY IS NON-EXECUTAIli, !1,~'\Iv- A.pl\l),-r (f l1-f I S OVERLAY PO INT (f OVERLAY IIFAULT IS PARCEL 6 U~ 'U1- ~~4\LS V &\l~~.Ut \( ~'kj ~&-S)~r~ , 11.R \ ~WD 3,56-+-)~ OVERLAY CALLS CONTROL IS PASSED TO AN OVERLAY VIA THE CAll AND GOTO SERVICE REQlfSTS. CALL RESULTS IN A PUSH (f THE CALLER S ~OD ON I THE SOFn~ARE I I STACK. GOTO PASSES CONlROL DIRECllY TO N&I OVERLAY. CAlLERS SMJD IS NOT SA V£D • AN OVERLAY RETURNS CONTROL TO CJ.\lLER VIA TI1E RETURN SERVICE REQUEST. RETURN RESULTS I N A POP OF THE CALLER S S'lOD I (fF TrE S(f]~ME PARAMETERS f;1AY 1£ OVERLAY I I STACK. P~SSED TO A CALLED OVERLAY ~AY RETffiN PARAMETERS IN CALLER 'S RETREG MACRO. ~ 11.9 S,~D AREA VIA THE EXAMPLE: :'lVERLAY 2 OSDON * EQUALS CODyr;~ht DON alDON CRAY RESEARCH, INC., 1979, 1980, 1981. ~EGDEFS t1 020330 023331 024339 rO=pl-~2 ~2~310 OlZ351 024335 Tl:Pt+P2 ~ETRE:;" RETREqC; TO,· 1':3 Ir,pq RETURN END OVERL.AY EJlU AI.S PETE OSPETE ~EGDEFS 'Jl=30 '12=12 31:27 DON,(S1,S ,R - 1, O=R2),Al=Rl,A2=N2 CAl.L 37 O~0333 y21334 ~=Rl&R2 .~ q' KERNEL CONSQE CALLAB CERTAIN ACTIVITIES KERNEL ~AY E OVERLAYS BE CREATED BY KEYING IN OVERLAY NAt1E AT CONSOLE. clfJrtJ OV0~ KERNEL CREATES ACTIVITY AND PUTS IT ON loP CENTRAl ffiOCESSOR QUEUE. ACTIVITY THEN PROCEEDS AS ANY OTHER ACTIVITY. OPERATCR ~1AY USE THIS FACILI1Y TO: 1DDSTART CPU BRING UP THE STATION START ACONCENTRATOR ENTER THE INTERACTIVE CONCENTRATOR RUN TEST ROUTINES 11.11 CHAPTER 12 KERNEL RJNCTIONS ACTIVITY SCHEDULING LOCAL AND BUFFER MEMORY ALLOCATION INTRA- AND INTER-ACTIVITY C~MUNICATION PROCESSING INTER-PROCEssrn CavNUNICATION PROCESSING INTERRUPT PROCESSING CHARAClIRISTICS LOCAL M~10RY RESIIENT EXECUTES IN EACH lOP \~ITH MINOR f"'ODIFICATION EXECUTES IN NON-INTERRUPTIBlf mIt 12.1 -_._------------------- --.-.----~, ...-, PAS I C COMJONE~·ITS ACTIVITY DISPATCHER INTERRUPT HANDLER SERVICE REOlEST PROCESS M8'1ORY CONTRa.. COMMON SUBROUTINES KERNEL TAPLES 12.2 • PASS CONTROL WITH RETURN. _ _..... ~ PASS CONTROL WITHOUT RETURN . ••••••• ACCESS A TABLE . • • KERNEL TABLES MEMORY FIGURE 12-1. KERNEL/ACTIVITY INTERACTION DISP. ACTIVITY DISPATCHER MANAGES ACTIVITIES THROUGH USE OF ACTIVITY DESCRIPTORS AND STORAGE MODULES. TRANSFERS CONTROL FROM ONE ACTIVITY TO ANOTHER SWAPS SOFTWARE STACKS BETWEEN LOCAL AND BUFFER ME~lORY . MAINTAINS OVERLAY MEMORY CONTAINS KERNEL IDLE LOOP ENTERED FROM KERNEL SERVICE REQUEST PROCESS 12.5 ID10N ACTIVITIES PERFORJ1 HIGH PRIORIlY TASKS, a=TEN IN NON-INTERRUPTIPLE MOrE. EACH CONS I STS SOFTI~ME (f ONE OVERLAY I STACKS (St1)DS) ARE LOCIt MEmRY RESILtNT ACTIVITY DESCRIPTORS NEVER DEALLOCATED ASSE1'1BLED tAJITH KERNEL, SO MAY CALL KERNEL SUBROUTINES 12.6 ACOf1 DE~10N ACOM OVERLAY HANDLES lOP TO lOP COMMUNICATION VIA BUFFER MEMORY. READS IN DAL FROM BUFFER MEMORY AND PASSES CONTROL TO DISK DEMON, AMSG DEMON, OR CDEM DEMON. ACTIVATED BY lOP TO lOP INTERRUPT ANSWERING. AMSG DEMON AMSG OVERLAY PROCESSES DALS FOR ALERT, AWAKE AND RESPOND, ~6?f~ PROCESSES SOME ACCUMULATOR-ONLY MESSAGES. ACTIVATED BY ACOM. CDE~' DEf10N CDEM OVERLAY HANDLES CPU TO MIOP COMMUNICATON AND STATION CONCENTRATOR TRANSFERS IN BIOP. AND ACTIVATED BY CPU TO MIOP INTERRUPT ANSWERING OR ACOM. DISK DEMON DISK OVERLAY NUCLEUS OF THE DISK SUBSYSTEM. ACTIVATED BY ACOM OR DISK INTERRUPT ANSWERING. 12.7 START (ESWP) APPEND GLOBAL I I ENABLE LOAD OPERAND I I~~~}~- I ~ EIDLR ! LOAD I EXIT CLEAR I INTERRUPT! i f " ACTIVITY QUEUED ./ ~ I ,:!!...Q LOAD GLOBAL REGISTER ~~13~~I~J LOAD -, I ENABLE RUPTS -J--- J POP ACTIVITY I ENTERPI AJBJC !DI~AB!..E : 'lINTER: : I -=__ L~lA.CK. __ . .: :. -.~~ I I I 1 i GET OVERLAY SPACE I ~~ (EXIT I READ IN 'I OVERLAY FROM MOS --.- --- ... --I :1 NCREMENT I i OVERLAY I L1Q~~T_J INCREMENT : OV LOAD L COU._NT---I I ~ ACTIVITY DISPATCHER FLOW DIAGRAM. 12. ) C] EWAlT INTERRUPT ,ANSV{R.ING ENTERED vJHEN A OONE FLAG SETS ON A CHANNEL ENABLED. HARU~ARE READS 1M OUT CURRENT ACTIVIlY'S A, B, (f l~/H I CH HAS INTERRUPTS EXIT STACK 1=N'~1 ~\)s,U)~~ &~ c,~B~i~ ~~0. ~i)~ INTERRUPTING CHANNEL NUMPfR IS READ FR(J1 CHANNEL D. JUMP TO APPROPRIAlI HANDLER IS IUERMINED FRCM (fFSET INTO AN INTERRUPT JlJ1P TABLE CEIlB). RETURNS CONTROL TO INTERRUPTED ACTIVITY WHEN J)lL INTERRUPTS PROCESSED. STANDARD INTERRUPT HANIlERS ARE: IPFI - PROGRAM FETCH REQl£ST INTERRUPTS IPXS - PROGRAM EXIT STACK INTERRUPTS IlJ1ERR - LOCAl rf11()RY ERROR INTERRUPTS IRTC - REAL-TIff: QOCK INTERRUPTS IIAP - lOP TO lOP INPUT INTERRUPTS IOAP - I (P TO I (P OUTPUT INTERRUPTS OPTION~L I~ITERRUPT HA~ULES ARE: IREPffiT - ERRCR LOGGING CHANNEL fIA l trf' o-tJ L-~ IEXP - EXPANlER CHANNEL I\A ~ w wi' 0 IDID - DISK CHA~INELS \b (J71> I I CRI - CRAY-1 U}I SPEED I NPUT CHANNEL ~ \;l11' ICRY - CRAY-l La~ SPEED OUWUT CHANNEL ~\Pf IBMX - BLOCK MULTIPLEXER CHANNELS 'f,. lO'f --ITIA - CRT INPUT AND OUTPUT CHANNELS NO INTERRUPT HANIlER FOR CPU r'EMORY CHANNEL OR BUFFER rvEMORY CHANNEL. KERNEL ~JJAITS FeR CHANNEL TO FREE, ISSl£S 1/0 REQUEST, THEN PROCEEDS; OR \l/AITS FOR CHANNEL TO FINISH. 12.10 DISABLE INTERRUPTS JUMP TO INT HANDLER I AND PROCESS IP SAVE IrJTERRUPTED ADDRESS --, .~""'---'-- ...a....-_.... .;,;..---..;;;;;;.----+..;...,--;,....-. - SET INTERRUPT FLAG ENABLE INTERRUPTS REJ~D HIP. INTERRUPTING CHANNEL # FIGURE 12-3. INTERRUPT ANSWERING FLOWCHART 12.11 KERNEL ERROR HALT PROCESS ENTERED WHEN SOFTWARE DETECTS AN ERROR C$PUNTIF MACRO IS EXECUTED) DISABLES INTERRUPTS SAVES A, B, C, E REGISTERS, EXIT STACK, AND ALL CHANNEL BZ AND DN FLAGS. SENDS ERROR HALT MESSAGE TO KERNEL CONSOLE HALTS OTHER lOP'S PASSES CONTROL TO SYSDUMP. 12.13 SERVICE REQUEST PROCESS PERFORMS ESSENTIftL SERVICES FOR A.CTIVITIES, IN NON-INTERRUPTIBLE MOlI. ACTIVITY CALLS AMACRO ~MICH PASSES PARM1:TERS TO ANOTHER MA£RO, WHICH SETS UP PARAMETERS AND DOES A RETURN JUMP TO SERVICE REQUEST PROCESS. SERVI CE REQlfST PROCESS IS AS FOLL(}/S: 1) LOCK OUT INTERRUPTS 2) SAVE ,~, B, E ANn P IN ~10D 3) SAVE SPECIFIED OPERAND REGISTERS IN St-nD SAVE EXIT STACK IN ~D IF ANY REGISTERS SAVED. 4) GET FUNCTION COIE FRa1 FUNREG 5) JUMP TO ADCRESS AT FCTABLE + FUNCTION COIf C£PENDING ON FUNCTION, CONTROL IS PASSED TO REQUESltR, KERNEL, OR NB~ OVERLAY ON C(Jv1PLETION. ~\:<7 k~ F; ~ ~ ~\o) CA4 ~ l2.14 CALL PROCEDURE: LOCATION RESULT OPERAND L SERVICE PARNt1S, B=FUNREG, Al=sTART, A2=t.Asr SERVICE OPTIONAL STAID£NT lJ\BEL DESIRED SERVICE FUNCTION NAME PAR.AMS ~CESSARY L PAIW'ETERS, OVERLAY NWE, ETC. THESE ARE Pur IN REGISTERS FQLOtHNG REGISTER FOR PASSING FUNCTION COLE FIRST REGISTER TO SAVE LAST REGISTER TO SAVE FUNREG START LAST FUNREG. EXftMPLE: CAT IOENT . REGDEFS SERVICE ,(CC,BB,Rl,R2,R3,RQ,RS,R&) DEL.At t· ,::B:8;B,;Al=:R3·,··A;2=·~5 1: 12Q:,CC PAUSEi (j eI\1E·j\4: END 12.15 SERVICE REQlfSTS EXIST FOR: CREATING, RESCHEDULING AND TERMINATING ACTIVITIES PASSING CONTRQ ]fl,ffN OVERLAYS LOCATING AN OVERLAY IN BUFFER rf}10RY CONTRQLING PUSH AND TIr'ER QUEUES SENDING AND RECEIVING rvESSAGES ON CRT CHANNELS SENDING RESPONSES TO OTHER lOPS REQUESTING ANOTHER lOP TO CREATE OR ACTIVATE AN ACTIVITY INITIATING FRONT-END AND PLOCK MUX SENDING ~£SSAGES 1/0 TO CPU AND RECEIVING A RESPONSE ALLOCATING AND RELEASING LOCAL AND BUFFER MEMORY MOVING DATA l~lOVING Et:.11~EEN BUFFER ~'£MORY AND CENTRAl r£MORY DATA BffiffN LOCftl MErTIRY AND BUFFER MEMORY. FLlJSH I NG THE OVERLAY M:MORY BLfFERS. 12.17 SELECTED SERVICE FUNCTIONS CREATE - SETS UP INIIPENJENT ACTIVITY AND PLACES IT ON CP QtEUE AT PRIORITY. - INITIALIZES ACTIVITY DESCRIPTOR AND SOFlVJARE STACK - ~RITES S~JARE STACK TO BUFFER MOORY - RETURNS CONTROL TO REQUESTER TE~NATE) - TERMINATES THIS ACTIVITY - RELEASES BUFFER MEMORY SOFTWARE STACK - RELEASES ACTIVITY DESCRIPTOR AREA - RETURNS CONTROL TO KERNEL AREA CALL - PASSES CONTROL TO ANOTHER OVERLAY - RESULTS IN A 'PUSH' ONTO THE SCFfHARE STACK - NEW OVERLAY GETS CONTROL DIRECTLY GOTO - PASSES CONTROl TO ANOTHER OVERLAY - CIllLER' S SMJD I S NOT SA'lED - NE1,~ OVERLAY (ITS CONTROL DIRECTLY RETURN - RETURNS CONTROL TO OVERLAY CI\LLER - RESULTS INA 'POP' (fF THE SCfThJARE STACK - ACTIVITY IS THEN PLACED ON CP QLEUE. - RETURNS CONTROL TO KERNEL 12.18 AlERT - CREATES AN .ACTIVITY IN A DIFFERENT 1eP. - RETURNS CONTRC1. TO THE KERNEL. A~/AKE - ACTIVATES AN ACTIVI1Y IN A DIFFERENT HI'. - ACTIVITY MUST HA'£ BEEN PREVIOUSLY ALERlID. - RETURNS CONTROL TO REQl£STER OR KERNEL IEPENDI NG ON \tJHETHER OR NOT A RESPONSE IS DESIRED FRCl1 THE A~JAKENED ACTIVITY. I RESPOND - SENDS A RESPONSE TO THE ACTIVITY ~JH1CH DID AN .AWAKE. - RETURNS CONTROL TO REQUESTER. ASL@--NtV {, II 12.19 .---------------------------. ALERT MECHANISM FLOW: 1. ACTIVITY A DOES AN ALERT SERVICE REQUEST SPECIFYING THE FIRST OVERLAY OF THE ACTIVITY AND THE lOP TO CREATE IT IN. 2. KERNELA BUILDS A DAl FROM THIS INFORMATION AND SENDS IT TO KERNELB THROUGH BUFFER MEMORY. 3. KERNElA IDLES ACTIVITY A. 4. AMSG B BUILDS A POPCEll, CREATES THE NEW ACTIVITY B, PUTS POPCEll ADDRESS IN ADB AND PLACES ADB ON CP QUEUE. S. AMSG B THEN PLACES ADDRESS OF POPCEll IN DAl AND KERNElB RETURNS THE DAl TO KERNElA THROUGH BUFFER MEMORY. 6. AMSG A THEN PLACES POPCELl ADDRESS IN ACTIVITY A DESCRIPTOR (PARCEL 6). 7. AMSG A THEN PLACES ACTIVITY A ON CP QUEUE. 8. WHEN ACTIVITY B IS POPPED OFF THE CP QUEUE, IT CHECKS THE POPCEll DAl QUEUE. IF THIS IS EMPTY, IT PUSHES ITSELF ONTO THE POPCELL QUEUE (PARCELS 2 & 3). 12.20 IOPb lOPa ACTIVITY a .~CT IV ITY b 1 3 6 8 POPCEll 7 4 A~1SG A KERNEL a KERNElb BUFFER ~1EMORY FIGURE 12-4. ALERT MECHANISM FLOW 12.21 A~JAKE MEC HA~·J IS~1 FLO\~: I. ACTIVITY A BUILDS A DAL FOR ACTIVITY B AND DOES .AN AWAKE SPECIFYING WHICH lOP, POPCELL, AND DAL, AND WHETHER A RESPONSE IS DESIRED. 2. KERNELA THEN PASSES DAL TO KERNELB THROUGH BUFFER MEMORY. 3. KERNELA THEN IDLES ACTIVITY A OR RETURNS CONTROL TO IT DEPENDING ON WAITINO WAIT PARAMETER. 4. At1SG B THEN PLACES DAL ON POPCEll DAl QUEUE AND ACTIVATES ACTIVITYB IF NOT ACTIVE. S. ACTIVITYB THEN PROCESSES THE NEXT DAL ON THE QUEUE. 6. ACTIVITY B DOES A RESPOND AND KERNELB PLACES RETURNED PARAMETER IN DAl. 7. KERNELB SENDS DAL TO KERNELA THROUGH BUFFER MEMORY. 8. IF ~JAIT ~'JAS SPECIFIED, A~'SGA RETURNS PARAMETER TO ACTIVITY A AND PLACES IT ON CPU QUEUE. 8A. IF MORE DAlS ON POPCEll QUEUE, GO TO 5. 9. ACTIVITY B PUSHES ITSELF ON THE POPCEll QUEUE, AWAITING ANOTHER AvJAKE. 12.22 IOPb lOPa ACTIVITY a ACTIVITY b - ---- 1 3 - ...... ...... ...... 8 6 4 A~1SG KERNELb BUFFER ~1E~"ORY FIGURE 12-5. - AWAKE MECHANISM FLOW 1223 PERFORM COMMON TASKS REQUIRED BY DIFFERENT PARTS OF THE SYSTEM CALLED BY KERNEL ROUTINES, DEMON ACTIVITIES, AND OTHER OVERLAYS ASSEMBLED WITH THE KERNEL. C/tx~ L0~7 ~ 1:f'J~T5 !9
{{)J LOCAl S(fTh/ARE STACK DAL CHAIN IOPO, IOPl, IOP2, IOP3 MSG QUEUES DISK CONTROL BLOCKS (OCB) CRT TABLE &BUFFER LOCAL TRACE BUFFER FREE MEMORY ;D~ ~----------------------------- LOCAL DISK BUFFERS 177777 FIGURE 17-2. BlOP, DIOP, OR XIOP LOCAL 17.11 ~ORY o I1:RNEL ~¥- 1-----------------1 SYSTEM DIRECTORY IOPO MSG AREA IOP2 MSG AREA IOP3 MSG AREA OVERLAYS IOPO SOFTWARE STACK AREA ~----------------------------- IOPO KERNEL AREA IOP2 S0Fn4ARE STACK AREA ~----------------------------- IOP2 KERNEL AREA IOP3 SOFlY/ARE STACK AREA ~----------------------------- IOP3 KERNEL AREA IOPI SOFTWARE STACK AREA ~----------------------------- .IOPI KERNEL AREA L-20000 t{)S TRACE BUFFERS FI GlPE 17-3. BUFFER t1EMORY 17.12 DEADSTART DISK FILES THREE DISK DIRECTORIES ARE SET ASIDE BY COS AT INSTALL TIME FOR DEADSTART FILES. THE DIRECTORIES ARE: COS TO STORE COS BINARY FILES. THE FILES ARE CREATED, NAMED AND SAVED USING THE SY OPT ION ON THE START COMt'W~D OR THE COpy UTILITY. PAR USED TO STORE PARftfETER 1EXT FILES. THESE ARE CREATED USING THE SY OPTION ON THE START Ca1MAND; THE COpy UTILITY; AND THE PARMTER FILE EDITOR. lOS USED TO STORE lOS BI NARY FI LES . THESE ME L~ED CREATED USING THE COPY UTILITY. THE ~W'1ES (f FILES RESIDING IN ASCII CHARACTERS. DIRECTORIES MUST FE 15 OR LESS ~ESE THEY CANNOT PfGIN WITH MT OR n. 17.13 lOS DISK DEADSTART UNDER CERTAIN CONDITIONS, THE IDS MAY BE RESTARTED FROM A FILE IN THE lOS DIRECTORY ON DISK. PREREQUISITE: A FILE, lOS, HAS PREVIOUSLY BEEN SAVED WITH THE COpy FILE UTILITY. PROCEDURE: 1. TYPE CNTRL-D AT THE MIOP KERNEL CONSOLE. IF uSYSDUMP?U APPEARS, GO TO 5. 2. IF NO RESPONSE, MAKE SURE THERE IS NO TAPE LOADED ON THE TAPE DRIVE AND PUSH MASTER CLEAR AND DEADSTART AT'THE POWER UNIT. 3. IF 2 RESULTS IN ENTERING THE DEBUGGER. TYPE CNTRL-D TO EXIT. 4. TYPE CNTRL-D AGAIN. IF uSYSDUMP?U DOES NOT APPEAR, A TAPE DEADSTART MUST BE PERFORMED. 5. TYPE uyu OR uN u IN RESPONSE TO uSYSDUMP?u 6. WHEN DUMP COMPLETE (OR IMMEDIATELY), uRESTART?U WILL BE POSTED. TYPE uyu. 7. ENTER IDS IN RESPONSE TO uENTER RESTART FILE NAME: u MESSAGE. 8. IF AN ERROR OCCURS, IT MAY BE NECESSARY TO DEADSTART FROM TAPE. 17.14 ~t£ANING MESSAGE DISK ERROR AN UNRECOVERABLE DISK ERROR OCCURED. LABEL NOT FOUND MASTER DEVICE LABEL COULD NOT BE FOUND. DIRECTORY NOT FOUND THE lOS DIRECTORY COULD NOT BE FOUND. FILE NOT FOUND THE NAMED FI LE COULD NOT Pf FOUND IN lOS DIRECTORY. MOS ERROR AN UNRECOVERAPlE ERROR OCCURRED WHILE· READ ING BUFFER r1EMORY. RETRY? DISPLAYED AFTER ERROR .t1:SSAGES. ENTER "Y" IF ANOTHER TRY AT RESTART IS DESIRED. A NEV·' PRIl1PT FOR FILE NAtA£ WILL ALSO BE DISPLAYED. TABLE 17-3. lOS DISK RESTART ERROR MESSAGES 17.15 CPU DEADSTART CPU DEADSTART REQUIRES A COS BINARY FILE AND A PARAMETER FILE. EITHER (f THESE CAN RESIlE ON TAPE OR DISK. TJ£ PARAfv1ETER FILE MAY ALSO FE INPUT FRO'l THE CONSQE; OR AN EXISTING ONE MAY FE EDITED THROUGH THE CONSOLE. THE FORr'1AT (F 111E STAAT C(HVlftND, INPUT AT THE MIOP !(£RNEL CONSOLE, IS: START WHERE COSFILE COSFILE [ED] IS: GSV/SYSDS~ MfO:N IS TAPE FILE NLMBER. N SYSDSN SYSDSN PARFILE PARFILE IS: MfO: N IS IESIRED NM a= SAVED FILE. NAME OF FILE IN COS DIRECTORY ON DISK. GSV/PARDSN] IS TAPE FILE N111BER. PARDSN IS IESIRED NAME (f SAVED FILE N PARDSN - NAtE (f FILE IN PAR DIRECTORY ON DISK. TIl - PARAMETER FILE IS INPUT FRO~ CONSQE ED INDICATES PARAMETER FILE IS TO BE EDITED FIRST. 17.16 START EXAt·1PLES START MTO:O MTO:3 - COS BINARY ON TAPE FILE 0; PARAMETER FILE ON TAPE FILE 3. START MTO:O, SV/COSI ~lTO:2, SV/PARI - STARTUP FROM TAPE FILES 0 AND 2; SAVE COS BINARY FILE IN COS DIRECTORY AS COSl; SAVE PARAMETER FILE IN PAR DIRECTORY AS PARI. START COSI PARI, ED - STARTUP FROM DISK FILE COSI WITH PARAMETER FILE PARI BEING EDITED FIRST. STAR T ~1T 0: 2 TT I - STARTUP FROM TAPE FILE 2 WITH PARAMETER FILE ENTERED AT CONSOLE. 17.17 FILE UTILITIES THERE ARE SEVEN UTILITIES AVAILABlE FOR MANIPULATING FILES IN THE COS, PAR AND IDS DIRECTORIES. 1. EDIT FN INVOKES THE PARAMETER FILE EDITOR. FN MAY If THE NAJ'£ (f A FI LE ALREADY I N THE PAR DIRECTORY; OR TTl, IF ANEYJ FILE IS TO PE CREATED. 2. COpy COpy FILE FNI TO FILE FN2' THE COpy IS EITHER FROM TAPE TO DISK ffi DISK TO TAPE. IF COpy IS FRQ'v1 TAPE TO DISK, FN2 CANNOT ALREADY FE IN IJSE IN THE SPECIFIED DIRECTORY. DISK FI LES ARE IENOTED AS COS, PAR OR IDS. DI R/ FN, vJHERE DI R IS WHEN COPYING TO THE IDS DIRECTORY, THE OVERLAY FILE MUST IMDIATELY FOLLOA THE KERNEL FILE. WHEN COPYING THE OTHER WAY, ALL(»I ~IO CONSECUTIVE TAPE FILES. 3. FSTAT DIR J ~FNl/' • DISPLAYFI LE STATUS (CREATED, WORD lENGTH) OF ONE OR MffiE FILES \~ITHIN THE SPECIFIED DIRECTORY. IF NO FILE NAMES SPECIFIED, THEN Sl~TUS IN THE DIRECTORY WILL BE DISPLAYED. 1711~ (f ALL FILES 4. DELETE DIRVFN1'''] DELETE THE SPECIFIED FILES DIRECTORY. 5. CLEAR FRO~1 THE SPECIFIED DI R DELETE ALL FILES FROM THE NAMED DIRECTORY. 6. DUMP MTD: Y DI R [! FNl' • .1 EXECUTE A FORMATTED DUMP OF THE SPECIFIED FILES TO TAPE FILE Y. IF NO FILE NAMES SPECIFIED, ALL FILES IN THE DIRECTORY WILL BE DUMPED. 7. LOAD MTO:y [ FN l, FN 2'" 1 LOAD PREVI OUSL Y 'DUMPED' ORIGINAL DIRECTORY. T~,PE FILE INTO THE IF NO FILE NAMES SPECIFIED, ALL FILES ON THE TAPE ~I ILL BE LOADED. IF AFILE ALREADY EXISTS IN THE DIRECTORY, THE FILE ON TAPE WILL NOT BE LOADED. DUMP AND LOAD ARE USEFUL WHEN A DIRECTORY GETS FRAGMENTED. 17.19 PARAMETER FILE EDITOR PROVIDES FOR CREATION AND MODIFICATION OF PARAMETER TEXT FILES REQUIRED FOR CPU DF~DSTART. THE EDITffi IS RUN FRO'1 THE MIOP KERNEL CONSOLE. EACH (f THE FOLLCMING WILL ItNOKE THE EDITOR: 1. ED OPT ION ON THE START COVMAND. 2. SPECIFYING TTl FOR PARFILE ON THE START Cat1AND. 3. EDIT FN. THE EDITOR (FERATES IN ThIO ~t)I£S: 1. CDYMAND INPUT MOIE. THIS r"OIE IS RECOGNIZED BY A ')' IN COLU~ 1. 2. TEXT INPUT rl()JI.:. INDI CATED BY A LI NE NLMPER INCOLUMN 1 INPUT IS ACCEPTED ON A LINE-BY-LINE BASIS. TERMINATE LINES BY CARRIAGE RETURNS OR LINE FEEDS. THE ESC KEY RETURNS CONTROL TO CorMAND I NPUT 17.20 ~1()r£. ED ITOR CCJ1MANDS THERE ARE SEVEN Ca'MANDS AVAILABLE FOR EDITING PARAMETER TEXT FILES. I. INSERT LN INSERT lIXT FOLLOtJING THE SPECIFIED LINE NUMPER. 2. APPEND APPEND TEXT TO THE FILE. IF FILE IS EMPTY, TEXT vJILL P£ ACCEPTED STARTING AT LI~£ I. LNl [u~2l 3. lILE1E DELETE LINES LNI TO LN2 INCLUSIVE. 4. REPLACE LNl [LN2l REPLACE LINES LNI TO LN2' INCLUSIVE, Pf INPUT. 5. TYPE ~nTH lIXT TO LNl [LN2J TYPE LINES LNI TO LN2,INCLUSlVE, TO THE CONSOLE. 17.21 -------------------------------_ .. _---""" LNI [LN:21 6, PRINT PRINT LINES LNI TO LN2' INCLUSIVE, ON THE PRINTER. 7. BYE TERM INATE THE EDITOR. THE FOLL()tING rESSAEt IS DISPLAYED: "SAVE?" NO - EDITED VERSION IS DISCARDED. IF EDITOR WAS CALLED FRCM START, EDITED VERSION WILL BE SENT TO CPU BUT NOT MAlE PERMANENT. YES - "ENTER FI LE NAME:" rf:SSAGE IS DISPLAYED. EDITED VERSION (f THE FILE \~ILL BE SAVED IN THE PAR DIRECTORY UNDER THE SPECIFIED NAME. 17.22 MEANING ~1ESSAGE COMMAND SYNTAX ERROR EXPANDER DEVICE ERROR MOS NOT AVAILABLE LOCAL MEMORY NOT AVAILABLE DISK ERROR FILE NOT FOUND:NAME LABEL NOT FOUND FILE DIRECTORY FULL FILE BUFFERS DEPLETED FILE DELETED:NAME FILE CREATED:NAME FILE ALREADY EXITS: NAME FILE BEING UPDATED: NAME FILE DUMPED: NAME FILE LOADED: NAME THE COMMAND ENTERED WAS NOT IN LEGAL FORMAT. AN ERROR WAS ENCOUNTERED ON THE EXPANDER DEVICE BEING USED. BUFFER MEMORY SPACE NOT AVAILABLE. LOCAL MEMORY NOT AVAILABLE. AN UNRECOVERABLE DISK ERROR OCCURRED. THE SPECIFIED FILE COULD NOT BE FOUND IN THE CURRENT DIRECTORY. THE LABEL ON THE MASTER DEVICE COULD NOT BE FOUND. NO MORE ROOM IN THE CURRENT DIRECTORY FOR NE~~ FI LES . NOT ENOUGH DISK SPACE REMAINS IN THE CURRENT DIRECTORY TO LOAD THE FILE. FILE NAMED WAS DELETED FROM THE CURRENT DIRECTORY. FILE NAME WAS tREATED IN THE CURRENT DIRECTORY. THE NAMED FILE ALREADY EXISTS. IT MUST BE DELETED BEFORE IT CAN BE RE-CREATED. NAMED FILE IS BEING WRITTEN OVER. NAMED FILE HAS BEEN DUMPED TO THE TAPE FILE. NAMED FILE HAS BEEN LOADED FROM THE DUMP TAPE AND CREATED IN THE CURRENT DIRECTORY. TABLE 17-4. START COMMAND AND FILE UTILITY MESSAGES 17.23 ,------------------------- -----,',"-,' CHAPTER 18 UTILITIES HISTORY TRACE PROVIlES AMEANS Fffi TRACING, TO .A CERTA.IN rtGREE, THE PATH OF SXECUTION THROUGH THE CODE. STORES PERTINENT mTA RELATING TO SELECTED EVENTS IN ALOCAl r1810RY BUFFER. LOCAL TRACE BUFFER IS DUMPED TO A C1 RCULAR BUFFER IN BUFFER MEMORY. MAY Pf USED IN IIBUGG ING f'ND FI NE TIJN ING THE SYST81. lR.l TRACE FORMAT EACH TRACE ENTRY IS EIGHT PARCELS LONG . ./:EvfNT TIr£ OVERLA.Y PAR! PAR2 PAR3 PARI: PAR5 EVENT - OCTIt COlI {f TRACE EVENT TIME - La~ j ~', ORDER 16 BITS OF RTC AT TIME OF RECORDING OVERlJ\Y - NLMEfR {f CONTROUJNG OVERlJ\Y AT TIM: PARI - PARJlt1ETER TO Pf RECORIED (f II ;c;etJ~ RECORDING OCSCRIPTION TF$INT(1) EXIT FRO'1 CQ\1roN INTERRUPT HANDLER CIPOI) TF$CALL(2) ENTRANCE TO KERNEL FUNCTION PROCESSOR lF$TSK(3) EXIT FROM ACTIVITY DISPATCHING CELDPA) TF$CHN(4) INDIVIDUAL INTERRUPT HANIIIRS TF$FCTCS) INDIVIDUAl KERNEL FUNCTION PROCESSOR TF$SEK(6) DISK SEEK ROUTINE CDIOH) TF$DSK(7) DISK READA\JRlTE PROCESSOR CDIOSTRT) TF$DSKER(10) DISK ERROR HANIl.ER CIIERROR) TF$HSP(11) M81DRY CHANNEL 1/0 (CDEM) TF$OLAY(12) OVERLAY LOADING (OVlBA) TF$ACQM(13) RECEIVE MESSAGES FROM OTHER I/O PROCESSORS CAC(J.1) TF$ATA(14) SEND MESSAGES TO OTHER 1/0 PROCESSORS (EMSGIOP) 18.2 = ) 7777 7 E\t£NT COLE FIGl.RE 18-1. EVENT COIE [fSCRIPTIONS. k~ (E~ITR) TRACE ON-LINE CO'1MANDS ENAaE/DISAElE SELECTED EVENTS PROVlIE AFORMATIED LISTING 1) TRACE [~~ a= TRACE BUFFERS EVE~r{SUBCOD~ TURNS ON ffi CFF ASELECTED EVENT AND ONE OR AlL OR ITS ASSOCIATED SUBCODES. f 2) TRACE ON ( ALL d A = A < d 010 011 012 013 = I = I 0 1 =A A A = A =d Right shift C and A by d places, end off Left shift C and A by d places, end off Right shift C and A by d places, circular Left shift C and A by d places, circular »d A« d &d A + d A - d Transmit d to A Logical product of A and d to A Add d to A Subtract d from ~ 014 015 016 017 A =k A =A & k A =A + k A = A k Transmit k to A Logical product of A and k to A Add k to A Subtract k from A 020 021 022 023 A & dd A = A + dd A = A - dd 024 025 dd dd =A 026 dd = dd + 027 dd = dd 030 A = (dd) 031 A = A & (dd) 032 A =A + (dd) 033 A =A - =A A = A = A = dd Transmit operand register d to A Logical product of A and operand register d to A Add operand register d to A Subtract operand register d from A =A A =A + dd 1 - 1 (dd) Transmit A to register Add operand register d -register d Transmit register d to operand register d Transmit register d to operand register d d to A, result to operand A, add 1, result to A, subtract 1, result to Transmit contents of memory addressed by register d to A Logical product of A and contents of memory addressed by register d, result to A Add contents of memory addressed by register d to A, result to A Subtract contents of memory addressed by register d from A, result to A I .1 IOP APML 034 035 (dd) (dd) =A 036 (dd) = (dd) + 1 037 (dd) = (dd) - 1 040 041 042 043 C = 1, iod C = 1, iod C = 1, lOB 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 Description =A + (dd) C = 1, A =A =A > B < B A =B =A =A =A &B + B - B B =A A IOB = ON = BZ = ON = BZ A = A»B A=A«B A A A B B B A .A A A =A + B =B + 1 = B-1 = (B) =A & =A + =A - (B) (B) (B) =A 064 065 (B) =A 066 (B) = (B) + 1 067 (B) = (B) - 1 070 071 072 073 P P P =P 074 075 076 077 P P R R = dd (B) P =P = = + P + P - = dd = dd = dd + (B) d d d d + k + k Transmit A to memory addressed by register d Add memory addressed by register d to A, result to same memory location Transmit memory addressed by register d to A, add 1, result to same memory location Transmit memory addressed by register d to A, subtract 1, result to same memory location Set Set Set Set carry carry carry carry equal equal equal equal to to to to channel channel channel channel d d B B done busy done busy Right shift C and A by B places, end off Left shift C and A by B places, end off Right shift C and A by B places, circular Left shift C and A by B places, circular Transmit B to A Logical product of A and B to A Add B to A, result to A Subtract B from A,_ result to A Transmit Add B to Transmit Transmit A to B A, result to B B to A, add 1, result to B B to A, subtract 1, result to B Transmit operand register B to A Logical product of A and operand register B to A Add operand register B to A, result to A Subtract operand register B from A, result to A Transmit A to operand register B Add operand register B to A, result to operand register B Transmit operand register B to A, add 1, result to operand register B Transmit operand register B to A, subtract 1, result to operand register B Jump to P + Jump to P Return jump Return jump d d to P + d to P - d Jump to address in operand register d Jump to sum of k and operand register d Return jump to address in operand register d Return jump to sum of k and operand register d I 12 IOP APML 100 101 102 103 P P P P =P =P =P =P 0 + d, C # 0 + d, A = 0 + d, A # 0 Jump Jump Jump Jump to to to to =0 - d, C # 0 - d, A = 0 - d, A i 0 Jump Jump Jump Jump to to to to Description 104 P 105 106 107 P P P =P =P =P =P 110 III 112 113 R =P 114 115 116 117 - d, C + + R + R = P + R R = + d, C if if if if carry carry d d P d P - d if if if if carry carry A = 0 P P = 0 ~ 0 A = 0 A ~ 0 A ~ =0 ~ 0 0 jump jump jump jump to P + d if carry to P + d if carry to P + d if A = 0 to P + d if A ~ 0 =0 =0 Return Return Return Return jump jump jump jump to P - d if carry to P - d if carry to P d if A = 0 to P - d if A ~ 0 =0 =P - d, C * 120 P = dd, C 121 P = dd, C it 0 122 123 P = dd, P = 124 P = dd + k, C 125 P = dd + k, C # 0 - d, C # 0 R = P d, A = 0 R = P - d, A # 0 =0 + k, A ~ P = dd 130 R = dd, C = 0 131 R = dd, C # 0 132 R = dd, A 133 R = ~ 0 0 0 Jump to address in operand register d if A Jump to address in operand register d if A =0 = cr Jump to carry = Jump to carry ~ =0 ~ 0 address in operand register d + k if 0 address in operand register d + k if 0 Jump to address in operand register d + k if A 127 ~ Jump to address in operand register d if carry =0 Jump to address in operand register d if carry A =0 dd, A # 0 = dd d d d d Return Return Return Return d, d, d, d, =P P + + + + C =0 C # 0 A = 0 A 0 =P =P R 126 P P P P =0 + k, A # a -Jump to address in operand register d + k if A 1- 0 o dd, A # 0 Return jump to if carry = 0 Return jump to if carry ~ 0 Return jump to if A = 0 Return jump to if A 1- 0 I .3 address in operand register d address in operand register d address in operand register d address in operand register d lOP APML Descri}2tion 134 R = dd + k, C = 0 135 R = dd + k, C # 0 136 R = dd + k, A = 0 137 R = Return jump to if carry = 0 Return jump to if carry 'I 0 Return jump to if A = 0 Return jump to if A 'I 0 140 141 142 143 iod iod iod iod 144 145 146 147 dd + k, A i 0 address in operand register d + k address in operand register d + k address in operand register d + k address in operand register d + k 1 2 3 Channel Channel Channel Channel d d d d function function function function 0 1 2 3 iod iod iod iod 4 5 6 7 Channel Channel Channel Channel d d d d function function function function 4 5 6 7 150 151 152 153 iod iod iod iod 10 11 12 13 Channel Channel Channel Channel d d d d function function functionfunction 10 11 12 13 154 155 156 157 iod iod iod iod 14 15 16 17 Channel Channel Channel Channel d d d d function function function function 14 15 16 17 160 161 162 163 lOB 108 lOB lOB 0 1 2 3 Channel Channel Channel - Channel B function 0 164 165 166 167 lOB lOB lOB lOB 4 5 6 7 170 171 172 173 lOB lOB 108 lOB 10 11 12 13 Channel B function 10 Channel 8 function 11 Channel B function 12 Channel B function 13 174 175 176 177 lOB lOB lOB lOB 14 15 16 17 Channel Channel Channel Channel 0 po Channel Channel Channel Channel 8 function 1 8 function 2 B function 3 B B 8 B function function function function function function function function B B B 8 I I L'r 4 5 6 7 14 15 16 17 APPENDIX II SYSID1 CHANNa A,SSIGNrENTS SYSTEM CHANNEL ASSIGNMENTS Typical Model 4400 system channel assignments PROCESSOR Master I/O Processor CHANNEL MNEMONIC o lOR 1 2 3 4 5 PFR PXS LME RTC AOC Interrupt request Program fetch request Program exit stack I/O Memory error Real-time clock Buffer Memory Interface (DMA 3) Input from Buffer I/O Processor Output to Buffer I/O Processor Input from Disk I/O Processor Output to Disk I/O Processor Input from Auxiliary I/O Processor Output to Auxiliary I/O Processor ERA EXB CIA COA Error log Peripheral Expander CDMA 0) Input from CRAY-I channel (DMA 1) Output to CRAY-l channel (DMA 1) CIB COB Input from F.-E. Interface (DMA 2) Output to F.-E. Interface (DMA 2) CIC COC Input from F.-E. Interface (DMA 4) Output to F.-E. Interface (DMA 4) crD COD Input from F.-E •. Interface (DMA 5) Output to F.-E. Interface (DMA 5) TIA TOA TIB TOB Console Console Console Console MOS AIA AOA ArB AOB Arc 6 7 10 11 12 13 FUNCTION 14 15 16 17 20 21 22 23 24 25 26 .. 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 I I 11 0 0 1 1 keyboard display keyboard display Typical Model 4400 system channel assignments (continued) PROCESSOR CHANNEL Buffer I/O Processor 1 0 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 MNEMONIC lOR PFR PXS LME RTC MOS FUNCTION HIA HOA Interrupt request Program fetch request Program exit stack I/O Memory error Real-time clock Buffer Memory Interface (DMA 3) Input from Master I/O Processor Output from Master I/O Processor Input from Disk I/O Processor Output to Disk I/O Processor Input from Auxiliary I/O Processor Output to Auxiliary I/O Processor Input from Memory Channel (OMA 4) Output to Memory Channel (OMA 4) DKA DKB DKC DKD DKE DKF DKG OKH Disk Disk Disk Disk Disk Disk Disk Disk AIA AOA AlB AOB AlC AOC Storage Unit 0 Storage Unit 1 Storag~ Unit 2 Storage Unit 3 Storage Unit 4 Storage Unit 5 Storage Unit 6 Storage Unit 7 I I .2 (OMA (OMA (DMA (OMA (DMA (DMA (DMA (OMA 0) 0) 1) 1) 2) 2) 5) 5) Typical Model 4400 system channel assignments (continued) PROCESSOR CHANNEL MNEMONIC Disk I/O Processor 0 1 lOR PFR PXR 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 FUNC'l'ION AlA AOA AlB AOB AlC AOC Interrupt request Program fetch request Program exit stack I/O Memory error Real-time clock Buffer Memory Interface (OMA 3) Input from Master I/O Processor Output to Master I/O Processor Input from Buffer I/O Processor Output to Buffer I/O Processor Input from Auxiliary I/O Processor Output to Auxiliary I/O Processor OKA OKB OKC OKD OKE OKF DKG DKH OKI DKJ DKK DKL DKM OIm DKO OKP Disk Disk Disk Disk Disk Disk Disk Disk Disk Disk Disk Disk Oisk Disk Disk Disk LME RTC MOS Storage Storage Storage. Storage Storage Storage Storage Storage Storage Storage Storage Storage Storage Storage Storage Storage I I 13 Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (OMA (OMA (OMA (OMA (OMA (OMA (DMA (OMA (DMA (DMA (OMA (DMA (OMA (DMA (OMA (DMA 1) 1) 1) 1) 2) 2) 2) 2) 4) 4) 4) 4) 5) 5) 5) 5) Typical Model 4400 system channel assignments (continued) PROCESSOR CHANNEL MNEMONIC Auxiliary I/O Processor 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 lOR PFR PXS FUNCTION AOA AlB AOB AIC AOe Interrupt request Program fetch request Program exit stack I/O Memory error Real time clock Buffer Memory Interface (DMA 3) Input from Master I/O Processor Output to Master I/O Processor Input from Buffer I/O Processor Output to Buffer I/O Processor Input from Disk I/O Processor Output to Disk I/O Processor BMA BMB BMC BMD BME BMF BMG BMH BMl BMJ BMK BML BMM BMN BMO BMP Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block LME RTC MOS AlA I I .4 Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Multiplexer Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel Channel 0 (DMA 0) 1 (DMA 0) 2 (DMA 0) 3 (DMA 0) 4 (DMA 1) 5 (DMA 1) 6 (DMA 1) 7 (DMA 1) 10 (DMA 2) 11 (DMA 2) 12 (DMA 2) 13 (DMA 2) 14 (DMA 5) 15 (DMA 5) 16 (DMA 5) 17 (DMA 5) APPENDIX III lOP BLOCK DIAGRN1 IN DETAIL ------------------------- .--,-_."-' I II INSTRUCTION STACK . ... ..J F I D II .... .... rL ___ J<_ --- __ Jf ~ r.... ~ .... ........- r- .. 41' ---... I 1I r: "j~ ~ RP ~-------. .. I DP OPERAND REGISTERS (512) I-- J B j ... r.. ~ I .. .. 4 • ,, , ,,• ~" ,~ 'r..-tI I • • r ..... ..r ... ."' ( .." ACC r .... RJMNfJ.t ADDER ~ .... t .... LA .,.- I~ I ~ J"" +q 1 I!.. .... ~--. --....,.. l I.... .!I~ '" • l .I I ......... I ADDEND ~ BRANCH ADD. ..,- . ~ SHIFTER ~ ~l ...l P . rttiJ ~..l ~ I j 1 . . 4A((UMIfLATOR} r I ..-, LI ~. , r.... EXIT STACK , FETCH --1 ,, j - -- r io-- , ,,, I r"- Z I f----- - - - ,, ,, , ,, N t I .., . liD CHANNELS j~ .. I I I I I I . . ......... L____ -. ,T_., BLOCK DIAGRAM J L_. ---. J MA T I I I.... FI GURE I I I-I. r--' I i LOCAL MEMORY (65K) ~ THE FOLLOYJING ME PART (f THE INSTRUCTION CONTROL NffiJORK: RP (REGISTER POINTER) REGISTER DP (IISTINATION POINTER) REGISTER FETCH REGISTER MA (M810RY ADIRESS) REGISTER II1.2 RP REGISTER 9 BITS ~JIII PO INTS TO AN OPERAND REG ISTER LOADED FROM II REGISTER D FIELD OR BREGISTER DP REGISTER 9 BITS WIn:: STORES ADDRESS LOADED FR~1 (f G'ERAND REGISTER TO ff hRITIEN II REGISTER D FIELD OR B REGISTER PROTECTS READING a= OPERAND REGISTER PfFORE NB~ DATA AVAILAaE CONTENTS GO TO RP ItJHEN ACCUMULATOR READY TO vIR I TE OPERAND REGISTER. I I1. 3 -------------------------- --_. __ .. FETCH REGISTER 16 BITS ~JILE HOLDS ADffiESS (f FIRST INSTRUCTION PARCEL II: FETCHED FRa1 ~OORY. INCREMENTED BY 4 EVtRY CP MAY FE LOAIID FRQ\1 EXIT STACK OR ADIIR MA REGISTER 16 BITS ~III[ HOLDS ADffiESS FOR ALOCAL r'EMORY REFERENCE LOAffD FRO'1 AN OPERAND REGISTER I I1.4 (f FOUR PARCEL ffiOUP TO BRANCH ACCUMULATOR 16 BITS vJ I DE LOADED BY P OR AN OPERAND REGISTER ON A BRANCH INSTRUCTION SUPPLIES OPERAND TO ADDER BRANCH ADDEND REGISTER 16 BITS ~~ I DE LOADED BY D OR K FIELD ON A BRANCH INSTRUCTION SUPPLIES OPERAND TO ADDER I I I 15 - - - - - - - - - - - - - - - - - - - - - - - - - _..•..>._-,---•... ,...._.... APPENDIX IV lOS ACTIVITY SUMMARY lOS ACTIVITIES SUBSYSTEM NAfv£ 1/0 PROCESSOR ACCM DISK,STATION,CONCENTRATOR,INTERACTlVE AlL Af-'SG STATION,CONCENTRATOR,INTtRACTIVE MIOP, BIOP CDEM ALL MIOP, BIOP DISK DISK BIOP, DIOP ERRECK DISK BIOP, DIOP CONC CONCENTRATOR MIOP ENDCONC CONCENTRATOR MIOP CONCI CONCENTRATOR MIOP CONCO CONCENTRATOR ~'IOP FEREAD CONCENTRATOR MIOP F8~RIT CONCENTRATOR MIOP ~1SGIO STATION ,CONCENTRATOR , INTERACTIVE BIOP STATION STATION MIOP KEYBD STATION MIOP ClI STATION MIOP DISPLAY STATION f~IOP IV.1 SUBSYST5~ NAf'1E 1/0 PROTOCOL STATION MIOP STAGEIN STATION MIOP STAGEOUT STATION MIOP CONFIG ALL LISTO MIOP CRAY STATION ,CONCENTRATOR ,INTERACTIVE MIOP HPlOAD STATION,CONCENTRATOR,INTERACTIVE MIOP lACON INTERACTIVE MIOP IAIOP INTERACTIVE MIOP PATCH ALL START MIOP TRACE ALL IV.2 PROCESSOR APPENDIX V KERNEL SERVICE REQUEST FUNCTIONS CODE NAME 1 PUSH PUT ACTIVITY ON A QUEUE AT PRIORITY KERNEL r.u-P) 2 POP REMOVE ACTIVITY FROM A QUEUE AND PLACE IT ON CP QUEUE AT PRIORITY. REQUESTER 3 TERMINATE TERMINATE AN ACTIVITY BY RELEASING ITS' AD AND SMOD AREAS. KERNEL 4 GIVEUP RESCHEDULE AN ACTIVE TASK BY PRIORITY KERNEL 7 PAUSE SUSPEND AN ACTIVITY FOR TENTHS OF A SECOND. KERNEL 10 DELAY SUSPEND AN ACTIVITY FOR MILLISECONDS KERNEL 11 TPUSH PUT ACTIVITY ON A QUEUE AND ON A TIMER QUEUE FOR TENTHS OF A SECOND. KERNEL 12 SYNC SYNCHRONIZE TWO ACTIVITIES REQUESTER 15 ALERT REQUEST ANOTHER lOP TO CREATE AN ACTIVITY. KERNEL 16 AWAKE REQUEST ANOTHER lOP TO ACTIVATE AN ACTIVITY. KERNEL/ REQUESTER 17 RESPOND SEND RESPONSE TO ANOTHER lOP REQUESTER 20 f1SG SEND A MESSAGE TO A CRT KERNEL/ REOUESTER 21 MSGR SEND A MESSAGE TO A CRT AND WAIT FOR RESPONSE. KERNEL/ REQUESTER DESCRIPTION VII RETURN TO (£~ CODE IESCRIPTION NM RETURN TO 22 OUTPUT OUTPUT AMESSAGE TO ACRT (STATION) KERNEL 23 FRNTNDIO INITIATE I/O I£l1\£EN ACONCENTRATOR AND AFRONT END. KERNEL 25 RECEIVE INPl~ 26 SP.MXIO INITIATE I/O ON ABLOCK MUX CHANNEL KERNEL 30 (UMEM ALLOCATE LOCAl f"EMORY REQUESTER 31 RElJ1EM RELEASE LOCAL MEMORY REQUESTER 32 BGET tUOCATE A512 LOCAL BlfFER. 33 BRET RELEASE A512 WORD LOCAl BUFFER REQUESTER 35 MGET ALLOCATE A512 WORD MOS BUFFER KERNEL/ REQUESTER 36 MPUT RELEASE A512 ~IORD REQUESTER 44 POLL SEND ArESSAGE TO THE CPU I G AWAKENS f1)G Ia IN BIOP . 27. f'EGIO CALLS r'SGOUT WHICH roVES RESPONSE fv£SSA(I TO BlFFER rEMffiY. 28. rtSGIO RESPONffi TO 29. CRAY~G CRAY~G. RETlRt£ TO CONC I • 30. CONCI DOUBLE SYNCS WITH CONCO VIA THE QQ(Q Ql£LE. 31. CONCa REAlE RESPONSE LCP INTO MIOP LOCAL r'EMORY FRa1 BlFFER rvEMCRY. 32. CONCO SYNCS ~'JITH FEvRIT VIA Qo;,JQ. 33. CONca SY~S WITH CONCI. THIS IS TO ALLQAI FRONT END TO SEND AN IMDIATE RESPONSE TO THE OUTPUT (v£SSAtE A. CONCI roUBLE SYf'rS \rJITH FEREAD. B. FEREAD OPENS UP INPUT CHANNEL FOR ~EXT LCP VIA FRNTNDIO. FEREAD GetS ON CT$RQ. I 34. CONCa SYNCS \4JITH QalJQ. THIS IllES CONCa SINCE THIS Ql£lf IS EMPTY. 35. FE~RIT INITIATES vRITE FEvRIT GetS ON CT~~Q, a= LCP TO FRONT END VIA FRNTNDIO. 36. WHEN LCP IS \ARITIEN, INTERRUPT ANSl,4ERING TAI
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-20:48:00 Create Date : 2009:10:25 21:36:13Z Creator Tool : OmniPage Pro 15 Modify Date : 2009:11:11 23:32:09-06:00 Metadata Date : 2009:11:11 23:32:09-06:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:9c5afd7c-8413-4030-b709-5dbdf479334b Instance ID : uuid:06e80e23-ed32-4775-82ba-54ec15a442ac Page Count : 396 Creator : OmniPage Pro 15EXIF Metadata provided by EXIF.tools