-
Data: 2016-02-09 00:53:13
Temat: Re: Różnice między mikrokontrolerami
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Mon, 8 Feb 2016 21:28:14 +0100, janusz_k napisał(a):
> W dniu 2016-02-07 o 22:15, J.F. pisze:
>>>> Intel x86 też ma oddzielnie segmenty kodu i danych. I co? I jakoś z tym
>>>> żyjemy.
>>> To kompilator ma a nie procek, x86 od zawsze miały wspólną przestrzeń
>>> danych i programu.
>>
>> Przestrzen wspolna, adresacja jedna, ale i tu moze segmentacja
>> namieszac. Ktos jeszcze pamieta te modele pamieci w C - tiny, small,
>> huge .. 6 ich bylo :-(
> Pewnie, pisałem na nie. Co nie zmienia faktu że można było wpisać
> dowolny adres i pobrać dane czy zapisać z całej pamięci RAM,
W modelu small byl jednak segment kodu, segment danych, a
adres/wskaznik tylko 16 bitow liczyl.
>>>> Intel x86 też ma oddzielne instrukcje mov i in.
>>> Łaskawco rozrózniaj instrukcje dostępu do pamięci "mov" od instrukcji
>>> we/wy "in", bo jak na razie to mieszasz pojęcia.
>>
>> Poniekad ten sam problem, tylko w jeszcze innym miejscu.
>> taki 8080 nie mial np adresacji in/out posredniej czy przez rejestr,
>> tylko wpisany w rozkaz, - co uniemozliwialo zadanie adresu parametrem
>> - musial byc z gory okreslony.
>
> Jarku sprawdz zanim napiszesz, cytuję:
> "Other Instructions
>
> IN Port Data from Port placed in A register.
> OUT Port Data from A register placed in Port."
>
> http://fms.komkon.org/comp/CPUs/8080.txt
No - dane byly w rejestrze A, a adres portu ?
W drugim bajcie rozkazu.
Jesli miales w systemie np dwa porty szeregowe (UART), to nie mogles w
systemie napisac jednej procedury ich obslugi, do ktorej bys przekazal
adres bazowy sterownika portu. Adres byl staly.
Podobnie w C nie mogles napisac funcji, ktora by dostala adres portu
jako parametr. Musial byc staly i znany juz w czasie kompilacji.
Tzn mogles - jesli program byl w RAM a nie ROM, to program mogl sobie
zmienic bajt pamieci odpowiedniego rozkazu.
Cos mi chodzi po glowie, ze podobna zmiana kodu musiala byc stosowana
takze w x86, ale to jeszcze jakis inny rozkaz musial byc, bo IN/OUT
mialy mozliwosc adresowania DX.
A jak uwzglednic kolejki i cache, to sprawa przestaje byc prosta :-)
J.
Następne wpisy z tego wątku
- 09.02.16 10:30 slawek
- 09.02.16 11:05 J.F.
- 09.02.16 11:40 slawek
- 09.02.16 11:45 slawek
- 09.02.16 12:29 J.F.
- 10.02.16 19:14 mk
- 10.02.16 21:09 janusz_k
- 10.02.16 21:25 J.F.
- 13.02.16 16:46 janusz_k
Najnowsze wątki z tej grupy
- Peltier
- A jednak nie kondensatory
- Re: A jednak nie kondensatory
- odzysk z panela PV
- tuner i silnik od rolety
- Przednia lampka rowerowa Basta / AXA pod dynamo w piaście
- Boję siię capa...
- Efekt gitarowy koda kd-30 trash metal
- Re: Efekt gitarowy koda kd-30 trash metal
- Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- PT500
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
Najnowsze wątki
- 2024-06-06 Nowy sprytny tel. z Androidem 13. - OSTRZEŻENIE!!!
- 2024-06-08 czarny punkt - Małdyty
- 2024-06-08 Protesters attempt to storm Tesla's factory in Germany
- 2024-06-07 przydałaby się grupa o wszystkim
- 2024-06-07 Rowerzyści! Co się z wami dzieje?!
- 2024-06-07 Peltier
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 nerwica lękowa
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-08 Warszawa => Spedytor międzynarodowy <=
- 2024-06-08 Warszawa => QA Manager <=
- 2024-06-08 Warszawa => Projektant/Programista React Native <=
- 2024-06-08 Zabrze => Junior HelpDesk <=
- 2024-06-08 Warszawa => Business Development Manager <=