<Li> Data processing other than the CPU, such as direct memory access (DMA) </Li> <Li> Other issues such as virtualization, multiprocessing, and software features . </Li> <P> There are other types of computer architecture . The following types are used in bigger companies like Intel, and count for 1% of all of computer architecture </P> <Ul> <Li> Macroarchitecture: architectural layers more abstract than microarchitecture </Li> <Li> Assembly Instruction Set Architecture (ISA): A smart assembler may convert an abstract assembly language common to a group of machines into slightly different machine language for different implementations </Li> <Li> 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 . </Li> <Li> UISA (Microcode Instruction Set Architecture)--a group of machines with different hardware level microarchitectures may share a common microcode architecture, and hence a UISA . </Li> <Li> 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 . </Li> </Ul>

Who proposed the architecture of the computer system