Difference between computer architecture and computer organization
This is a commonly asked question that sadly confuses many computer science students. Confusion comes from the fact that the literal meaning of the two terms is very close. Also, the historical context of the two terms does not help much as different people use the terms differently.
Computer Organization | Computer Architecture |
---|---|
Often called microarchitecture (low level) | Computer architecture (a bit higher level) |
Transparent from programmer (ex. a programmer does not worry much how addition is implemented in hardware) | Programmer view (i.e. Programmer has to be aware of which instruction set used) |
Physical components (Circuit design, Adders, Signals, Peripherals) | Logic (Instruction set, Addressing modes, Data types, Cache optimization) |
How to do ? (implementation of the architecture) | What to do ? (Instruction set) |
Computer Architecture and Computer Organization Examples
- Intel and AMD make X86 CPUs where X86 refers to the computer architecture used. X86 is an example on a CISC architecture (CISC stands for Complex Instruction Set Computer). CISC instructions are complex and may take multiple CPU cycles to execute. As you can see, one architecture (X86) but two different computer organizations (Intel and AMD flavors).
- nVidia and Qualcomm on the other hand make GPUs (graphics processing unit as opposed to a CPU central processing unit). These GPUs are based on the ARM (Advanced RISC Machines) architecture. ARM is an example on a RISC architecture (RISC stands for Reduced Instruction Set Computer). Instructions in an ARM architecture are relatively simple and typically execute in one clock cycle. Similarly, ARM here is the computer architecture while both nVidia and Qualcomm develop their own flavor of computer organization (i.e architecture implementation)
Summary
Can we tell the difference between computer architecture and computer organization in one line ? Here is my take on that:
Computer architecture roughly refers to instruction set design while computer organization refers to the corresponding circuit design. Feedback is welcome. Please use the comments section below. Thanks for reading.
Difference between computer architecture and computer organization PDF
You can find this article in PDF format here
About Author
Mohammed Abualrob
Software Engineer @ Cisco
Best Difference with awesome explanation !
wow! Really I appreciate how easy you explained to me. You made my day wonderful.
really helpful.
wow! great explanation
very helpful, thanku