Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am not a CS student. I have tried many times to understand what computer architecture means, including reading its wikipedia article, but still haven't got clear understanding.

Besides directly explaining its meaning and purpose, I think it will also be helpful if the following questions can be addressed:

  1. what relations and differences are between computer architecture and organization?
  2. what relations and differences are between computer architecture and operating system?
  3. what relation and differences are between computer architecture and abstract computing models such as Turing machine?
  4. are SISD, MIMD, SIMD and MISD considered computer architectures? Are parallel computing and distributed computing systems considered computer architectures?

Thanks and regards!

share|improve this question
2  
I voted to close as NARQ because you're asking many open-ended questions at once, and it's a very broad topic. You might want to tell us what you already know and what exactly you don't understand, i.e. what you want to hear apart from the content of Wikipedia. I guess they have a lot of good articles on computer architecture. –  slhck Jun 7 '11 at 23:09
    
What are some good articles? Also are there some other good references? –  Tim Jun 7 '11 at 23:21
    
What brought me enlightenment and was also delightful and exciting to read is chapter One of Hennessy and Patterson: Computer Architecture. –  artistoex Dec 4 '11 at 23:23
add comment

closed as not a real question by slhck, Linker3000, Patches, Ignacio Vazquez-Abrams, Sathya Jun 8 '11 at 5:49

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

It's a good question, actually, but probably no satisfying (to the critics) answer. I've got 3-4 books on the shelf here with the term "computer architecture" in the titles, but you'd not find a lot of similarity between them, and over the years I can recall many discussions (arguments) as to what "architecture" means and whether or not the term really can be applied to computers.

Having been (unofficially) a "computer architect" several times in my career, though, I can probably offer some general thoughts on the topic (and I will, if I don't get too bored first, and if this doesn't get censored for some reason).

First off, the term "computer architecture" can be applied at several different levels of abstraction. Generally at the lowest level -- gates and flip-flops -- the term "architecture" is not used, since "architecture" itself implies some degree of abstraction. But one level up -- at the level of buses and registers -- the term begins to apply. And it applies at successive levels -- RISC vs CISC, register vs stack, bus vs switch. And, as machines get more and more complex, it applies to additional levels such as memory subsystems, processor arrays, etc.

This really is very much like how building architecture may be thought of: The basic design of a 100 floor skyscraper may be summarized in a single drawing -- that's architecture. Or the design of the entrance may be expressed in a detailed drawing that is accurate to a fraction of an inch -- architecture again, with many possible layers in-between.

Getting back to those arguments -- I mean discussions -- we had years ago, the most satisfactory answer I ever heard of the meaning of "architecture" is that it's an expression of the THOUGHT that goes into a structure. There are structures (including both buildings and computers) which appear to not have involved much thought, and the "designs" of these therefore are not expressions of "architecture". An architecture expresses (and to some degree explains and justifies) the thought that went into a design.

As to the specific questions: 1) I'm not sure what you mean by "organization" 2) Since architecture is expressed at different levels there often is a level which expresses the "union" of the hardware and operating system, and there are even (a precious few) operating systems that can themselves be said to have an "architecture" 3) Generally an abstract computing model is not an "architecture", but an architecture may "reference" an abstract computing model as a way of expressing a design. 4) SISD, MIMD, SIMD, MISD, parallel, distributed are all terms that may be used to describe an architecture, but by themselves (absent the thought that gives real meaning and context to the terms) they are not architectures.

(Can I give any references to support the above? Probably could dig up one or two, but someone else could dig up contradictory references. It really boils down to opinion and who you believe.)

share|improve this answer
    
Thanks! Really appreciate your reply. Could you give some references if possible? –  Tim Jun 8 '11 at 3:19
    
'Fraid not. The couple of halfway decent texts I have are still packed away from when I moved out of my office two years ago. Browsing Amazon I'm reminded that Hennessy and Patterson, together and separately, have written some moderately OK stuff, as has Organick (though I can't vouch for any of their more recent work). "Computer Structures: Readings and Examples" by Bell and Newell is a classic, but it was woefully out of date 40 years ago, and only obliquely addresses "architecture". –  Daniel R Hicks Jun 8 '11 at 11:10
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.