Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Nov 2006 00:11:55 +0100
From:      "Attilio Rao" <attilio@freebsd.org>
To:        "ranjith kumar" <ranjith_kumar_b4u@yahoo.com>
Cc:        freebsd-ia32@freebsd.org
Subject:   Re: issue group for pentium4
Message-ID:  <3bbf2fe10611031511p3099f83t8990552621dff16e@mail.gmail.com>
In-Reply-To: <20061103215946.88505.qmail@web58411.mail.re3.yahoo.com>
References:  <3bbf2fe10610181116w64407a43j83e1acfa16c6c9d5@mail.gmail.com> <20061103215946.88505.qmail@web58411.mail.re3.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2006/11/3, ranjith kumar <ranjith_kumar_b4u@yahoo.com>:
> Hi
>   1) "Issue group" is a set of instructions which can
> be issued to different execution units at same time so
> that many execution units can be executed parallely.
>
>  Can any one tell any sourse where I can get the
> information such as which set of instructions are
> called as  an issue group(in case of pentium 4
> processor only).

I'm unsure there is public informations about that specific CPU for
issue groups. Note that these are particular important in order to
prevent pipeline flushings in some cases (ie: multiple L1 miss).

>  2) Compilers exploit such a feature by reodering
> instructions.
>  But Pentium 4 processor reoders instructions to do
> the same thing.
>  So reordering by compilers is unnessecary.
>
> Am I right????????????

No.
Instruction reordering must be helped by an ad-hoc programming of the
developers. You can manually exploit this trying to access as many
different registers you can in the same code-path (and in the same
pipeline scope).

Stupid examples:
not reordering:
mov (%esi), %eax
mov %eax, (%edi)
mov 4(%esi), %eax
mov %eax, 4(%edi)
mov 8(%esi), %eax
mov %eax, 8(%edi)
mov 12(%esi), %eax
mov %eax, 12(%edi)

good ordering:
mov (%esi), %eax
mov 4(%esi), %ebx
mov 8(%esi), %ecx
mov 12(%esi), %edx
mov %eax, (%edi)
mov %ebx, 4(%edi)
mov %ecx, 8(%edi)
mov %edx, 12(%edi)

This is what the compiler might optimize.

> 3)How many instructions  does Pentium 4 processor can
> look insatantly to reorder instructions?

As long as NetBurst's pipeline is (20 pipeline stages).

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3bbf2fe10611031511p3099f83t8990552621dff16e>