An apparatus for and a method of ensuring that a non-speculative
instruction is not fetched into an execution pipeline, where the
non-speculative instruction, if fetched, may cause a cache miss that
causes potentially catastrophic speculative processing, e.g., speculative
transfer of data from an I/O device. When a non-speculative instruction is
scheduled for a fetch into the pipeline, a translation lookaside buffer
(TLB) miss is made to occur, e.g., by preventing the lowest level TLB from
storing any page table entry (PTE) associated with any of the
non-speculative instructions. The TLB miss prevents the occurrence of any
cache miss, and causes a micro-fault to be injected into the pipeline. The
micro-fault includes an address corresponding to the subject
non-speculative instruction, and when it reaches the end of the pipeline,
causes a redirect of instruction flow of the pipeline to the address, and
thus the non-speculative instruction is fetched and executed in a
non-speculative manner.
Μια συσκευή για και μια μέθοδος ότι μια μη-θεωρητική οδηγία δεν προσκομίζεται σε μια σωλήνωση εκτέλεσης, όπου η μη-θεωρητική οδηγία, εάν προσκομίζεται, μπορεί να προκαλέσει μια δεσποινίδα κρύπτης που προκαλεί την ενδεχομένως καταστροφική θεωρητική επεξεργασία, π.χ., θεωρητική μεταφορά των στοιχείων από μια I/O συσκευή. Όταν μια μη-θεωρητική οδηγία σχεδιάζεται για μια ευρύτητα στη σωλήνωση, μια δεσποινίδα απομονωτών lookaside μεταφράσεων (TLB) γίνεται για να εμφανιστεί, π.χ., με την παρεμπόδιση του χαμηλότερου επιπέδου TLB από την αποθήκευση οποιασδήποτε επιτραπέζιας εισόδου σελίδων (pte) που συνδέεται με οποιεσδήποτε από τις μη-θεωρητικές οδηγίες. Η δεσποινίδα TLB αποτρέπει το περιστατικό οποιασδήποτε δεσποινίδας κρύπτης, και αναγκάζει ένα μικροϋπολογιστής-ελάττωμα για να εγχεθεί στη σωλήνωση. Το μικροϋπολογιστής-ελάττωμα περιλαμβάνει μια διεύθυνση που αντιστοιχεί στην υπαγόμενη μη-θεωρητική οδηγία, και όταν φθάνει στο τέλος της σωλήνωσης, προκαλεί επαναπροσανατολίζει της ροής οδηγίας της σωλήνωσης στη διεύθυνση, και έτσι η μη-θεωρητική οδηγία προσκομίζεται και εκτελείται κατά τρόπο μη-θεωρητικό.