Computer architecture: Difference between revisions

Content deleted Content added
m Reverted edit by 2601:C8:200:3320:C55F:3566:66BE:1E0F (talk) to last version by Murray Langton
mNo edit summary
Tag: Reverted
Line 3:
[[File:Computer architecture block diagram.png|alt=|thumb|481x481px|Block diagram of a basic computer with uniprocessor CPU. Black lines indicate control flow, whereas red lines indicate data flow. Arrows indicate the direction of flow.]]
In [[computer science]] and [[computer engineering]], '''computer architecture''' is a description of the structure of a [[computer]] system made from component parts.<ref>{{cite web|last=Dragoni|first=Nicole|title=Introduction to peer to peer computing|url=http://www2.imm.dtu.dk/courses/02220/2017/L6/P2P.pdf|website=DTU Compute – Department of Applied Mathematics and Computer Science|___location=Lyngby, Denmark|date=n.d.}}</ref> It can sometimes be a high-level description that ignores details of the implementation.<ref>{{cite book|last1=Clements|first1=Alan|title=Principles of Computer Hardware|page=1|edition=Fourth|quote=Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.}}</ref> At a more detailed level, the description may include the [[instruction set architecture]] design, [[microarchitecture]] design, [[logic design]], and [[implementation]].<ref>{{cite book|last1=Hennessy|first1=John|last2=Patterson|first2=David|title=Computer Architecture: A Quantitative Approach|page=11|edition=Fifth|quote=This task has many aspects, including instruction set design, functional organization, logic design, and implementation.}}</ref>
 
In many ways, computer architecture is the junction between the low-level physical considerations that go into developing a computer and the high-level algorithmic considerations. Computer architects must balance performance, power efficiency, and trends in market demand while adapting to emerging technologies in hardware and software.
 
== History ==