Rozmieszczanie zadań czasu rzeczywistego w pamięci notatnikowej
description
Transcript of Rozmieszczanie zadań czasu rzeczywistego w pamięci notatnikowej
Rozmieszczanie zadań czasu rzeczywistego Rozmieszczanie zadań czasu rzeczywistego w pamięci notatnikowejw pamięci notatnikowej
SCR 2002, Ustroń, 16-19 września 2002
Jerzy R. Nawrocki, Wojciech Jerzy R. Nawrocki, Wojciech ComplakComplak
Instytut InformatykiInstytut Informatyki
Politechnika Poznańska Politechnika Poznańska
• Poprawność funkcjonalnaPoprawność funkcjonalna
• Ograniczenia czasoweOgraniczenia czasowe – – linie krytycznelinie krytyczne
System czasu rzeczywistegoSystem czasu rzeczywistego
8088
PAO
Magistralasystemowa
Rola pamięci notatnikowejRola pamięci notatnikowej
5 MHz
P4
PAO
Pamięć notatnikowa
Magistralasystemowa
Rola pamięci notatnikowejRola pamięci notatnikowej
5 MHz2 GHz
P4
PAO
Pamięć notatnikowa
Magistralasystemowa
Rola pamięci notatnikowejRola pamięci notatnikowej
5 MHz0,04 GHz
Statyczna analiza programówStatyczna analiza programów
mov ax, var1
cmp bx, var1je etyk1
mov ax, 0. . .
add ax, bx. . .
Kategorie odwołań do pamięciKategorie odwołań do pamięciAHAH = = aalways lways hhititAMAM = = aalways lways mmissedissedNCNC = = nnot ot cclassifiedlassified
Statyczna analiza programówStatyczna analiza programów
Kategorie odwołań do pamięciKategorie odwołań do pamięciAHAH = = aalways lways hhititAMAM = = aalways lways mmissedissedNCNC = = nnot ot cclassifiedlassified
mov ax, var1
cmp bx, var1je etyk1
mov ax, 0. . .
add ax, bx. . .
Statyczna analiza programówStatyczna analiza programów
Kategorie odwołań do pamięciKategorie odwołań do pamięciAHAH = = aalways lways hhititAMAM = = aalways lways mmissedissedNCNC = = nnot ot cclassifiedlassified
mov ax, var1
cmp bx, var1je etyk1
mov ax, 0. . .
add ax, bx. . .
Statyczna analiza programówStatyczna analiza programów
P4
PAO
Pamięć notatnikowa mov ax, var1
cmp bx, var1je etyk1
mov ax, 0. . .
add ax, bx. . .
Proces A Proces A
Przerwanie
Proponowane podejścieProponowane podejście
P4
PAO
Pamięć notatnikowa
Proc AProc A
Proc BProc B
Proc CProc C
Proc DProc D
•Max czas wyk.•Rozmiary obiekt.•Rozmiar pamięci•Linie krytyczne
A i C docache’a
ProjektantProjektant(CASE)(CASE)
Proponowane podejścieProponowane podejście
P4
PAO
Pamięć notatnikowaProc AProc A
Proc BProc B
Proc CProc C
Proc DProc D•Max czas wyk.•Rozmiary obiekt.•Rozmiar pamięci•Linie krytyczne
A i C docache’a
ProjektantProjektant(CASE)(CASE)
Zarządzanie pamięcią notatnikowąZarządzanie pamięcią notatnikową
• Proste ściąganie zawartościProste ściąganie zawartości
• Nanizanie linii pamięci notatnikowejNanizanie linii pamięci notatnikowej
• Nanizanie bloków podstawowychNanizanie bloków podstawowych
• Architektura von NeumannaArchitektura von Neumanna(pamięć zunifikowana)(pamięć zunifikowana)
• Architektura harwardzkaArchitektura harwardzka(oddzielne pamięci kodu i danych)(oddzielne pamięci kodu i danych)
Architektury pamięci notatnikowejArchitektury pamięci notatnikowej
mov ebx,offset data_to_preloadmov ebx,offset data_to_preload
mov ecx,size_of_data_to_preloadmov ecx,size_of_data_to_preload
shr ecx,2shr ecx,2
rep lodsdrep lodsd
Proste ściąganie zawartości bez wsparcia sprzętowegoProste ściąganie zawartości bez wsparcia sprzętowego
dcbf rA,rBdcbf rA,rB data cache block flushdata cache block flush
dcbst rA,rBdcbst rA,rB data cache block storedata cache block store
dcbt rA,rBdcbt rA,rB data cache block touchdata cache block touch
dcbtst rA,rBdcbtst rA,rB data cache block touch fordata cache block touch forstorestore
dcbz rA,rBdcbz rA,rB data cache block set to data cache block set to zerozero
Proste ściąganie zawartości przy wsparciu sprzętowym (Power PC)Proste ściąganie zawartości przy wsparciu sprzętowym (Power PC)
Kod Kod aplikacjiaplikacji
Kod Kod aplikacjiaplikacji
Instrukcja Instrukcja skokuskoku
Nanizanie linii pamięci notatnikowejNanizanie linii pamięci notatnikowej
Punkt wejściowy Punkt wejściowy kodu nanizującegokodu nanizującego
Punkt wejściowy Punkt wejściowy kodu aplikacjikodu aplikacji
Nanizanie linii pamięci notatnikowejNanizanie linii pamięci notatnikowej
• zaproponowano metodę pozwalającą na w pełni deterministyczne zarządzania zawartością pamięci notatnikowej
PodsumowaniePodsumowanie
Kierunki dalszych badańKierunki dalszych badań
• dynamiczne ładowanie i wyładowywanie zadań
• system operacyjny pozwalający na praktyczne wykorzystanie zaprezentowanego podejścia
Rozmieszczanie zadań czasu rzeczywistego Rozmieszczanie zadań czasu rzeczywistego w pamięci notatnikowejw pamięci notatnikowej
SCR 2002, Ustroń, 16-19 września 2002
Jerzy R. Nawrocki, Wojciech Jerzy R. Nawrocki, Wojciech ComplakComplak
Instytut InformatykiInstytut Informatyki
Politechnika Poznańska Politechnika Poznańska