🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
5 messages
5 total messages Started by Kicer Fri, 12 Mar 2010 09:21
386, liczba cykli instrukcji mov
#2127
Author: Kicer
Date: Fri, 12 Mar 2010 09:21
12 lines
1039 bytes
Witam

w docu intela nt 386 można znaleźć informację, iż instrukcja mov reg,mem 
trwa 4 cykle, podczas gdy odwrotna operacja tylko 2. Zapis jak i odczyt 
wymagają od procesora takich samych czynności, skąd więc różnica?

pozdrawiam
-- 
Michał Walenciak
Kicer86 at gmail dot com
http://kicer.elsat.net.pl    
gg: 3729519
Re: 386, liczba cykli instrukcji mov
#2128
Author: minięty czas
Date: Fri, 12 Mar 2010 17:06
9 lines
1087 bytes
onegdaj ‟Kicer” rzecze:
> w docu intela nt 386 można znaleźć informację, iż instrukcja mov reg,mem
> trwa 4 cykle, podczas gdy odwrotna operacja tylko 2. Zapis jak i odczyt
> wymagają od procesora takich samych czynności, skąd więc różnica?
„wymagać” nie znaczy „wykonywać” oraz nie takich samych.
-- 
―oh yea, i got it!
―oh, stupid!
D. Icke
Re: 386, liczba cykli instrukcji mov
#2129
Author: Kicer
Date: Fri, 12 Mar 2010 18:56
17 lines
1339 bytes
minięty czas wrote:

> onegdaj ?Kicer? rzecze:
>> w docu intela nt 386 można znaleźć informację, iż instrukcja mov reg,mem
>> trwa 4 cykle, podczas gdy odwrotna operacja tylko 2. Zapis jak i odczyt
>> wymagają od procesora takich samych czynności, skąd więc różnica?
> ?wymagać? nie znaczy ?wykonywać? oraz nie takich samych.

jako takie same czynnosci mialem na mysli to co robi BIU komunikując się z 
pamięcią.
pozatym moglbys rozwinąć ?

-- 
Michał Walenciak
Kicer86 at gmail dot com
http://kicer.elsat.net.pl    
gg: 3729519
Re: 386, liczba cykli instrukcji mov
#2130
Author: minięty czas
Date: Sun, 14 Mar 2010 16:05
25 lines
2362 bytes
onegdaj ‟Kicer” rzecze:
>>> w docu intela nt 386 można znaleźć informację, iż instrukcja mov
>>> reg,mem trwa 4 cykle, podczas gdy odwrotna operacja tylko 2. Zapis jak
>>> i odczyt wymagają od procesora takich samych czynności, skąd więc
>>> różnica?
>> ?wymagać? nie znaczy ?wykonywać? oraz nie takich samych.
> jako takie same czynnosci mialem na mysli to co robi BIU komunikując się
> z pamięcią.
> pozatym moglbys rozwinąć ?
nie wiem co to jest ‘biu’, pewnie jakaś ‘unit’ procesora. ;-)
w uproszczeniu: podczas zapisu do pamięci ‘ram’ procesor (‘cpu’) —zależ-
nie  od  ustawień  pracy— może  pozostawić  daną  w pamięci  podręcznej,
a pod  czas  odczytu  z pamięci ‘ram’ musi  ją  odczytać nawet z pamięci
‘ram’, jeśli  nie  ma  w pamięci  podręcznej  procesora.   nie wiem, ile
z tych  mechanizmów ma zaimplementowany sprzęt, na którym pracuje proce-
sor ‟386”, oraz sam procesor —jest w dokumentacji.   w każdym razie— do-
myślam się, że te cztery cykle to jest przypadek pesymistyczny, gdy musi
czytać  z ‘ram’, albo  też  przypadek  półpesymistyczny, gdy musi czytać
z najdalszego  miejsca przechowywania danej uwzględnionego  w dokumenta-
cji.
-- 
 qo   |)      CPL: cs[0..1] (ss[0..1]) p lvl of curr code!
    _x/ ,     RPL: seg_sel[0..1] privilege lvl of seg_sel!
    |    ng  __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-,
,__ -- __ -- DPL: 2._word_of_seg_desc[13..14]:`f seg_desc ,
Re: 386, liczba cykli instrukcji mov
#2131
Author: Kicer
Date: Mon, 15 Mar 2010 06:53
28 lines
2221 bytes
minięty czas wrote:

> nie wiem co to jest ?biu?, pewnie jakaś ?unit? procesora.?;-)
> w uproszczeniu: podczas zapisu do pamięci ?ram? procesor (?cpu?) ?zależ-
> nie  od  ustawień  pracy? może  pozostawić  daną  w pamięci  podręcznej,
> a pod  czas  odczytu  z pamięci ?ram? musi  ją  odczytać nawet z pamięci
> ?ram?, jeśli  nie  ma  w pamięci  podręcznej  procesora.   nie wiem, ile
> z tych  mechanizmów ma zaimplementowany sprzęt, na którym pracuje proce-
> sor ?386?, oraz sam procesor ?jest w dokumentacji.   w każdym razie? do-
> myślam się, że te cztery cykle to jest przypadek pesymistyczny, gdy musi
> czytać  z ?ram?, albo  też  przypadek  półpesymistyczny, gdy musi czytać
> z najdalszego  miejsca przechowywania danej uwzględnionego  w dokumenta-
> cji.

386 nie ma pamieci cache ;)
biu jest to jednostka procesora która zajmuje się pobieraniem i zapisywaniem 
danych z/do pamieci zewnętrznej ram.
W obydwu przypadkach potrzebuje 2 cykli zegara aby zakonczyć transmisję.
Po małej dyskusji na #asm @ freenode wyszło, że procesor przy wykonywaniu 
rozkazu zapisu do pamieci wysyła potrzebne dane do biu i leci dalej z 
wykonywaniem kolejnych rozkazów. przy odczycie sila rzeczy musi czekac na 
zakonczenie operacji. 

-- 
Michał Walenciak
Kicer86 at gmail dot com
http://kicer.elsat.net.pl    
gg: 3729519
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads