100 likes | 238 Views
Computer Systems. The instruction set architecture. Intel Processors. A stable platform for last decades: 8086 (1978) 8 bits 80186 (1980) 8 or 16 bits 80286 (1982) 16 bits 80386 (1985) 32 bits (33 MHz) Pentium 4 (2001) 32 bits (3.2 GHz). Intel Architecture 32-bit.
E N D
Computer Systems The instruction set architecture Computer Systems – the instruction set architecture
Intel Processors • A stable platform for last decades: • 8086 (1978) 8 bits • 80186 (1980) 8 or 16 bits • 80286 (1982) 16 bits • 80386 (1985) 32 bits (33 MHz) • Pentium 4 (2001) 32 bits (3.2 GHz) Computer Systems – the instruction set architecture
Intel Architecture 32-bit • Each processor was designed to be backward compatible • Co-processor is been integrated • Extra instructions are added for vector manipulation (MMX, SSE, AVX) • Gcc didn’t use these instructions until version 3.1 (May 2002) Computer Systems – the instruction set architecture
2 3 1 0 Y Y Y Y A A A A X & Y X + Y X ^ Y X - Y B B B B X X X X A L U A L U A L U A L U ALU is still the core • Unit that performs arithmetic / logic operations on two inputs Computer Systems – the instruction set architecture
Basic Knowledge • Introduced in ‘Digitale Techniek’ Computer Systems – the instruction set architecture
Timing • For an subtraction, you needed three steps (automated with an sequencer) Computer Systems – the instruction set architecture
Registerfile ALU Micro-instructions int subtract(int invoer1, int invoer2) { return (invoer1 - invoer2); } _subtract: pushl %ebp movl %esp, %ebp movl 12(%ebp), %edx movl 8(%ebp), %eax subl %edx, %eax popl %ebp ret Gcc -S • The ‘invoer’ is moved from memory to two registers (a,d), followed by operation subl Computer Systems – the instruction set architecture
Integer Arithmetic Operations Of the 15 operations, we concentrate on 4 (Y86) Computer Systems – the instruction set architecture
We understand know how the simplest of subroutines is translated in micro-instructions int subtract(int invoer1, int invoer2) { return (invoer1 - invoer2); } _subtract: pushl %ebp movl %esp, %ebp movl 12(%ebp), %edx movl 8(%ebp), %eax subl %edx, %eax popl %ebp ret Conclusion Gcc -S Computer Systems – the instruction set architecture
Assignment • Practice Problem 3.6 • ‘Calculate Word Index’(see Fig. 3.3 page 203) Computer Systems – the instruction set architecture