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.

534 questions
65
votes
12 answers

How can we be sure that computers will never accidentally switch a 0 by a 1?

I've read a bit about the construction of a digital computer in Shocken/Nisan's: The Elements of Computing Systems. But this book says nothing about certain electrical aspects in computers, for example: It's often said that 0's and 1's are…
Red Banana
  • 767
  • 1
  • 6
  • 7
51
votes
8 answers

Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

While looking at SATA, PCIe, USB, SD UHS-II it struck me that they are all the same: digital serial bitstream, transmitted using differential pairs (usually 8b/10b coded), with some differences in link/protocol layers. Why so? Why did this become…
artemonster
  • 682
  • 5
  • 11
50
votes
5 answers

How can a CPU deliver more than one instruction per cycle?

Wikipedia's Instructions per second page says that an i7 3630QM deliver ~110,000 MIPS at a frequency of 3.2 GHz; it would be (110/3.2 instructions) / 4 core = ~8.6 instructions per cycle per core?! How can a single core deliver more than one…
davide
  • 603
  • 1
  • 5
  • 5
46
votes
8 answers

Why are NAND gates used to make AND gates in computers?

Why is this a standard for AND gates when it could be made with two FETs and a resistor instead?
theonlygusti
  • 577
  • 1
  • 4
  • 7
45
votes
5 answers

How can cache be that fast?

Here is a screenshot of a cache benchmark: In the benchmark the L1 cache read speed is about 186 GB/s, with the latency being about 3-4 clock cycles. How is such a speed even achieved? Consider the memory here: the theoretical maximum speed is 665…
Knight
  • 613
  • 1
  • 5
  • 8
40
votes
6 answers

Is analog signal arithmetic faster than digital one?

Would it be theoretically possible to speed up modern processors if one would use analog signal arithmetic (at the cost of accuracy and precision) instead of digital FPUs (CPU -> DAC -> analog FPU -> ADC -> CPU)? Is analog signal division possible…
39
votes
6 answers

Why does Intel's Haswell chip allow floating point multiplication to be twice as fast as addition?

I was reading this very interesting question on Stack Overflow: Is integer multiplication really done at the same speed as addition on a modern CPU? One of the comments said: "It's worth nothing that on Haswell, the FP multiply throughput is double…
Nike Dattani
  • 547
  • 7
  • 22
38
votes
6 answers

Why is open hardware so rare?

I'm trying to understand why open hardware is so much harder to come by than software. I've tried looking around online and I couldn't find as satisfactory explanation. I understand that hardware is so much easier to keep proprietary and so much…
Caustic
  • 537
  • 1
  • 5
  • 9
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
  • 4
  • 4
36
votes
5 answers

What exactly does ARM sell to vendors?

Assumptions: Computer architecture: Describes how the different modules of a processor interact with each other. A computer architecture is defined using vhdl files Computer Organization: Describes the physical layout of the processor modules on…
aiao
  • 531
  • 4
  • 12
30
votes
7 answers

Is transistor the only electronic component on a CPU?

I have been reading about CPUs recently and came to know that all logical blocks and memory on CPU can be made out of transistors. So is it the only electronic component on CPU? Edit (Made after first two answers): But the making of CPU only talks…
27
votes
6 answers

Why are relatively simpler devices such as microcontrollers so much slower than CPUs?

Given the same number of pipeline stages and the same manufacturing node (say, 65 nm) and the same voltage, simple devices should run faster than more complicated ones. Also, merging multiple pipeline stages into one should not slow down by a factor…
25
votes
8 answers

What are the advantages of using FPGAs over TTL in intro computer architecture?

I teach the one and only computer architecture course at a liberal arts college. The course is required for the computer science major and minor. We do not have computer engineering, electrical engineering, other hardware courses, etc. My primary…
Ellen Spertus
  • 1,609
  • 4
  • 20
  • 23
24
votes
4 answers

Why do CPU's typically connect to only one bus?

I found a motherboard architecture here: This looks to be the typical layout of motherboards. EDIT: Well, apparently it's not so typical anymore. Why does the CPU connect to only 1 bus? That front-side bus looks like a major bottleneck. Wouldn't it…
DrZ214
  • 1,029
  • 10
  • 19
19
votes
2 answers

How can a CPU dynamically change its clock frequency?

My Intel CPU changes clock speed depending on the usage, but how does it decide what clock speed to run at? Is the clock speed determined by the OS software using an algorithm, or is it hardware based? Is it dependent on the # of interrupts? The…
Chloe
  • 341
  • 1
  • 2
  • 7
1
2 3
35 36