Computer architecture

Subcategories
The discipline of computer architecture has three main subcategories:[6]
- Instruction Set Architecture, or ISA. The ISA defines the machine code that a processor reads and acts upon as well as the word size, memory address modes, processor registers, and data formats.
- Micro architecture, or computer organization describes how a particular processor will implement the ISA. The size of a computer's CPU cache for instance, is an organizational issue that generally has nothing to do with the ISA.
- System Design includes all of the other hardware components within a computing system. These include:
- Data processing other than the CPU, such as direct memory access (DMA)
- Other issues such as virtualization, multiprocessing and software features.
Some architects at companies such as Intel and AMD use finer distinctions:
- Macroarchitecture: architectural layers more abstract than microarchitecture
- Instruction Set Architecture (ISA): as above but without:
- 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.
- 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 hardware functions that a microprocessor should provide to a hardware platform, e.g., the x86 pins A20M, FERR/IGNNE or FLUSH. Also, messages that the processor should emit so that external caches can be invalidated (emptied). Pin architecture functions are more flexible than ISA functions because external hardware can adapt to new encodings, or change from a pin to a message. The term "architecture" fits, because the functions must be provided for compatible systems, even if the detailed method changes.
No comments:
Post a Comment