LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 07-20-2007, 01:12 PM   #1
AbhishekSlam
LQ Newbie
 
Registered: Jun 2007
Posts: 23

Rep: Reputation: 15
How is Intel SSSE3,x86-64 and all previous instruction set is used


Hello,
It may be very annoying ,but I wanted to know how Intel's
MMX,SSE,SSE2,SSE3,SSSE3 and x86-64 instruction set is used by programmers to create a prgramming language compiler or for any other Low-level programming projects.I mean what is used for accessing the Microprocessors instruction set architecture ,example:-the programming language commonly used for accessing instruction sets,and does it require a good knowledge of electronics circuits. Sorry if I am too puzzled you ,please try to give me answer.

Thanks
 
Old 07-20-2007, 03:09 PM   #2
SciYro
Senior Member
 
Registered: Oct 2003
Location: hopefully not here
Distribution: Gentoo
Posts: 2,038

Rep: Reputation: 51
integrated assembly in C perhaps?

(assembly, the programing language family used to program CPU's)
 
Old 07-20-2007, 03:27 PM   #3
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 3,910

Rep: Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776
Instruction sets (non-answer, or several)

Quote:
It may be very annoying
...you could turn out to be right, but I will have my revenge

Quote:
Intel's
MMX,SSE,SSE2,SSE3,SSSE3 and x86-64 instruction set
Well, when you say Intel's, we already have a problem. Unlike the rest, which were originated by Intel and copied/licensed by other organisations, the x86-64 set was originated by AMD, and hence it is a bit unfair to characterise it as Intel's, even though you could be arguing that it is Intel's because Intel use it. Wrong, though.

The bigger problem though is that is a list of six instruction set extensions and not really instructions sets, or an instruction set, per se.

Quote:
used by programmers to create a prgramming language compiler or for any other Low-level programming projects
Mostly, they aren't, or at least not noticeably. For most things, the standard x86 instruction set is used. There are some special cases in which the various SSEs are used, but the ones that I can think of are mostly in things like signal processing which isn't the creation of a programming language compiler or a low level programming project.

You could argue that in using an AMD 64 bit processor in 64 bit mode, you are inherently using the x86-64 instruction set, but from a programmers model point of view that is largely transparent (errr, some of the registers are extended, so there can be an extra issue with initialising the extended length registers if you are writing code that is intended to run
in both 32 bit and 64 bit mode, but I don't think that's what you want to know about).

Quote:
-the programming language commonly used for accessing instruction sets
It may that you have just asked "What is the most common programming language". I'd have to guess its c++ these days, but you'd get a different answer to which language makes it easiest to do something with the extensions directly (assembler) and which produces most stuf that intefaces directly with the user (maybe Java). Something relatively high level like Java probably features a lot in user interface code, but maybe several layers away from where the hardware is really put to work.

Quote:
and does it require a good knowledge of electronics circuits
If you wanted to write an assembler program to twiddle I/O pins directly, you are probably better off with a knowledge of hardware. Not essential, but helpful. For higher level code it probably makes hardly any difference.

If the question is simply "What should I use to write programs with?" and the stuff about instruction set extensions is just a smokescreen, then you won't get an answer. Rather, you can have any answer you like. You might as well have asked "Which is better a Mac or a PC?" It'll start a fight or two, but it won't help you much.

Quote:
Sorry if I am too puzzled you ,please try to give me answer.
Me both. Too kind. If not three.
 
Old 07-20-2007, 09:47 PM   #4
AbhishekSlam
LQ Newbie
 
Registered: Jun 2007
Posts: 23

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by salasi
...you could turn out to be right, but I will have my revenge



Well, when you say Intel's, we already have a problem. Unlike the rest, which were originated by Intel and copied/licensed by other organisations, the x86-64 set was originated by AMD, and hence it is a bit unfair to characterise it as Intel's, even though you could be arguing that it is Intel's because Intel use it. Wrong, though.

The bigger problem though is that is a list of six instruction set extensions and not really instructions sets, or an instruction set, per se.



Mostly, they aren't, or at least not noticeably. For most things, the standard x86 instruction set is used. There are some special cases in which the various SSEs are used, but the ones that I can think of are mostly in things like signal processing which isn't the creation of a programming language compiler or a low level programming project.

You could argue that in using an AMD 64 bit processor in 64 bit mode, you are inherently using the x86-64 instruction set, but from a programmers model point of view that is largely transparent (errr, some of the registers are extended, so there can be an extra issue with initialising the extended length registers if you are writing code that is intended to run
in both 32 bit and 64 bit mode, but I don't think that's what you want to know about).

It may that you have just asked "What is the most common programming language". I'd have to guess its c++ these days, but you'd get a different answer to which language makes it easiest to do something with the extensions directly (assembler) and which produces most stuf that intefaces directly with the user (maybe Java). Something relatively high level like Java probably features a lot in user interface code, but maybe several layers away from where the hardware is really put to work.



If you wanted to write an assembler program to twiddle I/O pins directly, you are probably better off with a knowledge of hardware. Not essential, but helpful. For higher level code it probably makes hardly any difference.

If the question is simply "What should I use to write programs with?" and the stuff about instruction set extensions is just a smokescreen, then you won't get an answer. Rather, you can have any answer you like. You might as well have asked "Which is better a Mac or a PC?" It'll start a fight or two, but it won't help you much.



Me both. Too kind. If not three.
Thanks,
The reason I asked all of u about how instruction set is used is that ,I wanted to know how Bill Gates and Paul Allen developed BASIC interpretor for Altair 8800 machine ,I heared from one of the speech of BillG that they read the manual provided by MITS(Developer of Altair 8800 machine) and emulated the machine structure by some Simulation.It let me forced to know the step by step work the gone through.Anyway thanks for all your advices .

Code the next Generation of Technology (said by me and only me)
 
Old 07-21-2007, 02:23 AM   #5
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 3,910

Rep: Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776Reputation: 776
now I really am confused

Quote:
The reason I asked all of u about how instruction set is used is that ,I wanted to know how Bill Gates and Paul Allen developed BASIC interpretor for Altair 8800 machine
Given that the question that you asked was almost entirely irrelevant to what you say that wanted to know, I am a bit surprised to find out that you have been much helped. But if it helps, it helps.

You have asked about the SIMD extensions and AFAIK (and I'm pretty sure of this) not one of the things that you mentioned is used in an Altair.

Quote:
It let me forced to know the step by step work the gone through.
No. It didn't tell you. You didn't ask about that. You didn't ask anything even vaguely related to that. I'd say that it was almost impossible to guess that this was something that you would have wanted to know from your question.

I'm still not clear why you think that technology introduced from, say 1995 to 200x, is involved in work done in the early 1980s or maybe even the late 70s. Even if the technology had been available at the time, neither the emulating device nor the device being emulated would have been x86 devices, so its difficult to see why you would focus on x86 instruction set add-ons. That just seems irrelevant.

Quote:
Code the next Generation of Technology (said by me and only me)
I'm not sure whether you are the first person to have said that, but if that is your immediate objective, you do have to understand that you are quite some way from being able to achieve it. Good Luck!
 
Old 07-21-2007, 07:53 PM   #6
AbhishekSlam
LQ Newbie
 
Registered: Jun 2007
Posts: 23

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by salasi
Given that the question that you asked was almost entirely irrelevant to what you say that wanted to know, I am a bit surprised to find out that you have been much helped. But if it helps, it helps.

You have asked about the SIMD extensions and AFAIK (and I'm pretty sure of this) not one of the things that you mentioned is used in an Altair.



No. It didn't tell you. You didn't ask about that. You didn't ask anything even vaguely related to that. I'd say that it was almost impossible to guess that this was something that you would have wanted to know from your question.

I'm still not clear why you think that technology introduced from, say 1995 to 200x, is involved in work done in the early 1980s or maybe even the late 70s. Even if the technology had been available at the time, neither the emulating device nor the device being emulated would have been x86 devices, so its difficult to see why you would focus on x86 instruction set add-ons. That just seems irrelevant.



I'm not sure whether you are the first person to have said that, but if that is your immediate objective, you do have to understand that you are quite some way from being able to achieve it. Good Luck!
Hey,
I am really very sorry if I not able to create a good question.But believe me from the begining of first question to the second I only wanted to know how prgrammers(here Bill Gates) access the instruction set of processor ,I am not particular asking about the x86 architecture or SSE,or x86-64 ,It was only an example.And lastly a small question does today's Low-Level programmers had to access the instruction set arhitecture of the processors to interact with the hardware for developing of Compilers or Interpretors.
THe quotation "Code the next Generation of Technology" does not related to the questions I have asked.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Show me a set of easy to follow instruction on how to install ATI (fglrx) smiley_lauf Fedora 1 03-21-2006 06:00 PM
Intel x86 Casket General 3 08-29-2005 04:48 AM
Transparency in Aterm won't work, fbsetbg won't set previous background rob0t Slackware 2 08-13-2005 06:37 PM
The NSA linux version x86 Intel suse91pro Linux - Security 2 04-30-2005 02:00 PM
march and MMX instruction set chbin Slackware 10 03-12-2005 01:25 PM


All times are GMT -5. The time now is 06:58 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration