Skip to main content

Questions tagged [computer-architecture]

Computer architecture is the abstract description and specification of why, what, and how various hardware and software components are combined to create a computing device. This tag should be used with questions about the relationship between components making up a computer, what components are included or excluded in a computer, how components are connected, what data flows over the connections, and why components and connections are good choices.

Filter by
Sorted by
Tagged with
-2 votes
1 answer
365 views

Wikipedia lists over 45 different Instruction Set Architectures. I would bet that most of those are listed for legacy purposes, but I barely have any knowledge on the subject (I'm not even sure if ...
Fabio Freitas's user avatar
-1 votes
1 answer
270 views

I was searching about simulation of artificial intelligence, machine learning and subjects alike and saw the news that some startups around of the world are using analog computers to simulate ...
Fulano's user avatar
  • 117
0 votes
2 answers
146 views

I was reading chapter 1 of the book Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C. (3rd Edition, June 2018) I think the figure 1-6 is incorrect. It says that "...
Nuz's user avatar
  • 51
2 votes
0 answers
180 views

I am trying to understand how branch prediction works, specifically with regards to correlative branch prediction. I understand that in an (m, n) branch predictor, there are m branch predictors, with ...
Adam Lee's user avatar
  • 129
8 votes
3 answers
585 views

My company has its own proprietary software that I have both built and maintained over the last 5 years I am about to release a big change for all of my software to use OAuth2 instead of handling ...
alilland's user avatar
  • 309
1 vote
2 answers
1k views

https://en.wikipedia.org/wiki/Memory_coherence says: Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory.[1]...
Tim's user avatar
  • 5,565
1 vote
3 answers
546 views

I understand that if a system consists of multiple hardware-threads the scheduler assigns software-threads to hardware-threads. However, hypothetically, let's imagine a system that does only consist ...
Matthias Reumann's user avatar
-3 votes
1 answer
326 views

I'm fairly new to architecture and I kinda get little endian wrong sometimes. So In this snippet I overflowed the sub-routine's stack frame just to affect the SAVED RBP and when I looked at the SAVED ...
Michael G's user avatar
3 votes
1 answer
705 views

I need to run software compiled for ARM on my x86 machine. Usually, to do that, you use an emulator like QEMU. I'd like to know why we can't just process the binary for one ISA and compile it to a ...
Peeyush Kushwaha's user avatar
0 votes
1 answer
114 views

I have a use case which will take in data from the front end and transform it with various parameters. Then a random effects model is run on each transformation and multiple models are built For ...
Sre's user avatar
  • 19
-1 votes
3 answers
1k views

In Out of Order execution , what happens if there is a younger store that executes before an older load. Wont the load get the wrong data provided the younger store writes to the same address? I ...
Nirliptha Bangalore's user avatar
37 votes
10 answers
15k views

Recently I've been trying to explain pointers in a visual way, as flashcards. Question 001: This is the drawing of a location in computer memory. Is it true that its address is 0x23452? Why? ...
progner's user avatar
  • 523
1 vote
1 answer
151 views

I am a software developer and I have developed a "software" with the following architecture: the front-end is developed in javascript using VueJs and NodeJS connecting to the back-end in python (...
Massimo Lavermicocca's user avatar
1 vote
1 answer
180 views

This is my first post here and I'm glad to join this great community and I hope to learn a lot here and help if I can(though i am a very beginner). I have a theoretical question: I am trying to add ...
csnoobie's user avatar
7 votes
2 answers
902 views

It's no secret that in the early days of computers, they had only 1-4MB of RAM. I found an article stating you needed only 4MB of RAM to run Word, Excel and PowerPoint simultaneously. How was that ...
Gintas_'s user avatar
  • 195
1 vote
2 answers
329 views

Basically, I am wondering what sort of speed I will get by parallelizing a algorithm to work with GPUs. I am wondering if someone has implemented queueing theory/Amdahl's law with a UI or if everyone ...
Robert Baron's user avatar
  • 1,132
11 votes
1 answer
16k views

I am trying to understand how the Base Address Registers (BARs) in a PCI card work, this is how I think they work: Each function in a PCI card have 6 BAR fields, and each BAR field is 32-bit in size. ...
Christopher's user avatar
  • 2,049
2 votes
1 answer
308 views

This video mentions the following: What does it mean for the DMA controller to be granted the data bus control, does that mean the CPU cannot use the bus to access memory and IO devices until the DMA ...
Christopher's user avatar
  • 2,049
1 vote
3 answers
1k views

Based on what I know so far, when you plug an IO device into an IO port (for example, when you plug a printer into a parallel port), the printer will be represented to the CPU as just another RAM chip....
John's user avatar
  • 247
4 votes
1 answer
6k views

This is an example of Memory-Mapped I/O: So basically you access the device controller registers through memory. Now my question is, when you for example write to the memory location that maps to the ...
John's user avatar
  • 247
1 vote
1 answer
348 views

I am learning about IO devices, and so far I have only seen examples of IO devices that have registers and no memory space. For example, this is a printer that have three registers and no memory space:...
John's user avatar
  • 247
3 votes
3 answers
8k views

I am studying about Memory-Mapped I/O from here. I have read the following: From the CPU's perspective, an I/O device appears as a set of special-purpose registers, of three general types: ...
John's user avatar
  • 247
4 votes
4 answers
21k views

I don't understand the difference between an accumulator-based CPU architecture and a register-based CPU architecture. I know x86 is register-based but it has an accumulator-like register. I only ever ...
Accumulator's user avatar
3 votes
2 answers
930 views

Von neumann architecture allows sequential processing of instructions. So, a single core within a CPU executes instructions sequentially. Consider, OS providing 1-1 threading model(here) in a multi-...
overexchange's user avatar
  • 2,335
0 votes
1 answer
409 views

On some machines the operation of data path between ALU and registers is controlled by microprogram . On some machines , it is controlled by hardware .On machines with software control of the data ...
radhika's user avatar
1 vote
1 answer
74 views

In my application I have to consume data from an API, do some processing and then store the data retrieved from the API in my own database. Should I have multiple Data Mappers? One for the API and ...
Lucas Piske's user avatar
78 votes
7 answers
11k views

Most architectures I've seen rely on a call stack to save/restore context before function calls. It's such a common paradigm that push and pop operations are built-in to most processors. Are there ...
ConditionRacer's user avatar
4 votes
4 answers
7k views

Why are most computers byte addressable instead of bit addressable? By B/b addressable I mean that processor can operate on level of single B/b. Bit addressable advantages: Booleans have size of one ...
Ford O.'s user avatar
  • 223
1 vote
3 answers
2k views

Typically for a single instrcution, 6 machine cycles are needed: FETCH instruction DECODE instruction EVALUATE ADDRESS fetch OPERANDS EXECUTE oepration STORE result My concern is regarding the fifth ...
AhmedWas's user avatar
  • 147
9 votes
1 answer
355 views

Wadler's original paper on Monads for Functional Programming ( Haskell ) ,he says Another question with a long history is whether it is desirable to base programs on array update. Since so much ...
Asterisk's user avatar
  • 353
4 votes
1 answer
1k views

We know that Charles Babbage designed the first Turing-complete mechanical machine - the Analytical Engine - in the 1800s, but it was never actually built (not yet anyway). In recent history, at ...
joeytwiddle's user avatar
0 votes
1 answer
167 views

I want to understand how the theoretical foundations of computation relate to real-world computers. As far as my knowledge goes, Turing machines, recursive functions, finite state machines, lambda ...
Wesley's user avatar
  • 439
4 votes
1 answer
1k views

While reading Computer Architecture by Patterson (page 194) I got this question. IEEE 754 uses 127 as bias for single precision floating point so that it will be easy to compare floating point numbers ...
prashant singh's user avatar
1 vote
1 answer
616 views

I'm trying to understand the relationship between "common" MCUs/CPUs such as Intel, AMD, PowerPC, AVR, ARM, etc. and FPGAs and ASICs. Here is my understanding: These commons MCUs/CPUs (again, Intel, ...
smeeb's user avatar
  • 4,970
0 votes
0 answers
73 views

Why is the access time of the cache memory lesser than the access time of the main memory? I have tried looking at the sites as - tutorialspoint.com, education-portal.com etc. I know that the ...
Yashna's user avatar
  • 9
2 votes
1 answer
120 views

Provided that my code is fully standards compliant with no undefined behaviour, how can I best assure that it will be possible to cross-compile my software for any architecture? I had some ideas, but ...
Janus Troelsen's user avatar
2 votes
2 answers
1k views

Some programing languages, notably Pascal, have a type of numbers called "real". However, mathematically speaking, these types aren't real. For them to be "real", these types have to be able to ...
Niccolo M.'s user avatar
12 votes
2 answers
3k views

All programs I have seen organize their data memory into one or more call stacks (usually fixed size, but sometimes not), the heap, and static memory. Lately thread-local static storage has been ...
ikh's user avatar
  • 958
5 votes
2 answers
2k views

Why is there no exponentiation operation in hardware, even though many languages have builtin operators for it? Is it because even hardware implementations would need to use the same algorithm as ...
user1358's user avatar
  • 341
19 votes
2 answers
23k views

I learnt some about pipelining but those were 4-stage and 5-stage and I think that modern pipelining typical is much longer and more complicated in practice. How long are typical pipelines and how ...
Niklas Rosencrantz's user avatar
4 votes
2 answers
6k views

Is flat addressing model generally superior to a segmented one? If so, why? If not, what instances would call for each over the other and why? My understanding of memory models surrounds the IA32/x86-...
user avatar
2 votes
1 answer
2k views

I study multicore pipelining and the diagrams are not UML sequence diagrams for instance Why not remake this diagram like an UML sequence diagram, would not that be more clear so that we can see both ...
Niklas Rosencrantz's user avatar
7 votes
1 answer
493 views

Most modern languages make a heavy use of pointers / references: a typical OOP language uses VMT lookups, a typical functional language builds key data structures out of pointers, etc. Even typical C ...
9000's user avatar
  • 24.4k
2 votes
1 answer
352 views

I read that a computer is made up of the CPU and the memory. I also read that the CPU itself contains a cache which is memory. So if the CPU itself contains the memory, isn't the CPU a computer? ...
Moses Garza's user avatar
2 votes
1 answer
285 views

When Aiken devised the Mark I, why did he decided to separate data and instructions? It was not mentioned in Wikipedia (or in any other searches I've looked) on how or why Aiken separated data and ...
Zik's user avatar
  • 121
4 votes
2 answers
773 views

Reading about ARM architecture I found many similarities to PDP-11 architecture which did not exist between ARM and x86. For example, General-purpose registers named Rx compared to AX, BX,... for x86 ...
Anixx's user avatar
  • 141
14 votes
9 answers
30k views

It is said, by Mike P. Wittie, in the course curriculum of computer architecture that, Students need to understand computer architecture in order to structure a program so that it runs more ...
Varaquilex's user avatar
8 votes
1 answer
7k views

I'm interested in how operating systems work. I've been reading some articles about Linux and seem to understand how it all generally comes together, but I feel like there's a chicken and egg dilemma ...
Leo's user avatar
  • 191
1 vote
2 answers
612 views

I understand that computers are basically a complex system of electrical signatures that can calculate based on logic boards, and some sort of gate mechanism, but how do computers process something ...
Evan Mosseri's user avatar
7 votes
3 answers
716 views

Edit: Comments suggested, that DSM just faded out by being not used recently. What were the reasons for this, what are DSMs drawbacks? Literature lists many positive aspects like easy to port ...
sinned's user avatar
  • 121