What does "32-bit" mean?

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 54

  • @TheFlyguy31
    @TheFlyguy31 9 років тому +17

    I cannot understand why no comments have been written because this is brilliant. The basics are properly explained for you to master and use for further study. A definite thumbs up from me..

  • @njs811271
    @njs811271 8 років тому +7

    This was the clearest explanation I have found on UA-cam. Thank you.

  • @imperialguardsman3154
    @imperialguardsman3154 4 роки тому +2

    This guy... explains so well. You are a good teacher!

  • @markman1276
    @markman1276 5 років тому

    Your explanation s are very simple and easy to understand. Look forward to seeing more videos .

  • @sandeepsastry3123
    @sandeepsastry3123 5 років тому

    A simple and amazing explanation of the basics. Thanks for the content, helped a lot!!!

  • @tyrion02
    @tyrion02 7 років тому +1

    thanks for taking the time to do this

  • @marian9802
    @marian9802 9 років тому

    you are great man! please keep up the good work on some low-level aspects of enginnering! it's great!

  • @omkarramtekkar02
    @omkarramtekkar02 10 років тому

    Really awesome.
    Please add more tutorials like this.

  • @freecrac
    @freecrac 7 років тому

    Hint: With a x86-64 we can use the 64 bit mode, the 32 bit mode and the 16 bit mode. With a 80386+ we can use the 32 bit mode and the 16 bit mode.
    Using a 80386+ within the 16 bit mode we can use the 16 bit instruction set and the 32 bit instruction set together with address size and operand size prefixes for to address 4 GB within the 16 bit mode. The only one difference between the 16 bit mode and the 32 bit mode on a 80386+ is the default address and operand size and the usage of the address size and operand size prefixes.
    Starting with the Pentium MMX (32 bit CPU) we can additional use the MMX instruction set with eight 64 bit MMX register within the 32 bit mode and also within the 16 bit mode using MMX instruction prefixe.
    Using a x86-64 within the 32 bit mode we can use the 32 bit instruction set and the 16 bit instruction set, but we can´t use the 64 bit instruction set within the 32 bit mode or within the 16 bit mode. So the difference between the 64 bit mode and the 32 bit and the 16 bit mode is much greater as the difference between the 16 bit mode and the 32 bit mode.

    • @davecrabbe4579
      @davecrabbe4579  7 років тому

      Great addition to the info provided. Unless one actually did some low-level programming with a CPU, this stuff gets hard to understand. I think the basic crux is that the x86-64 has a 'mode' where it allows for a much larger addressing space than 4GB. In this mode, it uses the same 32 bit instruction set of the x86 so that it is fully compatible with all existing x86 apps that existed at that time. The Intel Itanium was a totally new CPU architecture that was 64-bit and accessed lots of memory, but its native instruction set was not compatible with the 32-bit x86 CPU and so people had to re-write/recompile their code, which was more effort than people wanted to take. When Intel realized it was not being adopted, it incorporated various levels of x86 'emulation' to allow people to run older apps. But too little, too late. Thus the x86-64, while called a 64-bit CPU, is really more of a modified x86 core that allows a much larger addressing space.. This was what happened when it first appeared. Since then CPU designs have evolved significantly and I have not tracked their capabilities.

  • @krishna_o15
    @krishna_o15 3 роки тому +1

    This is a very helpful video.

  • @albinhakansson3323
    @albinhakansson3323 8 років тому +2

    nice video, but isn't it the register bit size that determines how much memory can be accessed? Rather than the instruction set bit size?

    • @davecrabbe4579
      @davecrabbe4579  7 років тому +2

      yes.. the size of the address register affects how much memory can be accessed. Not all registers inside a CPU are the same size. (But most are) When we say a CPU is '8 bit', that used to reference the basic size of the OpCodes. However, as CPUs became more and more complex, there was no single way to define what '64-bit' means. It became more of a marketing game.

  • @SweetyLifeInc
    @SweetyLifeInc 9 років тому

    now..this is some real lecture

  • @markman1276
    @markman1276 5 років тому

    Great explanation 👍 Look for more videos

  • @niamatullahbakhshi9371
    @niamatullahbakhshi9371 9 років тому

    A special thanks from you sir!
    I really have learnt a lot from this and all your videos ..
    Keep it Up ... :)

  • @roysouvik9831
    @roysouvik9831 5 років тому

    Great explanation.

  • @MrSaemichlaus
    @MrSaemichlaus 10 років тому

    You look like the guy in "les incroyables" :)
    Awesome tutorial!

  • @aj-uo3uh
    @aj-uo3uh 7 років тому

    Good stuff but I prefer to have the simple picture in my head that 64 bit means registers of 64 bit so that you can access 2^64 different pieces of memory. That is still explainable to the sales person that sells the software in my company.

    • @davecrabbe4579
      @davecrabbe4579  6 років тому

      But it is not correct. The "64-bit" Athlon did not have a 64-bit instruction set, nor did its address register have 64 bits. It could more 64 bits of data at once.

  • @Imrooot
    @Imrooot 8 років тому

    Awesome tutorial!

  • @MatthewSuffidy
    @MatthewSuffidy 6 років тому

    I was looking around for something describing how the 386 had 32 bit capability when Linux could use it and not windows. I assume it was just done prospectively and microsoft was behind on it. I think it is important to mention how starting with 32 bit, the preemptive capability existing, and the ability to access address in a straight, non memory segmented manner are the biggest differences.

    • @davecrabbe4579
      @davecrabbe4579  6 років тому

      When switching to 32 bit instructions, all drivers for hardware devices, such as video cards, had to be re-written. This takes much time. I remember when using Linux in these days, the list of hardware peripherals that would work was very, very limited. It was generally a nightmare taking a random PC and installing Linux on it, unless you knew how to recompile drivers. As Microsoft had to support thousands of different hardware combinations, it took them a while to get a stable OS out.

  • @BonKuma
    @BonKuma 8 років тому

    That was a great explanation, thank you!

  • @siwenzhang
    @siwenzhang 8 років тому

    Clear, Instructive, Great!

  • @nusud
    @nusud 10 років тому

    really great explanation! thank you!

  • @yekendeapandey3292
    @yekendeapandey3292 6 років тому

    wow this is the real lecture

  • @minomarazzini
    @minomarazzini 8 років тому

    So clear and well explained ;)!

  • @spocksear7616
    @spocksear7616 5 років тому

    Thank you, learned a lot today !

  • @MyAAEProjects
    @MyAAEProjects 10 років тому

    Awesome video sir!

  • @israelkarity4116
    @israelkarity4116 8 років тому

    it would be good if you explained about ls\st
    so it will be clear why and how longer commands realate to bigger RAM

    • @davecrabbe4579
      @davecrabbe4579  7 років тому

      I don't understand what you mean by ls\st. Fetching multiple pieces of data to chain into a longer command is beyond the scope of what I wanted to discuss in this video.

  • @mostafanajmi2132
    @mostafanajmi2132 8 років тому

    Thank you for this useful video

  • @bhaskarakummithi8737
    @bhaskarakummithi8737 8 років тому

    Very nice, thank you sir.

  • @chinmay6144
    @chinmay6144 4 роки тому

    Thank you so much 🍀🍀🍀🍀

  • @peanutvonnut3696
    @peanutvonnut3696 8 років тому

    I got 8 gb ram and can only use half so if i upgrade the cpu i can use it?

    • @davecrabbe4579
      @davecrabbe4579  7 років тому

      if your PC is less than 5 years old, you've like installed the 32-bit version of Windows.. Install the 64-bit version and you will likely have access to 8GB RAM.

  • @PurpleHeadedWarriorz
    @PurpleHeadedWarriorz 10 років тому

    Great video, thanks for the help :)

  • @xenonshaw
    @xenonshaw 9 років тому

    thanks for the explanation u deserve a sub and one like

  • @waildjeha8863
    @waildjeha8863 6 років тому

    You said that the Athlon 64 had a 64bit register , doesn't that mean that this CPU could access 2^64 of RAM ?

    • @davecrabbe4579
      @davecrabbe4579  6 років тому +1

      There are many groups of registers inside a CPU. Saying the Athlon is a 64-bit CPU comes from their marketing department. It did not have a 64-bit instruction set, nor did it have a 64 bit address register. It did have an address register with more than 32 bits.. about 38 bits, I think; which gave it the ability to access more RAM than the INTEL designs (until Intel copied AMD in this x64 design)

    • @davecrabbe4579
      @davecrabbe4579  6 років тому +2

      There are many registers inside a CPU. The registers that move data on the data bus are 64 bits so that 64 bits can be moved at once. However, there is an address bus register and this can be any size. In the 8086 it was 20 bits and so 2^20 was 1MB and thus the memory limit. In the 32 bit pentiums, it was 32 and so 2^32 was 4GB and that limit. The "64 bit" AMD enhancement in some Athlons increased the size of the address register to about 36 bits I think (not 64), and so this beat Intel at its own game and allowed more than 4GB of memory to be used. AMD started outselling INTEL in server CPUs until Intel copied AMDs enhancement.

  • @katarinacvejin7097
    @katarinacvejin7097 8 років тому

    Thank you.

  • @cr3ativemind92
    @cr3ativemind92 9 років тому

    Thank you

  • @Neyolight
    @Neyolight 9 років тому

    Good video.

  • @echoRohit
    @echoRohit 8 років тому

    good one

  • @tivrfoa
    @tivrfoa 9 років тому

    8 bits = 1 byte. why 2^20 = 1 MByte and not 1Mbit?

    • @davecrabbe4579
      @davecrabbe4579  7 років тому

      Not quite that simple.. if you have 4 address lines.. then you can 'address' 2^4 or 16 'things'.. the size of the databus determines how many bits you can transfer.. so with 4 address lines and 8 data lines I can move 16 x 8 bit chunks of data or 16 Bytes of data. If I have 20 address lines, I can move 2^20 or 1Mega chunks of data.. If the data moved as on 8 data lines, I'm moving 1 byte of memory, so 20 address lines allow me to move and access (or address) 1MByte of memory.. I'm simplifying it a bit here.. .. basically the number of address lines (which are controlled by the address register) determines how much memory your CPU can use.

  • @oudomchem5133
    @oudomchem5133 8 років тому

    thank for good video

  • @livegaming97
    @livegaming97 7 років тому

    thaaaaanks keep it up

  • @sydneyxider
    @sydneyxider 10 років тому

    thanks..

  • @abdallahmansor
    @abdallahmansor 5 років тому

    Great🥰

  • @shahzain009
    @shahzain009 10 років тому

    u look like charlie sheen :D