-
Data: 2023-02-15 23:10:46
Temat: Re: C++ ośla łączka
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 15/02/2023 22:14, Marek wrote:
>> nie oznaczą go volatile. A to generuje sideeffect, na przykąłd jak
>> czytamy bufor typu UART.
> Czyli konkretnie jaki side effect z tym UARTem?
Na przykład, w wielu uartach odczytanie bajtu z bufora wejściowego
możliwe jest dokładnie *raz* na każdy odebrany bajt, hardware traktuje
taki odczyt jako procedurę odebrania wiadomości i nastepny odczyt może
odczytać coś z dalszej pozycji bufora. W ogólnym wypadku, operacja na
rejestrze *może* spowodować zmianę stanu hardware. Rejestr to nie jest
pamięć.
Taka ciekawostka: MC68000 i MC68020 rózniły się tym, że pierwszy w
niektórych instrukcjach asm zapisywał *dwukrotnie* to samo do pamieci, a
drugi racz zapisywał a drugi raz odczytywał i w obu wypadkach jedna z
tych operacji była bez sensu algorytmicznego. To cecha magiczna
magistrali 6[8|5]00/68000, każdy cykl jest dostępem do pamięci i
procesor *coś* musi zrobić w każdym cyklu, nawet jak nie miało to sensu,
bo nie miał co wymienić z pamięcią.
Był to spory problem, kiedy okazało się, że jeśli ktoś akurat zapisuje
do rejestru hardwareowego, który ma sideefect np. uruchamiania DMA,
program działał inaczej w zależności od CPU, mimo że efekt końcowy był
identyczny z punktu widzenia ASM.
Ten problem z MC680x0 to sprzętowy odpowiednik "problemów" z C, gdzie
też pewne operacje mogą pojawić się i zniknąc w wyniku optymalizacji, co
nie przeszkadza w modelu pamięciowym, ale może powodować katastrofy w
modelu rejestrów sprzętowych. Dlatego jest słowo volatile. I swoją drogą
tylko dlatego ;)
Następne wpisy z tego wątku
- 16.02.23 00:02 Grzegorz Niemirowski
- 16.02.23 07:22 heby
- 16.02.23 12:46 Grzegorz Niemirowski
- 16.02.23 13:20 Piotr Gałka
- 16.02.23 13:45 heby
- 16.02.23 13:54 heby
- 16.02.23 14:35 J.F
- 16.02.23 15:23 Grzegorz Niemirowski
- 16.02.23 15:33 Piotr Gałka
- 16.02.23 15:37 J.F
- 16.02.23 16:05 Piotr Gałka
- 16.02.23 17:56 heby
- 16.02.23 18:01 heby
- 16.02.23 19:11 Grzegorz Niemirowski
- 16.02.23 19:22 Marek
Najnowsze wątki z tej grupy
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
Najnowsze wątki
- 2026-01-13 STREFA CZYSTEGO TRANSPORTU. O tym nie mówią nam WŁADZE
- 2026-01-13 To nie koniec
- 2026-01-13 Warszawa => Recruiter 360 <=
- 2026-01-13 Katowice => Key Account Manager <=
- 2026-01-13 Warszawa => Senior Backend Java Developer <=
- 2026-01-13 Wrocław => ERP Implementation Consultant <=
- 2026-01-13 Elektryk a otwieranie drzwi :-)
- 2026-01-12 Schemat automatyki
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Teoretyczne zagadnienie - ogrzewanie budynku
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]