Low-latency DMA handling in pipelined processors

   
   

A method, system and processor are provided for minimizing latency and loss of processor bandwidth in a pipelined processor when responding to an interrupt. The method advantageously avoids emptying and refilling the processor's instruction pipeline in order to service an interrupt request. Instead, a short sequence of instructions comprising the interrupt response is inserted into the pipeline. Normal pipeline operation stalls while the inserted instructions execute, but since flow is not disrupted the loss in bandwidth is not as great as if the pipeline were flushed. Furthermore, direct insertion of the instructions into the pipeline avoids the need for the processor to save its context and branch to an interrupt service routine in memory; this results in much faster response in servicing the interrupt, thereby reducing latency. In the preferred embodiment, the method applies to a pipelined processor having a RISC (Reduced Instruction Set Computer) architecture, which receives interrupt requests from one or more DMA memory controllers. The instructions inserted into the pipeline compute block address information for a DMA transfer. A system and processor implementing the method are disclosed, based on an enhancement of a conventional RISC processor design, and making use of registers and other existing logic resources within the processor. It is shown that the enhanced processor can respond to DMA interrupts with shorter latency and a smaller reduction in processor bandwidth than if conventional interrupt handling were used.

Μια μέθοδος, ένα σύστημα και ένας επεξεργαστής παρέχονται για την ελαχιστοποίηση της λανθάνουσας κατάστασης και την η απώλεια εύρους ζώνης επεξεργαστών σε έναν διοχετευμένο επεξεργαστή κατά απάντηση διακόπτει. Η μέθοδος αποφεύγει ευνοϊκά και ξαναγεμίζοντας τη σωλήνωση επιμόρφωσης του επεξεργαστή προκειμένου να συντηρηθεί διακόψτε το αίτημα. Αντ' αυτού, μια σύντομη ακολουθία οδηγιών που περιλαμβάνουν διακόπτει την απάντηση παρεμβάλλεται στη σωλήνωση. Οι κανονικοί στάβλοι λειτουργίας σωληνώσεων ενώ οι οδηγίες εκτελούν, αλλά δεδομένου ότι η ροή δεν αναστατώνεται την απώλεια στο εύρος ζώνης δεν είναι τόσο μεγάλοι σαν η σωλήνωση ξεπλύθηκε. Επιπλέον, η άμεση εισαγωγή των οδηγιών στη σωλήνωση αποφεύγει την ανάγκη για τον επεξεργαστή να σώσει το πλαίσιό της και ο κλάδος διακόπτει τη ρουτίνα υπηρεσιών στη μνήμη αυτό οδηγεί στην πολύ γρηγορότερη απάντηση στη συντήρηση διακόπτει, με αυτόν τον τρόπο μειώνοντας τη λανθάνουσα κατάσταση. Στην προτιμημένη ενσωμάτωση, η μέθοδος ισχύει για έναν διοχετευμένο επεξεργαστή που έχει μια (μειωμένος καθορισμένος υπολογιστής οδηγίας) αρχιτεκτονική RISC, η οποία λαμβάνει διακόπτει τα αιτήματα από έναν ή περισσότερους ελεγκτές μνήμης DMA. Οι οδηγίες που παρεμβάλλονται στη σωλήνωση υπολογίζουν τις πληροφορίες διευθύνσεων φραγμών για μια μεταφορά DMA. Ένα σύστημα και ένας επεξεργαστής για την εφαρμογή της μεθόδου αποκαλύπτονται, βασισμένος σε μια αύξηση ενός συμβατικού σχεδίου επεξεργαστών RISC, και της χρισημοποίησης των καταλόγων και άλλων υπαρχόντων πόρων λογικής μέσα στον επεξεργαστή. Αποδεικνύεται ότι ο ενισχυμένος επεξεργαστής μπορεί να αποκριθεί στο DMA διακόπτει με την πιό σύντομη λανθάνουσα κατάσταση και μια μικρότερη μείωση του εύρους ζώνης επεξεργαστών από εάν συμβατικός διακόπτει το χειρισμό χρησιμοποιήθηκε.

 
Web www.patentalert.com

< System for delaying the counting of occurrences of a plurality of events occurring in a processor until the disposition of the event has been determined

< System and method for improving the accuracy of a speech recognition program

> Processor with a function to prevent illegal execution of a program, an instruction executed by a processor and a method of preventing illegal execution of a program

> Verifying cumulative ordering of memory instructions

~ 00103