There are many types of computer architectures:
- Quantum computer vs Chemical computer
- Scalar processor vs Vector processor
- Non-Uniform Memory Access (NUMA) computers
- Register machine vs Stack machine
- Harvard architecture vs von Neumann architecture
- Cellular architecture
[edit] Computer architecture topics
[edit] Sub-definitions
Some practitioners of computer architecture at companies such as Intel and AMD use more fine distinctions:- Macroarchitecture — architectural layers that are more abstract than microarchitecture, e.g. ISA
- Instruction Set Architecture (ISA) — as defined above
- Assembly ISA — a smart assembler may convert an abstract assembly language common to a group of machines into slightly different machine language for different implementations
- Programmer Visible Macroarchitecture — higher level language tools such as compilers may define a consistent interface or contract to programmers using them, abstracting differences between underlying ISA, UISA, and microarchitectures. E.g. the C, C++, or Java standards define different Programmer Visible Macroarchitecture — although in practice the C microarchitecture for a particular computer includes
- UISA (Microcode Instruction Set Architecture) — a family of machines with different hardware level microarchitectures may share a common microcode architecture, and hence a UISA.
- Pin Architecture — the set of functions that a microprocessor is expected to provide, from the point of view of a hardware platform. E.g. the x86 A20M, FERR/IGNNE or FLUSH pins, and the messages that the processor is expected to emit after completing a cache invalidation so that external caches can be invalidated. Pin architecture functions are more flexible than ISA functions - external hardware can adapt to changing encodings, or changing from a pin to a message - but the functions are expected to be provided in successive implementations even if the manner of encoding them changes.
[edit] The Role Of Computer Architecture
[edit] Computer Architecture: The Definition
The coordination of abstract levels of a processor under changing forces, involving design, measurement and evaluation. It also includes the overall fundamental working principle of the internal logical structure of a computer system.It can also be defined as the design of the task-performing part of computers, i.e how various gates and transistors are interconnected and are caused to function per the instructions given by an assembly language programmer.
[edit] Instruction Set Architecture
- The ISA is the interface between the software and hardware.
- It is the set of instructions that bridges the gap between high level languages and the hardware.
- For a processor to understand a command, it should be in binary and not in High Level Language. The ISA encodes these values.
- The ISA also defines the items in the computer that are available to a programmer. For example, it defines data types, registers, addressing modes, memory organization etc.
- Register are high speed storage for numbers that can be accessed by a processor. Data as well as instructions can be in a register.
Memory organization defines how instructions interact with the memory.
No comments:
Post a Comment