-
July 29th, 2004, 10:41 AM
#1
Junior Member
32-bit Operating system
hello guys can someone of u tell me wht is the meaning of this 16 -bit os, 32 -bit os or 64 -bit operating system. it is definatly not the processor on which it is running then wht is it
-
July 29th, 2004, 10:49 AM
#2
Why is it not the processor it runs on. Or am I lost. Here's an explanation to the difference between 64 and 32 bit processors. And a 64 bit operating system is designed for a 64 bit processor.
http://www.build-your-own-computer-t...rocessors.html
When death sleeps it dreams of you...
-
July 29th, 2004, 10:49 AM
#3
In Windows, this refers to the way memory is accessed. 16-bit applications access memory in 16-bit "chunks" (2-bytes). Most pre- Windows 95 applications are 16-bit (see also 32-bit)
In Windows, this refers to the way memory is accessed. 32-bit applications access memory in 32-bit "chunks" (4-bytes). Large portions of Windows 95 and many of its new applications are 32-bit applications and may run faster because it has become more efficient to access chunks of memory.
I learnt something also.....
-
July 29th, 2004, 11:46 AM
#4
Usually a reference to the size of pointers that are used internally.
Very confusing, because some operating systems use several pointer formats internally; Windows 95 is one.
Just when you thought all the "thunking" (converting pointers from 16 to 32 bit or vice versa) had gone away, we now have 64-bit processors which can run 32-bit code.
Oh joy!
Basically the advantage of having larger address sizes is that you can address more memory with less messing around. The disadvantage is that pointers are larger hence take up more memory themselves.
The first programs to use 32-bit addressing on i386 machines were mostly games. Games programmers wanted to be able to address large (well, several megabytes anyway) amounts of memory without having to worry about near, far, segment registers, and extended / expanded RAM (all of which is arse for a programmer)
Slarty
-
July 29th, 2004, 11:51 AM
#5
Member
Is there any point in buying 64-bit processors today? Are there any applications who can take advantage of it or does this not come until later on?
-
July 29th, 2004, 11:58 AM
#6
Further to Tidalfaze32's post
The reason a 32bit operating system is more powerful than a 16 bit is primarily to do with direct memory access and the length of the operator and operand in machine code. Along with the biggest number that can be processed!
Taking direct memory access:
8 bits can directly access 2^8 = 256 memory locations. That is 256 bytes ,i.e. not a lot. To access above this needs indirect memory addressing, which I won't confuse you with here, and is slower.
It follows then that:
16 bits can directly access 2^16 = 65536 memory locations - 64KB.
32 bits can directly access 2^32 = 4294967296 memory locations - 4GB.
64 bits van directly access 2^64 = 18446744073709551616 - 16777216 TB.
Does that help to explain?
Incidentally 8bit code will run on 16bit processor, and 16 bit code will work on 32 bit processor, but will not realise the potential of the processor. The reverse, however, is not true - 32bit code will not run on 16 bit processor.
Tomorrow is another day for yesterdays work!
-
July 29th, 2004, 12:28 PM
#7
It's definitely to do with the processor architecture. But there's a catch; Intel based x86 processors have a backwards compatibility build into them. That's why you can run 16bit code on a 32bit processor. Motorola 680x0 processors are full 32bit beasts. There is no 16bit compatibility build into them. There wasn't any need for it.
Hmmm. I wished everything was as simple as the good old 8bit days
Brief history of microprocessors
Oliver's Law:
Experience is something you don't get until just after you need it.
-
July 29th, 2004, 12:48 PM
#8
Fair comment SirDice, however, I was attempting to give a simple illustration.
Perhaps I should have included a link like yours?
Yes, definately! Gonna have to stop hurriedly posting whilst at work!
Note to self: Must try harder!
Tomorrow is another day for yesterdays work!
-
July 29th, 2004, 01:14 PM
#9
its the size of the internal registers used for the computations, things like eax, esi, al, cl.. if you decompile a binary youll see reference to things like that those are the registers used by the ALU (arthemic logic unit) so say you wanna add to numbers it be something like this - (please note my asm is shite...)
push ax, 5 //note the registers are used for educational purposes and in real world
push cl, 4 //my be unsuitable
add eax, al
add eax, cl
its something like that, basically ur putting 5 and 4 in to al and cl respectivly, and then your using them values into the eax register where there added to what ever is currently in eax. incidentally the push and add instructions are converted into a binary code that is used by the ALU to select the operation required
It should be noted also that the x86 contains 32 and 16 bit registers i think eax is 32 bit and cl and ax are 16 bit.
so the larger the register the bigger numbers can be computed and larger memory locations can be accessed, Thats my understanding of it.
If you wanna really learn about this then i recommend reading some elementary digtial electronics text, and then look into how ALU's work, u'll get a massive understanding of how it works and it will provide you with the knowledge should you wish to learn ASM.
its not a perfect example, but it gives you an insight http://www2.ele.ufes.br/~ailson/digi...er05.doc3.html
Ive just re-read your question and it definatly is the processor....thats like saying ok lets run linux on my sega master system, it wont happen cos linux is designed to run on 32 bit systems (however there are some ports on linux to 16 bit systems).
how that helped
i2c
-
July 29th, 2004, 01:16 PM
#10
this ones better
http://library.thinkquest.org/25111/alu.shtml
more understandable to newbies
i2c
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|