What needs to happen in the SEEK FSM?
You get into the state for that FSM, do the seek interface call using the contents of the controller registers which have been set by the processor (the call happens instantaneously from the point of view of your state machine), get the status and latch it into the status register. In the next state, interrupt the processor. • What is the sequence of events in the execution of this program? Answer: Your controller simulation is a surrogate of the processor which has the main() function of your executable. Following is the sequence of events: • the processor (which is main()) calls the contr_start • contr_start does the i/o action • the controller calls interrupt upon completion of i/o • the controller polls acknowledge (i.e. it is testing this repeatedly) • the controller sends interrupt vector once acknowledge is gotten • the controller simply returns from the contr_start function (i.e. it returns to main which is the processor). The contr_start function returns to the processor after