1 / 10

SI = 3

SI = 3. MOS Check. Master Mode Register Check. CheckRegisters. SI = 0. ExecuteUserProgram. CheckRegisters. CASE:. TI = 0, SI = 1. Read. TI = 0, SI = 2. Write. TI = 0, SI = 3. Terminate: No Error. Terminate: Time Limit Exceeded. TI = 2, SI = 1. Write, Terminate: Time Limit Exceeded.

pete
Download Presentation

SI = 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SI = 3 MOS Check Master Mode Register Check CheckRegisters SI = 0 ExecuteUserProgram

  2. CheckRegisters CASE: TI = 0, SI = 1 Read TI = 0, SI = 2 Write TI = 0, SI = 3 Terminate: No Error Terminate: Time Limit Exceeded TI = 2, SI = 1 Write, Terminate: Time Limit Exceeded TI = 2, SI = 2 Terminate: No Error TI = 2, SI = 3 HandleValid PageFault TI = 0, PI = 1 Terminate: Invalid Operation TI = 0, PI = 2 Terminate: Invalid Operand Yes TI = 0, PI = 3 Valid Page Fault? No TI = 2, PI = 1 Terminate: Time and Operation Errors Terminate: Invalid Page Fault TI = 2, PI = 2 Terminate: Time and Operand Errors TI = 2, PI = 3 Terminate: Time Limit Exceeded

  3. HandleValidPageFault M[PTR + i] = Frame, IC = IC – 1, PI = 0 Frame = Rand(0, 29) * 10, i = 0 yes M[PTR + i] free? no i = i + 1

  4. Read IR[4] = 0 M[RA… RA + 9] = $EOJ M[RA… RA + 9] allocated? Yes RA = AddressMap (IR[3, 4]) No PI = 3 Terminate: Out of Data Yes No M[RA… RA + 9] = Next Data Line, SI = 0

  5. Write LLC = LLC + 1 Terminate: Line Limit Exceeded LLC > TTL? Yes No IR[4] = 0 M[RA… RA + 9] allocated? M[RA… RA + 9] printed to the output file Yes RA = AddressMap (IR[3, 4]) No PI = 3

  6. Terminate Two blank lines printed to output file Load SI = 0

  7. InitPageTable ExecuteUserProgram Load Print header $AMJ What type? Control card $DTA IC = 0 m = 0 Read next card End program $END m = 100 ? m … m +9 = card and m = m + 10 No Program card Yes End while loop Terminate: Memory Exceeded Re-enter Loop

  8. InitPageTable PTR Register = Rand(0, 29) * 10 M[PRT… PTR + 9] allocated for the page table

  9. ExecuteUserProgram IR = M[AddressMap(IC)], IC = IC + 1 TTC > TTL Terminate: Time Limit Exceeded No Yes No PI = 2 Is IR[3,4] valid / a number? yes else PI = 1 Examine IR[1,2] LR SR CR BT GD PD H R = M[AddressMap (IR[3,4])]? C = T? M[AddressMap(IR[34])] = R R = M[AddressMap(IR[34])] SI = 1 SI = 2 SI = 3 Yes No Yes IC = IR[3, 4] C = T C = F End Examine

  10. Address Map Page = VA / 10, Offset = VA % 10 Real address = M[Frame + Offset] Frame = M[PTR + Page] Is M[PTR + Page] null? No Yes PI = 3

More Related