Questions tagged [computer-architecture]

Computer architecture refers to both the design of a computer's external interfaces (instruction sets) and a computer's internal implementation (microarchitecture). The goal of these design decisions is to optimize speed, power efficiency, size, or cost while satisfying constraints on the rest.

Interface

A computer's instruction-set architecture (ISA) is the interface between its hardware and software. The ISA describes the assembly language used to program the machine, and the bit encodings used to represent the assembly instructions in memory. The ISA is a complete specification of the programmer-visible state (registers, memory, I/O interfaces), the operations (instructions) available for changing the programmer-visible state, the implicit and explicit operands to the instructions, and the programmer-visible state changes caused by asynchronous events (interrupts).

Examples of instruction-set architecture reference manuals are:

Implementation

A computer's microarchitecture, or organization, is the implementation of its interface. The microarchitecture may have substantially more state, in the form of caches, pipeline registers, speculation buffers and predictors, than is visible through the ISA. Microarchitectural design techniques include reuse (e.g., caching), speculation, and parallelization.

While a computer's microarchitecture is not directly visible to the programmer, two computers with the same ISA, implemented in the same technology, but with different microarchitectures, may have an order of magnitude difference in performance, power efficiency or cost for a given application.

551 questions
36
votes
9 answers

Why is the Digital 0 not 0V in computer systems?

I'm taking a computer system design course and my professor told us that in digital systems, the conventional voltages used to denote a digital 0 and a digital 1 have changed over the years. Apparently, back in the 80s, 5 V was used as a 'high' and…
Anirudh Ajith
  • 503
  • 1
  • 4
  • 4
20
votes
10 answers

What do we mean when we say something is done "in hardware" versus "in software"?

Describing a specific operation as being done "in hardware" versus "in software" in a given computer system is common. For example, simple computer systems (I am assuming) might not have hardware for division. What do we really mean by this…
EE18
  • 1,131
  • 10
  • 24
6
votes
1 answer

Choice of number of chip select pins in a RAM

I was going through Mano's "Computer architecture " , in chapter memory organization they have used a RAM chip with 2 chip select pins CS1 and CS2' but i can't think of the reason why , all the chip select features can also be implemented by using…
Namit Sinha
  • 163
  • 1
  • 6
5
votes
2 answers

How Is Context Switching Done In Hardware?

I have a question about how process state would be saved during a context switch. Given a relatively simple design for a CPU using von Neumann style architecture, how is the process image saved without overriding some of that state in the…
Jack
  • 185
  • 5
5
votes
6 answers

"Halt and Catch Fire" BIOS cloning scene unrealistic?

The first episode of the TV series "Halt and Catch Fire" (inspired by the early days of Compaq) has two characters starting to clone the IBM PC BIOS in 1983 by creating a circuit that would display the binary contents of an address with lights, one…
4
votes
2 answers

Booth multiplication algorithm, why it works?

Just learned about Booth's multiplication algorithm, and from what I understand if the multiplier least significant bit (MLB) is equal to the previous significant bit in that multiplier (MPLB) then we perform right shift. If MLB>MPLB then the…
Stupid
  • 41
  • 1
  • 2
3
votes
1 answer

Why is wave pipelining so rarely used?

Wave pipelining (a technique of removing latch overheads by having two or more "waves" propagate through a multi-cycle pipeline stage) has been used in the past for pipelining cache access (HP PA-7000?). Although this design technique has issues…
user15426
2
votes
1 answer

Memory Organization in Computer

How is memory stored in a computer? Is it 1 bit per address so in order to get the value of an integer (32 bits) it must go through 32 addresses, get all the bits of 0's and 1's? I am a bit confused since I am reading a book on computer organization…
theta
  • 23
  • 2
2
votes
2 answers

Which bus protocol(s) does a motherboard use to connect to RAM?

I'm trying to learn about the protocols busses use in computer engineering and so far I've learned about the CAN bus protocol, where you can even watch traffic on the busses with wireshark, but this is typically used in cars and some micro-chips.…
J.Todd
  • 223
  • 2
  • 8
2
votes
2 answers

What does "Cycle \$\mu\$s" mean in this context?

I'm reading a paper about the architecture of the IBM system/360. There is a diagram which lays out the machine structure and implementation in the storage and control tables there is a metric which I don't understand which is Cycle \$\mu\$s: What…
KetDog
  • 123
  • 5
2
votes
2 answers

Why is a Flush needed in the MSI cache coherency protocol when moving from Modified to Invalid?

While studying the MSI protocol as described in different sources such as: https://en.wikipedia.org/w/index.php?title=MSI_protocol&oldid=941977299 http://courses.csail.mit.edu/6.888/spring13/lectures/L7-coherence.pdf they say that when moving from…
2
votes
1 answer

clarification about amdahl's law

A system is designed as a cascade of of 4 subsystems, each contributing the same amount of time to the average service time of the system. If we wish to increase the speed of the system by a factor of 2 by reducing the service time of each…
user1068636
  • 715
  • 2
  • 9
  • 19
2
votes
1 answer

Calculating range of two's complement

This is a computer architecture question given in our college syllabus and i was finding difficulty in solving it. Calculate the range of a 16-bit 2's complement number system for representing both signed and unsigned integers. Please guide me.
Avnish Gaur
  • 245
  • 1
  • 3
  • 10
2
votes
3 answers

Sequential Circuits

I'm learning about sequential circuits, and it's driving me crazy. How can you use an output as input, what was it's value at time 0? It can't go on forever...
David
  • 245
  • 1
  • 2
  • 8
2
votes
1 answer

What happens if a process needs more pages than number of entries in page table?

I am having a little trouble understanding the concept of paging. Below is a simple example to illustrate my question. Suppose main memory has 128 bytes, organized into 32 pages of size 4 bytes each, and the page table has 8 entries. A process…
Masked Man
  • 183
  • 1
  • 6
1
2 3 4