Memory capacity of a RAM [closed] - cpu-architecture

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
If a RAM has 32 bits in its MAR(memory address register) and its MDR (Memory data register) is 16 bits wide, then what is the capacity of RAM.
My probable solution is that it can address upto 2^32 locations.

Your solution is incorrect. The question is what the capacity is, not the number of addressable locations. Your answer should be measured in units of storage (e.g, bits, bytes, or their multiples).
Since this is clearly a homework problem, I'm not going to give an exact answer. But I will point you in the right direction by asking some additional questions:
What is the memory data register used for? (Refer to your textbook if you're not sure.)
What is the capacity of the memory data register? (The answer is in the question. Don't think about it too hard.)
With that in mind, what is the capacity of the memory?

Yes, that sounds right. If a microprocessor or CPU has a memory address register with a size of 32 bits, it can access 232 locations, as 32 binary bits used in combination allow you to handle 232 different values starting from 0 to 4294967295 (232 - 1).

Related

Division by zero in processor [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 1 year ago.
Improve this question
How exactly does the processor handle this division by zero condition?
A divide by zero condition occurs when in a divide operation the
divisor turns out to be a zero as there is no binary representation for
infinity. The ALU cannot handle it.
Does different processor have different way of handling it?
I am a new at this topic and all the articles on the Internet contradict other.
It depends on the ISA. For example, x86 raises a #DE exception (same as divide overflow when the quotient doesn't fit in one register). ARM doesn't fault, you just get 0 in the destination. Division by zero not causing runtime exception on Nvidia Jetson.
(ARM division instructions only have a dividend 1 register wide, unlike x86 where the dividend is twice as wide as the divisor or quotient. ARM division can thus only overflow on INT_MIN/-1, other than divide-by-zero.)
In terms of an ALU, you have to build one that checks for that and handles it as a special case. What the rest of the CPU's internal logic does
(I'm assuming you mean integer division; FP usually runs with exceptions masked...)
What the OS does with a division exception depends on the OS. But if it's Unix-like, it has to deliver SIGFPE (arithmetic exception) to the offending process. Of course at that point it's no longer CPU-architecture, but software.
On which platforms does integer divide by zero trigger a floating point exception?
Why does integer division by -1 (negative one) result in FPE? (ARM vs. x86 difference)

How to differentiate between Intel Xeon Phi Coprocessors 7120P, 7120X, 7120D, 7120A [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I have a Xeon phi coprocessor 7120P.
When i run micinfo, i see board SKU to be C0PRQ-7120 P/A/X/D.
I notice that the SMC HW Revision states Product 300W Passive CS and i read on tomshardware that P stands for passive cooling for the intel xeon phi familiy devices.
Is this it or is there any other way to tell which device i have on my system 7120 P/A/X or D?
From the specs given on ark.intel.com, all four devices appear to be same.
Can some one elaborate on what are the actual differences between these devices.
The A/P/X/D variants of the Intel Xeon Phi Coprocessor 7120 are different form factors with different cooling. The codes are: A = active, that is, with fan; P = passive, that is, air stream needs to be supplied from chassis fans; D = dense, special form factor for very dense design; X is a special form factor for manufacturers that want to make their individual designs.
The CPU and memory of these coprocessor versions is the same in all four cases.
Cheers,
-michael

what numbers should I use for Letter, Legal and A4? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I need to print reports and I'm not able to fit the report in the page. I'm not sure about the units used. I know the default values are width 595 and height 842, but i don't know in what units are this magnitudes. Can someone help me on this or tell me what numbers should I use for Letter, Legal and A4 ??
I've seen those units before in applications like Illustrator and they are in pixels or points. either one yields the same number as far as I've seen.
Letter: 612 pt x 792 pt (w x h)
Legal: 612 pt x 1008 pt
A4: 595.28 pt x 841.89 pt

Bruteforce random 64character string [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 8 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Improve this question
I've got a computer generated sha256 hash of which I need the original value.
I know the value is a random 64 character string of alphanumerical, lower and uppercase, numbers and underscores + dots.
Would it be possible in a reasonable amount of time to bruteforce this?
There are 64 possibilities in 64 positions giving a total or 64 to the power of 64 combinations which is 3.9402006196394479212279040100143613805079739270 × 10^115
So no. Even if you had every computer on earth working on it for 1,000,000 years you still wouldn't be close

how a 32bit processor can address 4 gigabytes of memory [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
I didnt understand this because 2^32 is 4 giga bits not bytes right ? since 2^2 * 1024* 1024* 1024 bits right ? Am I wrong ?
The smallest individually addressable unit of memory is a byte. Bits don't have addresses. You have to read a byte or more and then do bit masking and such to get at the individual bits.
As far as i can recall from my college days, this is how it goes
If 32 = size of the address bus, then the total number of memory addresses that can be addressed = 2^32 = 4294967296
However, these are 4294967296 Addresses of memory locations. Since each memory location itself = 1 Byte, hence this gives us 4294967296 bytes that can be addressed.
Hence 4GB Memory can be addressed.
No, it is Gigabytes. A byte has 8 bits so you have to multiply the resulting number by 8 to get the bits. As john said in his answer you cant address individual bits, you will have to do bit shifting and masking to get to individual bits.
In the old console days SNES and Megadrive games were measured in MegaBits because by definition an 8MegaBit game sounds bigger than a 1 MegaByte game. In the end most people said 8Megs so again the confusion gave the impression of 8Megabytes for most people. Im not sure if brett is talking about SNES or Megadrive programming but remember 8 Megabits = 1 Megabyte.
the above answer solves it, and if you wish to address more then 4 gb then you can use an offset memory register, that can help you address a wider range.