Tag Info

Hot answers tagged

774

I answer your question by asking you a different one: How do you count on your fingers to 6? You likely count up to the largest possible number with one hand, and then you move on to your second hand when you run out of fingers. Computers do the same thing, if they need to represent a value larger than a single register can hold they will use multiple ...


370

You are correct that a 32-bit integer cannot hold a value greater than 2^32-1. However, the value of this 32-bit integer and how it appears on your screen are two completely different things. The printed string "1000000000000" is not represented by a 32-bit integer in memory. To literally display the number "1000000000000" requires 13 bytes of memory. Each ...


190

Note: These answers apply to standard PC CPUs (Intel and AMD) and Windows (as typically configured for end-users). Other 32-bit or 64-bit chips, other OSes, and other OS configurations can have different tradeoffs. From a technical perspective, a 64-bit OS gives you: Allows individual processes to address more than 4 GB of RAM each (in practice, most but ...


174

First and foremost, 32-bit computers can store numbers up to 232-1 in a single machine word. Machine word is the amount of data the CPU can process in a natural way (ie. operations on data of that size are implemented in hardware and are generally fastest to perform). 32-bit CPUs use words consisting of 32 bits, thus they can store numbers from 0 to 232-1 in ...


94

Basically you can do everything to a bigger scale: RAM per OS: RAM limit of 4GB on x86 for the OS (most of the time) RAM per process: RAM limit of 4GB on x86 for processes (always). If you think this is not important, try running a huge MSSQL database intensive application. It will use > 4GB itself if you have it available and run much better. Addresses: ...


81

Counting arrays from 0 simplifies the computation of the memory address of each element. If an array is stored at a given position in memory (it's called the address) the position of each element can be computed as element(n) = address + n * size_of_the_element If you consider the first element the first, the computation becomes element(n) = address + ...


79

When a computer interprets assembly level instructions, these instructions are turned into their binary equivalents for the CPU to read. When the CPU executes the instructions, it interprets the opcode part of the instruction into individual "microprograms", containing their microcode equivalents. Just so you know, a full assembly instruction consists of ...


64

The reason manufacturers have stopped concentrating on increasing clock speed is because we can no longer cool the processors fast enough for this to be viable. The higher the clock speed, the more heat is generated, and we've now hit a stage where it is no longer efficient to increase processor speed due to the amount of energy that goes into cooling it. ...


52

When actually running programs, the load on the CPU can cause the core temperature to rise. While newer technologies have some effect (dynamic frequency & voltage scaling), this is still mostly because certain instructions use different electrical pathways in the microprocessor (as opposed to when the processor is simply in an idle or low power state). ...


39

Because the integer modulus operation is a ring homomorphism (Wikipedia) from ℤ -> ℤ/nℤ, (X * Y) mod N = (X mod N) * (Y mod N) mod N You can verify this yourself with a little bit of simple algebra. (Note that the final mod on the right-hand side appears due to the definition of multiplication in a modular ring.) Computers use this trick to calculate ...


37

While the principles below apply to decimal as well any other base, Counting from 0 in computers can be easily understood naturally from the fixed-digit binary system of representing numbers used in computers. If you have 8 bits, then there are 256 possible combinations of 1s and 0s that can be expressed. You could use these 8-bit to express the numbers ...


35

There is a lot more to processing speed than the clock rate. Different CPUs can do different amounts in the same number of clock cycles, due to different variants on pipeline arrangement and having multiple component units (adders and so forth) in each core. While in your test it is not the case, you often find a "slower" chip can do more than a fast ones ...


34

You are also able to write "THIS STATEMENT IS FALSE" without your computer crashing :) @Scott's answer is spot-on for certain calculation frameworks, but your question of "writing" a large number implies that it's just plain text, at least until it's interpreted. Edit: now with less sarcasm more useful information on different ways a number can be stored in ...


33

If you don't mind using the command line, WMI can do this and is native with Windows XP and newer. Simply run wmic MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Tag >wmic MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Tag BankLabel Capacity DeviceLocator Tag BANK 0 2147483648 Bottom - Slot 1 (top) Physical Memory 0 BANK 1 ...


30

The processor doesn't really 'know' what the commands are. The commands are just binary patterns that cause the processor to do what we interpret the commands to mean. For example, an ADD-R1-into-R2 operation will cause registers 1 and 2's values to reach the ALU (arithmetic and logic unit), cause the ALU to use the output of the adder instead of the ...


28

The key is understanding how computers encode numbers. True, if a computer insists on storing numbers using a simple binary representation of the number using a single word (4 bytes on a 32 bit system), then a 32 bit computer can only store numbers up to 2^32. But there are plenty of other ways to encode numbers depending on what it is you want to achieve ...


26

Never thought an opportunity for an armchair philosopher such as myself would come along on Superuser. There is a fundamental misconception at heart here, because non-philosophers tend to skip over the minute details. In short: Computers do not count from zero, but denomination of positions starts from zero. There is nothing confusing about this perceived ...


23

Nothing is free: although 64-bit applications can access more memory than 32-bit applications, the downside is that they need more memory. All those pointers that used to need 4 bytes, now they need 8. For example, the default requirement in Emacs is 60% more memory when it's built for a 64-bit architecture. This extra footprint hurts performance at every ...


23

Theoretically: 16.8 million terabytes. In practice: your computer case is a little too small to fit all that RAM. http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors


23

As well as the modern dual and tripple channel arrangements, memory did (and in some systems still does) need to be installed in pairs or even groups of four. For example in mothboards desgined for 286 and 386SX processors, 8-bit SIMMs (actually usually 9-bit, with an extra parity bit for error detection) were installed in pairs to match up with the CPU's 16 ...


21

The way I like to think of it is with a laundry analogy. CPU instructions are like loads of laundry. You need to use both the washer and the dryer for each load. Let's say that each takes 30 minutes to run. That is the clock cycle. Old CPUs would run the washer, then run the dryer, taking 60 minutes (2 cycles) to finish each load of laundry, every time. ...


20

A few years ago, a group of programmers have released a kernel patch for Windows 7 to allow the usage of more than 4 GB of RAM under Windows 7. Recently, due to some virus scanners detecting the patch as a false positive, the download was removed from the website. Fortunately, I have saved a copy of the patch (which uses the RTM Windows 7 kernel), and ...


20

tl;dr Shorter pipelines mean faster clock speeds, but may reduce throughput. Also, see answers #2 and 3 at the bottom (they are short, I promise) Longer version: There are a few things to consider here: Not all instructions take the same time Not all instructions depend on what was done immediately (or even ten or twenty) instructions back A very ...


19

It's all in your question. You can write any number you like on paper. Try writing a trillion dots on a white sheet of paper. It's slow and ineffective. That's why we have a 10-digit system to represent those big numbers. We even have names for big numbers like "million", "trillion" and more, so you don't say one one one one one one one one one one one... ...


18

Memory doesn't have to be installed in pairs, but it is recommended in pretty much any modern motherboard as this is what enables Dual Channel mode which can (under some circumstances) dramatically increase performance. Also, some high end motherboards support Triple channel and Quad channel memory which means that for optimum results, you will install the ...


18

You can get this via WMI: wmic OS get OSArchitecture Example on my system: C:\>wmic OS get OSArchitecture OSArchitecture 32-bit


18

The trend towards multiple cores is an engineering approach that helps the CPU designers avoid the power consumption problem that came with ever increasing frequency scaling. As CPU speeds rose into the 3-4 Ghz range the amount of electrical power required to go faster started to become prohibitive. The technical reasons for this are complex but factors like ...


17

Why do you think the manufactures are actually lowering the clock speed by only comparing two processors? The 6272 has a Turbo Speed of 3Ghz. The lower base speed is just for lowering average wattage and keeping a acceptable TDP for a workloard when all cores are stressed. AMD's next high performance chip for desktop the FX-9590 will hit 5 Ghz. Also ...


16

Here's the SATA data & power pinouts. Remember, SATA is a serial bus. This means data transfer only needs two paths -- TX (transmit) and RX (receive). In the case of SATA, there's actually 2 pins for each (a TX+ and TX-, and a RX+ and RX-); this is called twisted pair and (just like in twisted pair Ethernet) allows for longer wire runs with less noise ...



Only top voted, non community-wiki answers of a minimum length are eligible