How is Intel SSSE3,x86-64 and all previous instruction set is used
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
...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.
...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)
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!
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.