반응형
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 |