12

I have many questions about computer hardware architecture, but I'm not sure where I ought to ask them.

I have no experience with electronics.
I have no experience with assembly (modern) or other low level programming languages.
I am a self-learning computer enthusiast, who wants to know how one exactly works and simulate some.

Examples:

  • How do computers set a register to a constant value?
  • How is X-bit CPU architecture defined?
  • How is HDDM (not RAM) accessed and addressed?

Got first two answered in Stack Overflow, but people said that they were off-topic and only loosely related to assembly, because guys who do assembly might know the answer. And they gave me links to Super User and Electronics.

Electronics? Any terms like "voltage", "resistance", "transistor" and so on would kill me (logic gates, RAM chips, registers, clock and similar stuff is OK.)
Super user? It seem more like it, but I saw the questions and they are more about general stuff, not fundamentals.

Maybe someone knows a perfect site for questions like that?

EDIT: I know how one works; I want to improve my knowledge. How have I gotten so far? Minecraft. Those youtube tutorials gave me great fundamentals, but now I want something more complex!

  • 5
    If you want to know how a computer works but even the word voltage "kills" you - will make it difficult. – juergen d Aug 20 '13 at 10:23
  • I designed my own computer and I know how it works with that. I want to dig deeper. To improve it. Replace ROM with HDDM (I don't know how it should be addressed and accessed), use carry look-ahead adders instead of ripple-carry adders (don't know how they work) and so on... – Mark Miller Aug 20 '13 at 10:25
  • What does "minecraft" have to do with anything? – Cody Gray Aug 20 '13 at 10:32
  • With minecraft, I was able to study CPUs with no knowledge of electronics, at the level of logic gates. – Mark Miller Aug 20 '13 at 10:34
  • 3
    Seems like EE should be right up your alley. If voltage and resistance make you nervous, take a basic electronics class. – user102937 Aug 20 '13 at 18:49
  • "How do computers set a register to a constant value?" The computer has a program counter that points in memory to the next instruction the computer is meant to execute. When it reads the instruction it decodes it. There are instructions that say, "Put a literal value into a specific register". Those instructions have the literal value embedded in them, or tell the processor that the next memory space the program counter points to isn't actually an instruction, but the literla value itself. The CPU looks at the literal value, and modifies the register so it matches. – Pollyanna Jan 15 '14 at 15:54
  • How Computers Work – AakashM Jan 15 '14 at 15:56
  • "How is HDDM (not RAM) accessed and addressed?" A portion of the computer's memory space is set aside for peripherals. So there's a series of memory addresses that aren't actually memory, but registers in another sub-processor that controls the hard drive. By writing commands to these registers the CPU tells the sub-processor to take data from the hard drive and put it into memory. The sub-processor then instructs the hard drive to start reading the data, and when it provides the data, the sub-processor takes control of the memory bus and copies that data into memory. – Pollyanna Jan 15 '14 at 15:56
  • possible duplicate of Which computer science / programming Stack Exchange do I post in? – gnat Jan 15 '14 at 18:30
  • @gnat While that question is related, it doesn't address electronics or low-level computer architecture, so its answer(s) don't actually solve this question's problem enough to call it a duplicate. – Pollyanna Jan 15 '14 at 19:14
  • @AdamDavis you have a point (retracted my dupe-vote) – gnat Jan 15 '14 at 19:15
8

There are currently 3 open sites you'll have to use to answer your questions, and deciding which one is correct for a given question depends as much on how you present the question as it does on the question itself.

Computer Science

https://cs.stackexchange.com/

This site may be of most use to you. You'll be able to discuss a lot of computer architecture questions and they will be able to answer them. They are more focused on the theory of computer science, and not terribly interested in the hardware aspects of it, but I suspect they'll be great for questions which the next two sites don't want. Try to frame your questions so they can be answered by computer theory explanations, discrete math, logic, algorithms, etc.

Electronics

https://electronics.stackexchange.com/

You'll find that very low level questions about computer architecture will have an audience here. The problem will be writing the question so it's clearly about how the processor works internally, rather than how to run a piece of code on it. Try to frame your questions so that they can be answered with a schematic, logic gate diagram, soldering iron, or even VHDL/Verilog.

Stack Overflow

https://stackoverflow.com/

As you've found out, there are many experts here that can answer your questions, but they are software people, not hardware people, so if you ask a question you have to present it as one where an answer involving code will solve your problem. If you just want an explanation, you'll have to present code that demonstrates what you need explained, and then ask why it works the way it does. Try to frame your questions so they can be answered by code examples, or explanations of code execution.

  • 1
    That Computer Architecture proposal seems a bit narrow, although I am surprised by the breadth of the example questions. On another note, "Is the 68K still brilliant in design chic?" -- Score of 10, what the hell? – user102937 Jan 15 '14 at 19:23
  • The Area 51 Computer Architecture proposal failed (I think one proposed only a couple of years earlier also failed) before reaching the commitment phase. There is a C.A. and Operating Systems proposal, but since the Operating Systems proposal is in commitment the CA&OS proposal is likely to fail. – Paul A. Clayton May 7 '14 at 16:00
2

Are you expecting to dig deeper without learning any new terminology? I realise Electrical Engineering and its related terms can sound intimidating, but all of these terms do have definitions, and it does seem to be the way your study is taking you.

Is it possible that you will ask some basic question that will be closed or downvoted? Sure, but you can learn from that too. And as long as you're relatively polite and ready to learn, as long as you don't use your inexperience as an excuse to ignore an answer you do not quite understand, I doubt they will hold that against you too much.

The FAQ includes the line:

Consumer electronics such as media players, cell phones or smart phones, except when designing these products or modifying their electronics for other uses.

They may disagree, but I would say your questions fall under design or modification.

From the front page, emphasis added:

Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts.

It is a site for professionals first, but that does not mean there is no place for beginners.


Having read your questions, the first one might be a better fit for Super User, but the second falls directly under (I think, I am also a little out of my depth):

The writing of firmware for bare-metal or RTOS applications.

Which isn't to say that those questions can't be asked on Stack Overflow, but this might be the better place to get a more detailed answer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .