Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
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.
What I am meaning is, are instructions sets a way of signaling commands or optimizations? I mean because we have binary right? (to do simple things like commands right?)
the instruction set is the set of commands that directly interface with the CPU. Not sure how you're relating this to binary though, obviously they are transmitted as digital binary signals, but past that, what do you mean? Plenty of info here http://en.wikipedia.org/wiki/Instruction_set
Distribution: Cinnamon Mint 20.1 (Laptop) and 20.2 (Desktop)
Posts: 1,672
Rep:
Are you talking about what I know as Machine code? Binary is just a numbering system with two states, 0 and 1. It's a bit boring as it stands, so processor commands were usually input in hexadecimal; a numbering system going from 1 to F, er.. counting in 16s. The symbols used are 0123456789abcdef. Processor commands would be generally input as quads on a 32 bit system, i.e. 29C3. You'd have codes which would allow registers within the CPU to be loaded and manipulated with hex data. This all at a very basic level. One code may load a register with a hex number, bits within this register would be set or not set which would affect other stuff happening, etc. you'd need a code just to load the register, another to shift the data left or right by 1 bit, etc,etc. So doing something we'd think was quite simple, like adding 1 + 1, when coded, would be quite complex.
This is why high level programming languages were developed, it made life simpler for humans. It does generate a load of redundant code though; unused libraries, etc. Machine code, when it worked, was very lean, fast, and took little memoryspace. The Sinclair ZX81 only had 1K of memory!
An instruction set is the set of instructions any particular cpu recognizes as instructions.
If a cpu is executing a program, it executes instructions it recognizes. You can't get a cpu to execute an instruction it doesn't recognize.
Optimizations are
1. various hardware design features in a cpu to allow it to run the same code faster.
2. In another context, optimizations (with compiling) mean using more, or the full instruction set of the cpu you are using instead of a more basic subset. Such a compiled program cannot be run on machines that don't have the necessary features in their instruction set.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.