Computer architecture can be defined as the art of gathering the logical constituents into a computing device. In other words we can also say that computer architecture is basically concerned about the way a computer system is designed and the technologies that are most suitable for it. Von Neumann is considered to be an excellent example of computer architecture and is used by majority of the computers in the present times. Actually it describes the entire design of the electronic computer along with its CPU and includes various elements such as arithmetic logic unit, registers, control unit, memory, and external storage functions etc.
There are few main types of computer architecture which includes accumulator machines, stack machines, and load-store machines. AC or accumulator machine is the type of computer architecture which is considered to be virtually disused and the example of it is EDSAC. The regular instruction pattern of the accumulator machines helps in the fast decoding, but as compared to other types of computer architecture, accumulator machines demands more instructions. On the other hand, the stack machines are quite same to that of accumulator machines and the only difference is that the single accumulator is substituted by a mass of registers.
The third types of computer architecture are of load or store machines which apparently look like that of stack machines. The only difference is that in store machines, any kind of register can be chosen to render operands for the instructions. This type of architecture is also known as register and the operands often come from the memory into this pattern. Currently, the most commonly used type of computer architecture is of load or store architecture. Typically, the instructions in the load architecture often consist of almost three operands.
Another type of computer architecture is of system design, which consists of almost all the hardware elements in the system. In addition, it also includes data paths, memory controllers, and many other things such as multi-processing and virtualization etc. ISA or instruction set architecture is the type of computer architecture that is considered to be an engrafted programming language of the CPU or central processing unit. This architecture is quite helpful in determining the function of the CPU and its capabilities based on the type of programming it can perform. These capabilities include the size of the word, types of processor register, various modes of memory addressing, data formats, and the set of instructions used by the programmers.
Another type of computer architecture is named as micro architecture which is also known as computer organization. This kind of computer architecture in fact determines the data processing, data paths, and several storage constituents. In addition, it is also very helpful in providing information about the ways these elements could be implemented in the ISA.
Computer architects make usage of different types of computers in order to design new type of computers. In computer architecture, the main emphasis is on the logical pattern, computer pattern, and the system pattern. In the same way, it is mainly concerned with the behavior as well as the structure of the computer as seen by the user.