[ARM CortexA] Różnica między silnie uporządkowanym a typem pamięci urządzenia

Jestem naprawdę nowym starterem Cortexa A i wiem, że ARM stosuje model pamięci o słabym uporządkowaniu i istnieją trzy wzajemnie wykluczające się typy pamięci:

Mocno zamówionyUrządzenieNormalna

Z grubsza rozumiem, czym jest Normal i co oznacza Silnie uporządkowane i Urządzenie. Jednak różnica między silnie uporządkowanym a urządzeniem jest dla mnie myląca.

Zgodnie z Przewodnikiem programisty serii Cortex-A jedyną różnicą jest to, że:

Zapis do pamięci silnie uporządkowanej może zostać zakończony tylko wtedy, gdy dotrze do urządzenia peryferyjnego lub pamięci dostępnego przez zapis.

Zapis do pamięci urządzenia może zostać zakończony, zanim dotrze on do urządzenia peryferyjnego lub pamięci dostępnego dla zapisu.

Nie jestem do końca pewny, jakie to prawdziwe usprawiedliwienie. Domyślam się, że kolejność dostępu do pamięci wpisanej za pomocą Silnie uporządkowanego lub Urządzenia powinna być spójna z kodami programistów (brak dostępu poza kolejnością). Jednak CPU będzie mógł wykonać następną instrukcję podczas uzyskiwania dostępu do pamięci, jeśli wpisano Urządzenie, i po prostu poczeka, aż dostęp zostanie zakończony, jeśli zostanie wpisany Silnie uporządkowany.

Popraw mnie, jeśli się mylę i powiedz mi, co to znaczy.

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion