This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
– Wrote a report on the stored program concept, known as the First Draft of a Report on EDVAC
– also Alan Turing… Konrad Zuse… Eckert & Mauchly… The basic structure proposed in the draft became known as the “von Neumann machine”
(or model). – a memory, containing instructions and data – a processing unit, for performing arithmetic and logical operations – a control unit, for interpreting instructions
Complex instruction set computer architecture (CISC) – Many different instructions with many different formats
But, only small subset encountered with Linux programs – Hard to match performance of Reduced Instruction Set Architectures (RISC) – But, Intel has done just that!
In terms of speed. Less so for low power.
Evolutionary design – Backwards compatible to the 8086, introduced in 1978 – Open architecture: 3rd party suppliers for all sorts of external hardware and
Name Date Transistors Clock rate 8086 1978 29K 5-10 MHz
– First 16-bit processor. Basis for IBM PC & DOS – 1MB address space – 8088: slight modification of 8086 chip used in IBM PC – Quickly dominated personal computer market in sales via IBM PC
Name Date Transistors Clock rate 80386 1985 275K 16-33 MHz
– First 32 bit processor , referred to as IA32 architecture – Added “flat addressing” – Capable of running Unix – 32-bit Linux/gcc used no instructions introduced in later models – IBM PC superceded by 386-based machines from other vendors; explosion of
"Shortly after the beginning of the 21st century an inflection point was reached: in a speech in 2001, and Intel executive pointed out that an extrapolation of increasing power density (and thus temperature) of microprocessor chips would exceed that of a rocket nozzle by 2006, and of the sun's surface by 2012."
"Clearly something had to give, and the result is that going forward we can expect an exponential increase in the number of processors (cores) available to us, but not in their individual performance."
The examples and discussion in the following slides have been adapted from a variety of sources, including:
Chapter 3 of Computer Systems 3nd Edition by Bryant and O'Hallaron x86 Assembly/GAS Syntax on WikiBooks (http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax) Using Assembly Language in Linux by Phillip ?? (http://asm.sourceforge.net/articles/linasm.html)
The C code was compiled to assembly with gcc version 4.8.3 on CentOS 7.
Unless noted otherwise, the assembly code was generated using the following command line: