Koprocesor arytmetyczny

  • Koprocesor jest osobnym układem odpowiedzialnym za wsparcie procesora przy bardziej zaawansowanych operacjach matematycznych
  • Kiedyś był to odrębny układ instalowany tylko w HIGH-END wersjach komputerów (tutaj nawiązanie do starych aut, które w luksusie miały np. dźwignię zmiany biegów w desce podłogowej)
  • Na chwilę obecną koprocesor jest zintegrowany z procesorem, jednak nadal widać rozróżnienie pomiędzy procesorem a koprocesorem - z resztą, było to do zauważenia podczas laboratoriów z AK2
  • Koprocesor ma swoje osobne rejestry
  • Koprocesor nie byłby w stanie samodzielnie sterować komputerem
  • Nie obsługuje I/O ani przerwań
  • Przy odpowiednim wsparciu potrafi współpracować z pamięcią
  • Procesor podstawowy podstawia koprocesorowi dane i odbiera od niego wyniki - można powiedzieć, że robi wszystko wokół niego, a koprocesor jedynie liczy

Współpraca procesora i koprocesora

  • Procesor podstawowy pobiera wszystkie (i swoje, i koprocesorowe) rozkazy z listy rozkazów
  • Jeśli rozkaz ma preambułę ESC to znaczy, że jest przeznaczony dla koprocesora
  • Procesor odcina preambułę i przekazuje pozostały kod rozkazu do koprocesora
  • Procesor wyznacza adresy efektywne argumentów dla koprocesora
  • Koprocesor śledzi kolejkę rozkazów i stan ich wykonania, aby być gotowym do działania natychmiast, gdy zajdzie taka potrzeba - :?: nie jestem pewien, czy to na pewno o to chodzi
  • Oczywiście, ten sam program da się napisać bez koprocesora, ale z koprocesorem wygodniej
  • W trakcie, gdy koprocesor wykonuje swoje operacje, procesor podstawowy może wykonywać inne operacje
Dokończyć ten temat.
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki