[#1] Rejestr VBR w procesorach 68010+
Co tak naprawde daje przeniesienie tego rejestru do pamieci FAST?
Czy wiaze sie to z jakas poprawa dzialania systemu (przyrost predkosci)?
[#2] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #1

Wykonanie przez procesor każdego przerwania rozpoczyna się od pobrania wektora przerwania z tablicy wskazywanej przez VBR. Oczywiście odczytanie tego wektora z pamięci fast odbywa się szybciej. Przez to przerwania przy VBR wskazującym na fast mają mniejszą latencję.

Ostatnia aktualizacja: 25.07.2020 16:49:39 przez Krashan
[#3] Re: Rejestr VBR w procesorach 68010+

@Krashan, post #2

Dokladnie tak jest jak pisze Grzes
[#4] Re: Rejestr VBR w procesorach 68010+

@Krashan, post #2

Dzieki za odpowiedz.
Pytalem, bo udalo mi sie przeniesc ten wektor na procesorze 68010 i tak sie zastanawialem
czy da sie jakos sprawdzic czy cos to daje.
[#5] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #4

Whdload to wykorzystuje do stworzenia własnej tabeli wektorów i obsługi m.in. klawisza wyjścia.

Raczej nie pod katem wydajności, a użyteczności powinna być rozważana ta opcja.
W autodoc'u whdload znajdziesz parę wpisów typu: This flag has an effect only if the VBR is moved...
[#6] Re: Rejestr VBR w procesorach 68010+

@WyciorX, post #5

Porobilem troche testow.
Okazuje sie ze nie ma sensu dodawanie do Kickstaru modulu przenoszenia VBR do FASTu.
Kilka dem NDOS odmowilo posluszenstwa grozac GURU o numerze 8000 0020 - (Unknow).
Pewnie co innego bedzie jesli sie kozysta z systemu, choc i tu pewnie nie bedzie za wesolo.
[#7] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #6

Ponieważ Panie kolego już Ci to mówiłem. Każdy koder sprawdza czy masz 020 i wtedy odczytuje adres vbr, w każdym innym wypadku odczytuje go z domyślnej pozycji, więc przeniesienie go na 010 nie jest przez nikogo przewidziane bo odczyt adresu odbywa się przez polecenie procesora 020 :)
[#8] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #6

Bo wiele dem, zwłaszcza tych starszych, nie kwapi się by przeczytać zawartość VBR by poprawnie zamontować swoje przerwanie, tylko uznaje że tablica wektorów zaczyna się na adresie zero.

To jak dużego kopa to daje jest proporcjonalne do:
- tego jak często w danej grze/demie występują przerwania
- jak dużo chipset zabiera dostępów do CHIP

Co nie zmienia faktu że nie ma co się spodziewać nie wiadomo jakiego przyrostu. Parę procent max. No ale, mieć a nie mieć.

@Juen: nie wiem jak Ty ale ja to robię tak (cytując ACE'a):

static volatile tHwIntVector * s_pHwVectors = 0;
...
	// get VBR location on 68010+ machine
	// http://eab.abime.net/showthread.php?t=65430&page=3
	if (SysBase->AttnFlags & AFF_68010) {
		UWORD pGetVbrCode[] = {0x4e7a, 0x0801, 0x4e73};
		s_pHwVectors = (tHwIntVector *)Supervisor((void *)pGetVbrCode);
	}


Taki kod nie robi nic na 000 a na pozostałych działa w sposób spodziewany. ;)

Ostatnia aktualizacja: 25.07.2020 21:21:49 przez teh_KaiN
[#9] Re: Rejestr VBR w procesorach 68010+

@juen, post #7

Każdy koder sprawdza czy masz 020 i wtedy odczytuje adres vbr

Z jednej strony faktycznie dobrze ze to robi. Tyle tylko szkoda ze nie zaczyna od 010.
Ale nie ma sie co dziwic. Ten procesor to pewnie ma 5 amigowcow na swiecie.

Poza tym, nie liczylbym na to ze koderzy robiacy produkcje dzialajace na np na A1200 z 2MB CHIP
(nawet z FASTEM) zastanawia sie gdzie jest VBR. Pewnie defaultowo zaklada jest w $0.
[#10] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #9

Jak ktoś korzysta w WHDLoad na A500/A2000/CDTV to 010 jest najtańszym sensownym rozwiązaniem żeby normalnie wychodzić z gier. Ja mam powymieniane we wszystkich sprzętach.
[#11] Re: Rejestr VBR w procesorach 68010+

@michal_zukowski, post #10

Ja znowu zrezygnowałem z tego procesora bo sporo demo z a500 pod nim nie działa. Przyrost przyspieszenia też nie duży.
[#12] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #4

Możesz napisać lub pisać link do strony jak to zrobić
[#13] Re: Rejestr VBR w procesorach 68010+

@bilbo, post #12

Sirwuble - jest też parę innych programów do tego na aminecie.
[#14] Re: Rejestr VBR w procesorach 68010+

@bilbo, post #12

Ja uzylem tego pakietu aby przeniesc rejestr z "palca" czyli wpisalem w Shellu poprostu VBRMove.

Wektor przeniosl sie w obszar pamieci $00E00000 gdzie w CDTV mam rozszezenie pamieci
o ktorym pisalem w watku o CDTV Boot ROMie.

Jednak tego programu nie mozna umiescic w KickStarcie ani w Boot ROMie.
W tym przypadku udalo sie to z modulem MoveVBR ktory nalezal do jakiegos pakietu.
Zabijta, ale nie wiem jakiego. Doinstalowalo mi sie to kiedys na klasyku mozliwe ze przy instalacji
MMULib albo BlitzKicka.
[#15] Re: Rejestr VBR w procesorach 68010+

@Phibrizzo, post #1

Zaciekawiony wątkiem sprawdziłem jakie ma to praktyczne znaczenie w programie na 020 który w ramce ma 5 razy przerwanie blittera, jedno Vblank, jedno CIA, dużą copperlistę i gra muzykę na 4 kanałach. Teoretycznie musi coś to dać ale w praktyce ciężko zmierzyć różnicę, to zbyt mało danych do pobrania z chip.
System operacyjny Amigi powinien umieszczać tablicę wektorów od razu na starcie w faście, jeśli tylko taka pamięć jest dostępna. Nie wiem czego nie robi tego w A1200, pewnie ze względu na kompatybilność.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem