2013年6月3日 星期一

How many MIPS does your MVS machine deliver ?

/* REXX */
 CVT  = STORAGE(10,4)
 RMCT = STORAGE(D2X(C2D(CVT)+604),4)
 SU   = STORAGE(D2X(C2D(RMCT)+64),4)
 SU   = 16000000/C2D(SU)
 SAY  'SU/SEC FACTOR IS' SU ,
 '(1 CPU SECOND EQUALS' SU 'SERVICE UNITS)'
 CVTPCCAT = STORAGE(D2X(C2D(CVT)+764),4)
 SAY 'PCCA VECTOR TABLE AT' C2X(CVTPCCAT)
 I = 0
 P = 0
 SAY '----------------------------------------'
 SAY ' PROC   VERSION  CPUID   MODEL    PCCA  '
 SAY 'NUMBER    CODE                   ADDRESS'
 SAY '----------------------------------------'
 DO WHILE I < 16
 PCCA   = STORAGE(D2X(C2D(CVTPCCAT)+I*4),4)
 IF PCCA  ^= '00000000'X THEN DO
    PCCAPCCA = STORAGE(D2X(C2D(PCCA)),4)
    PCCAVC   = STORAGE(D2X(C2D(PCCA)+4),2)
    PCCACPID = STORAGE(D2X(C2D(PCCA)+6),6)
    PCCAMDL  = STORAGE(D2X(C2D(PCCA)+12),4)
    IF PCCAPCCA = 'PCCA' THEN DO
       SAY ' ' I '     ' PCCAVC '   ' PCCACPID ,
           ' '!!PCCAMDL ' ' C2X(PCCA)
       P = P + 1
       END
    END
 I = I + 1
 END
 IF P > 1 THEN PROCS = 'PROCESSORS'
          ELSE PROCS = 'PROCESSOR'
 SAY
 SAY P PROCS 'IN THIS COMPLEX'
 MIPS = SU/48.5
 SAY
 SAY '** TOTAL MIPS                   :' MIPS*P
 IF P > 1 THEN SAY ,
  '** EQUIVALENT UNIPROCESSOR MIPS :' MIPS
/*                                           */
/*  MSU EVALUATION                           */
/*                                           */
MSU = SU*P*3600/1000000
SAY FORMAT(MSU,,0) 'MSU (FOR PSLC PRICING -'

沒有留言:

張貼留言