Memory capability and powers of 2How to calculate index and tag fields lengths for a cpu cache?Differences, uses, and theory of volatile and nonvolatile memory?Determining memory address width from memory sizeWhat is the type of memory of a USB Flash drive and on a hard disc?Page table - I don't understand how this table has been madeIs it possible, and if so, how difficult would it be, to replace the volatile memory in Gameboy games with non-volatile memory?How does triple level cell FLASH memory achieve 3 bits per cell?Difference between a memory cell and a memory chip?Memory dump size does not match size of MTD partitionMaximum cells in a row in a SRAM memory array

Can I enter a rental property without giving notice if I'm afraid a tenant may be hurt?

How does Geralt transport his swords?

Why is Heisenberg shown dead in Negro y Azul?

Is there a way to say "double + any number" in German?

How to win against ants

ZFS on Linux: Which mountpoint option when mounting manually per script?

Is there a command-line tool for converting html files to pdf?

The warlock of firetop mountain, what's the deal with reference 192?

Vectorised way to calculate mean of left and right neighbours in a vector

On the consistency of different well-polished astronomy software

Is a switch from R to Python worth it?

Would the shaking of an earthquake be visible to somebody in a low-flying aircraft?

Why do my fried eggs start browning very fast?

Can attackers change the public key of certificate during the SSL handshake

Getting Lost in the Caves of Chaos

Is there a booking app or site that lets you specify your gender for shared dormitories?

Formal mathematical definition of renormalization group flow

“The Fourier transform cannot measure two phases at the same frequency.” Why not?

How do I show and not tell a backstory?

Upper Bound for a Sum

Is an "are" omitted in this sentence

Why do proponents of guns oppose gun competency tests?

Is the first page of a novel really that important?

How to design an effective polearm-bow hybrid?



Memory capability and powers of 2


How to calculate index and tag fields lengths for a cpu cache?Differences, uses, and theory of volatile and nonvolatile memory?Determining memory address width from memory sizeWhat is the type of memory of a USB Flash drive and on a hard disc?Page table - I don't understand how this table has been madeIs it possible, and if so, how difficult would it be, to replace the volatile memory in Gameboy games with non-volatile memory?How does triple level cell FLASH memory achieve 3 bits per cell?Difference between a memory cell and a memory chip?Memory dump size does not match size of MTD partitionMaximum cells in a row in a SRAM memory array






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








5












$begingroup$


Why are computer memory capabilities often multiples of a power of two, such as 2^10 = 1024 bytes?



I think it is something related to the binary logic, but I do not understand the precise reason for that.










share|improve this question











$endgroup$













  • $begingroup$
    superuser.com/questions/235030/…
    $endgroup$
    – dim
    Jul 26 at 11:05










  • $begingroup$
    Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
    $endgroup$
    – Natural Number Guy
    Jul 27 at 11:59


















5












$begingroup$


Why are computer memory capabilities often multiples of a power of two, such as 2^10 = 1024 bytes?



I think it is something related to the binary logic, but I do not understand the precise reason for that.










share|improve this question











$endgroup$













  • $begingroup$
    superuser.com/questions/235030/…
    $endgroup$
    – dim
    Jul 26 at 11:05










  • $begingroup$
    Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
    $endgroup$
    – Natural Number Guy
    Jul 27 at 11:59














5












5








5





$begingroup$


Why are computer memory capabilities often multiples of a power of two, such as 2^10 = 1024 bytes?



I think it is something related to the binary logic, but I do not understand the precise reason for that.










share|improve this question











$endgroup$




Why are computer memory capabilities often multiples of a power of two, such as 2^10 = 1024 bytes?



I think it is something related to the binary logic, but I do not understand the precise reason for that.







memory computers binary non-volatile-memory flash-memories






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 25 at 14:37







Kinka-Byo

















asked Jul 25 at 14:29









Kinka-ByoKinka-Byo

4102 silver badges8 bronze badges




4102 silver badges8 bronze badges














  • $begingroup$
    superuser.com/questions/235030/…
    $endgroup$
    – dim
    Jul 26 at 11:05










  • $begingroup$
    Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
    $endgroup$
    – Natural Number Guy
    Jul 27 at 11:59

















  • $begingroup$
    superuser.com/questions/235030/…
    $endgroup$
    – dim
    Jul 26 at 11:05










  • $begingroup$
    Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
    $endgroup$
    – Natural Number Guy
    Jul 27 at 11:59
















$begingroup$
superuser.com/questions/235030/…
$endgroup$
– dim
Jul 26 at 11:05




$begingroup$
superuser.com/questions/235030/…
$endgroup$
– dim
Jul 26 at 11:05












$begingroup$
Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
$endgroup$
– Natural Number Guy
Jul 27 at 11:59





$begingroup$
Historic reason for why it is like that. It was easier to work in nybble and octal formats when computer engineers invented instruction sets. Read history 70s to 80s. Could also read about early punch cards. And yes, base-2 is simplest form of arithmetic when you only got two voltage levels. Read on transistors and so on also.
$endgroup$
– Natural Number Guy
Jul 27 at 11:59











4 Answers
4






active

oldest

votes


















13












$begingroup$

A 1024 x 1 memory chip requires 10 address lines and you get full utilisation of all addresses. Now, if someone brought out a 600 x 1 memory chip, it would still need 10 address lines. It can’t use 9 because that could only uniquely define 512 memory positions.



Then think of what would happen if someone wanted to use two of the 600 x 1 memory chips to give a combined memory size of 1200. How would the address lines (plus 1 more) cope with numerically embracing each address slot uniquely and, if there is an MCU incrementing through memory in order to store contiguous data, that MCU would need special knowledge about the binary address numbers that are unused.






share|improve this answer









$endgroup$










  • 1




    $begingroup$
    Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
    $endgroup$
    – MSalters
    Jul 26 at 15:57











  • $begingroup$
    @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
    $endgroup$
    – Kripacharya
    Aug 2 at 7:38


















25












$begingroup$

Memory addresses are binary numbers. The range of an N-bit (unsigned) binary number is 0 to 2N-1, a total of 2N different values.



Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2. That way, none of the address space is wasted, and it's easy to combine multiple chips/modules to build larger memory systems with no gaps in the address space.






share|improve this answer









$endgroup$






















    4












    $begingroup$

    With 1 address wire you can access 2 different addresses. With N address bits or wires, you can access 2^N different addresses. Not much more complex than labeling 10 different items with single decimal digit or 26 different items with a single letter (depending on how many letters you have in your alphabet of course).






    share|improve this answer









    $endgroup$






















      0












      $begingroup$

      This is true for computers which use the binary system for number representation, and all modern computers do. Using powers of the base means using round numbers, which makes the math a lot easier, and easier math means simpler implementation.



      For example, how many grams are in 5 kg? 5000, right? Now imagine we define a kilogram as a unit of 679 grams. How many grams are 5 kg now?






      share|improve this answer









      $endgroup$

















        Your Answer






        StackExchange.ifUsing("editor", function ()
        return StackExchange.using("schematics", function ()
        StackExchange.schematics.init();
        );
        , "cicuitlab");

        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "135"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: false,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: null,
        bindNavPrevention: true,
        postfix: "",
        imageUploader:
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        ,
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );













        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f450087%2fmemory-capability-and-powers-of-2%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        13












        $begingroup$

        A 1024 x 1 memory chip requires 10 address lines and you get full utilisation of all addresses. Now, if someone brought out a 600 x 1 memory chip, it would still need 10 address lines. It can’t use 9 because that could only uniquely define 512 memory positions.



        Then think of what would happen if someone wanted to use two of the 600 x 1 memory chips to give a combined memory size of 1200. How would the address lines (plus 1 more) cope with numerically embracing each address slot uniquely and, if there is an MCU incrementing through memory in order to store contiguous data, that MCU would need special knowledge about the binary address numbers that are unused.






        share|improve this answer









        $endgroup$










        • 1




          $begingroup$
          Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
          $endgroup$
          – MSalters
          Jul 26 at 15:57











        • $begingroup$
          @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
          $endgroup$
          – Kripacharya
          Aug 2 at 7:38















        13












        $begingroup$

        A 1024 x 1 memory chip requires 10 address lines and you get full utilisation of all addresses. Now, if someone brought out a 600 x 1 memory chip, it would still need 10 address lines. It can’t use 9 because that could only uniquely define 512 memory positions.



        Then think of what would happen if someone wanted to use two of the 600 x 1 memory chips to give a combined memory size of 1200. How would the address lines (plus 1 more) cope with numerically embracing each address slot uniquely and, if there is an MCU incrementing through memory in order to store contiguous data, that MCU would need special knowledge about the binary address numbers that are unused.






        share|improve this answer









        $endgroup$










        • 1




          $begingroup$
          Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
          $endgroup$
          – MSalters
          Jul 26 at 15:57











        • $begingroup$
          @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
          $endgroup$
          – Kripacharya
          Aug 2 at 7:38













        13












        13








        13





        $begingroup$

        A 1024 x 1 memory chip requires 10 address lines and you get full utilisation of all addresses. Now, if someone brought out a 600 x 1 memory chip, it would still need 10 address lines. It can’t use 9 because that could only uniquely define 512 memory positions.



        Then think of what would happen if someone wanted to use two of the 600 x 1 memory chips to give a combined memory size of 1200. How would the address lines (plus 1 more) cope with numerically embracing each address slot uniquely and, if there is an MCU incrementing through memory in order to store contiguous data, that MCU would need special knowledge about the binary address numbers that are unused.






        share|improve this answer









        $endgroup$



        A 1024 x 1 memory chip requires 10 address lines and you get full utilisation of all addresses. Now, if someone brought out a 600 x 1 memory chip, it would still need 10 address lines. It can’t use 9 because that could only uniquely define 512 memory positions.



        Then think of what would happen if someone wanted to use two of the 600 x 1 memory chips to give a combined memory size of 1200. How would the address lines (plus 1 more) cope with numerically embracing each address slot uniquely and, if there is an MCU incrementing through memory in order to store contiguous data, that MCU would need special knowledge about the binary address numbers that are unused.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jul 25 at 15:11









        Andy akaAndy aka

        251k11 gold badges193 silver badges447 bronze badges




        251k11 gold badges193 silver badges447 bronze badges










        • 1




          $begingroup$
          Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
          $endgroup$
          – MSalters
          Jul 26 at 15:57











        • $begingroup$
          @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
          $endgroup$
          – Kripacharya
          Aug 2 at 7:38












        • 1




          $begingroup$
          Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
          $endgroup$
          – MSalters
          Jul 26 at 15:57











        • $begingroup$
          @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
          $endgroup$
          – Kripacharya
          Aug 2 at 7:38







        1




        1




        $begingroup$
        Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
        $endgroup$
        – MSalters
        Jul 26 at 15:57





        $begingroup$
        Implied but unsaid: each address line can have two states, 0 and 1. If you had tri-state address lines, you could have 59049 bits. (Or trits, if those were also tri-state). That is why the question explicitly mentions binary logic.
        $endgroup$
        – MSalters
        Jul 26 at 15:57













        $begingroup$
        @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
        $endgroup$
        – Kripacharya
        Aug 2 at 7:38




        $begingroup$
        @MSalters actually the word "tri-state" has a commonly understood meaning which is high impedance, or open. I think what you meant was 3-state. We can extend this logic to Quits, or quad-states etc etc.
        $endgroup$
        – Kripacharya
        Aug 2 at 7:38













        25












        $begingroup$

        Memory addresses are binary numbers. The range of an N-bit (unsigned) binary number is 0 to 2N-1, a total of 2N different values.



        Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2. That way, none of the address space is wasted, and it's easy to combine multiple chips/modules to build larger memory systems with no gaps in the address space.






        share|improve this answer









        $endgroup$



















          25












          $begingroup$

          Memory addresses are binary numbers. The range of an N-bit (unsigned) binary number is 0 to 2N-1, a total of 2N different values.



          Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2. That way, none of the address space is wasted, and it's easy to combine multiple chips/modules to build larger memory systems with no gaps in the address space.






          share|improve this answer









          $endgroup$

















            25












            25








            25





            $begingroup$

            Memory addresses are binary numbers. The range of an N-bit (unsigned) binary number is 0 to 2N-1, a total of 2N different values.



            Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2. That way, none of the address space is wasted, and it's easy to combine multiple chips/modules to build larger memory systems with no gaps in the address space.






            share|improve this answer









            $endgroup$



            Memory addresses are binary numbers. The range of an N-bit (unsigned) binary number is 0 to 2N-1, a total of 2N different values.



            Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2. That way, none of the address space is wasted, and it's easy to combine multiple chips/modules to build larger memory systems with no gaps in the address space.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 25 at 14:37









            Dave TweedDave Tweed

            132k11 gold badges165 silver badges283 bronze badges




            132k11 gold badges165 silver badges283 bronze badges
























                4












                $begingroup$

                With 1 address wire you can access 2 different addresses. With N address bits or wires, you can access 2^N different addresses. Not much more complex than labeling 10 different items with single decimal digit or 26 different items with a single letter (depending on how many letters you have in your alphabet of course).






                share|improve this answer









                $endgroup$



















                  4












                  $begingroup$

                  With 1 address wire you can access 2 different addresses. With N address bits or wires, you can access 2^N different addresses. Not much more complex than labeling 10 different items with single decimal digit or 26 different items with a single letter (depending on how many letters you have in your alphabet of course).






                  share|improve this answer









                  $endgroup$

















                    4












                    4








                    4





                    $begingroup$

                    With 1 address wire you can access 2 different addresses. With N address bits or wires, you can access 2^N different addresses. Not much more complex than labeling 10 different items with single decimal digit or 26 different items with a single letter (depending on how many letters you have in your alphabet of course).






                    share|improve this answer









                    $endgroup$



                    With 1 address wire you can access 2 different addresses. With N address bits or wires, you can access 2^N different addresses. Not much more complex than labeling 10 different items with single decimal digit or 26 different items with a single letter (depending on how many letters you have in your alphabet of course).







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jul 25 at 16:51









                    JustmeJustme

                    5,8512 gold badges6 silver badges17 bronze badges




                    5,8512 gold badges6 silver badges17 bronze badges
























                        0












                        $begingroup$

                        This is true for computers which use the binary system for number representation, and all modern computers do. Using powers of the base means using round numbers, which makes the math a lot easier, and easier math means simpler implementation.



                        For example, how many grams are in 5 kg? 5000, right? Now imagine we define a kilogram as a unit of 679 grams. How many grams are 5 kg now?






                        share|improve this answer









                        $endgroup$



















                          0












                          $begingroup$

                          This is true for computers which use the binary system for number representation, and all modern computers do. Using powers of the base means using round numbers, which makes the math a lot easier, and easier math means simpler implementation.



                          For example, how many grams are in 5 kg? 5000, right? Now imagine we define a kilogram as a unit of 679 grams. How many grams are 5 kg now?






                          share|improve this answer









                          $endgroup$

















                            0












                            0








                            0





                            $begingroup$

                            This is true for computers which use the binary system for number representation, and all modern computers do. Using powers of the base means using round numbers, which makes the math a lot easier, and easier math means simpler implementation.



                            For example, how many grams are in 5 kg? 5000, right? Now imagine we define a kilogram as a unit of 679 grams. How many grams are 5 kg now?






                            share|improve this answer









                            $endgroup$



                            This is true for computers which use the binary system for number representation, and all modern computers do. Using powers of the base means using round numbers, which makes the math a lot easier, and easier math means simpler implementation.



                            For example, how many grams are in 5 kg? 5000, right? Now imagine we define a kilogram as a unit of 679 grams. How many grams are 5 kg now?







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jul 26 at 6:51









                            Dmitry GrigoryevDmitry Grigoryev

                            19.2k2 gold badges30 silver badges78 bronze badges




                            19.2k2 gold badges30 silver badges78 bronze badges






























                                draft saved

                                draft discarded
















































                                Thanks for contributing an answer to Electrical Engineering Stack Exchange!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid


                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.

                                Use MathJax to format equations. MathJax reference.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f450087%2fmemory-capability-and-powers-of-2%23new-answer', 'question_page');

                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                                Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                                Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?