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.

Computer architecture is an area of study, research, and engineering of how hardware and software components can be selected, connected together, and operated to perform computations. Computer architecture is variously described as "a set of rules and methods that describe the functionality, organization, and implementation of computer systems" (Wikipedia topic Computer architecture) or as "a specification detailing how a set of software and hardware technology standards interact to form a computer system or platform" (Techopedia topic Computer architecture) or as "software standards, hardware instructions and technology infrastructure that defines how computer systems, platforms and programs operate" (Best Choices Schools What is Computer Architecture).

Questions using this tag would typically involve questions about computer design:

  • the hardware components of a computer and why those components are chosen

  • how hardware components are electrically connected and why connected in those ways

  • how the software of a computer is organized and the relationships between software and hardware

  • technology changes and how those changes influence computer design

60 questions
76
votes
7 answers

Are stacks the only reasonable way to structure programs?

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 systems that work without a stack? If so, how do…
14
votes
9 answers

How does understanding computer architecture help a programmer?

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 efficiently on a real machine I'm asking to more…
4
votes
1 answer

Floating Point representation -128+127 = -1 = 1111 1111

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 using hardware. 1.0 * 2^-128 biased exponent =…
2
votes
1 answer

Is a CPU a computer?

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? Please clarify, thanks. EDIT: I read here:…
1
vote
1 answer

Distributed System or not?

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 (framework Flask) via REST Api and as DB MongoDB. If it…
-3
votes
1 answer

why aren't the instruction pointers saved in little endian?

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 RETURN ADDRESS it didn't seem like it was written…