반응형
History of Intel processors and architectures
Intel x86 Processors
Complex instruction set computer (CISC)
- Many different instructions with many different formats
- Hard to match performance of Reduced Instruction Set Computers (RISC)
2015 State of the Art
Core i7 Broadwell 2015
- DDR : DRAM (메인 메모리)로 이어진다
- PCI : Peripheral Devices로 이어진다
- SATA : 여러 디스크로 이어진다
- Ethernet : 네트워크로 이어진다
Our Coverage
IA32
- The traditional x86
x86-64
- The standard
gcc hello.c
gcc -m64 hello.c
C, assembly, machine code
Definitions
Architecture (ISA) : The parts of a processor design that one needs to understand or write assembly/machine code
- Examples : instruction set specification, registers
Microarchitecture : Implementation of the architecture
- Examples : cache sizes and core frequency
Machine Code : The byte-level programs that a processor executes
Assemly Code : A text representation of machine code
Assembly/Machine Code View
Turning C into Object Code
Compiling Into Assembly
Assembly Characteristics: Data Types
Assembly Characteristics: Operations
Machine Instruction Example
Disassembling Object Code
Alternate Disassembly
Assembly Basics: Registers, operands, move
x86-64 Integer Registers
- rsp : stack
Some History: IA32 Registers
- esp : stack pointer
- ebp : base pointer
Moving Data
movq Operand Combinations
Simple Memory Addressing Modes
Example of Simple Addressing Modes
Complete Memory Addressing Modes
Address Computation Examples
Arithmetic & logical operations
Address Computation Instruction
Some Arithmetic Operations
Arithmetic Expression Example
Summary
반응형
'Computer Science Lectures > Introduction to Computer Systems - CMU' 카테고리의 다른 글
Lecture 07: Machine-Level Programming 3: Procedures (0) | 2022.10.25 |
---|---|
Lecture 06: Machine-Level Programming 2: Control (0) | 2022.10.24 |
Lecture 04: Floating Point (0) | 2022.10.18 |
Lecture 03: Bits, Bytes, and Integers (cont.) (0) | 2022.10.11 |
Lecture 02: Bits, Bytes, and Integers (0) | 2022.10.10 |