Re: jak to jest z tym 800 Mhz (bus speed)

Autor: MiW (miw_at_zeus.polsl.gliwice.pl)
Data: Mon 03 Nov 2003 - 00:23:04 MET


> Kiedys tak bylo... Nawiasem mowiac zlap sobie intel software developer's
> manual i przejrzyj niektore rozkazy - sa tam wypisane ilosci taktow
> potrzebne do wykonania (oops... wlasnie zajrzalem - ilosci taktow nie
ma...
> ale ze maja niektore po 20 to nie watpie).

Znalazlem... 'Intel P4 Optimization Reference Manual' (pdf do sciagniecia z
intela).
Jest tam opis, jak mniej-wiecej wyglada architektura (ten caly 'netburst')
proca i magistrali wewnatrz procesora.

> Co ciekawsze rozkazy robia wieeele rzeczy naraz i maja bardzo dziwne
nazwy.
> Moje ulubione:
> CVTTPD2DQ (SSE, Convert with Truncation Packed Double-Precision
> Floating-Point Values to Packed Doubleword Integers)
9 taktow

> PUNPCKLQDQ (SSE/SSE2 ?, Unpack Low Data)
4 takty

Co ciekawe... DIVPD (Divide Packed Double-Prec Floating Point Values) ma np
69 taktow :)))

> Albo takie RSQRTPS... chyba mi nikt nie powie, ze proc umie policzyc
> odwrotnosc pierwiastka kwadratowego z liczby zmiennoprzecinowej
pojedynczej
> precyzji, na dodatek jako dane spakowane (czyli bodaj 4 naraz) w _jednym_
> takcie zegara ? ;-)

6 taktow :)

Nawiasem mowiac - co do takich prostych instrukcji i 'mniej niz 1 takt' to
strzelalem i zgadlem :)
np ADD, SUB, AND, OR, XOR, MOVy 0.5 taktu :)
POP/PUSH 1.5 taktu...
Ale takie IMUL/IDIV (integerowe) 14-18/56-70 taktow :)))

-- 
pzdr.
MiW


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 11:37:12 MET DST