From owner-freebsd-ia32@FreeBSD.ORG Fri Nov 3 23:12:02 2006 Return-Path: X-Original-To: freebsd-ia32@freebsd.org Delivered-To: freebsd-ia32@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E0A116A47B for ; Fri, 3 Nov 2006 23:12:02 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.234]) by mx1.FreeBSD.org (Postfix) with ESMTP id A911843D6A for ; Fri, 3 Nov 2006 23:11:56 +0000 (GMT) (envelope-from asmrookie@gmail.com) Received: by wx-out-0506.google.com with SMTP id i27so477093wxd for ; Fri, 03 Nov 2006 15:11:55 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=PQYxCI5121oDak92YD8K7ZTz9zxHtg2+DPaHXF0nZcZtmfBOEfKfQbo1/L3VfgktBsTDbQ9AA7u6+AsdiDR4SDbqNdD1dBJy0HkYxb6rFRIosI54RA+BEFS0+AQGtRxzdqBXbg30fHK7UfGk2YXKwKAMdMhgDcKQK1eUwUtJwmk= Received: by 10.70.77.2 with SMTP id z2mr931499wxa.1162595515853; Fri, 03 Nov 2006 15:11:55 -0800 (PST) Received: by 10.70.12.2 with HTTP; Fri, 3 Nov 2006 15:11:55 -0800 (PST) Message-ID: <3bbf2fe10611031511p3099f83t8990552621dff16e@mail.gmail.com> Date: Sat, 4 Nov 2006 00:11:55 +0100 From: "Attilio Rao" Sender: asmrookie@gmail.com To: "ranjith kumar" In-Reply-To: <20061103215946.88505.qmail@web58411.mail.re3.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <3bbf2fe10610181116w64407a43j83e1acfa16c6c9d5@mail.gmail.com> <20061103215946.88505.qmail@web58411.mail.re3.yahoo.com> X-Google-Sender-Auth: 378e9f6294d29651 Cc: freebsd-ia32@freebsd.org Subject: Re: issue group for pentium4 X-BeenThere: freebsd-ia32@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD on the IA-32 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 23:12:02 -0000 2006/11/3, ranjith kumar : > 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