본문 바로가기

Domain/시스템 프로그래밍

7. IA : History & Features

IA(Intel Architecture)의 특징

 IA는 CISC의 특징과 RISC의 특징을 모두 갖고 있다.

 

 CISC의 특징

  • 명령어 길이가 가변적이고, operand의 수 또한 가변적이다.
  • 다양한 operand addressing mode가 있다.
  • 함수 호출을 stack을 기반으로 한다.
  • SIMD를 지원한다.

 RISC의 특징

  • Micro-operations(하나의 명령어를 다시 세부(마이크로) 명령어로 나누어 pipeline으로 연산한다.)
  • Load - Store Architecture
  • Independent Multi-units
  • Out-of-order execution
  • 레지스터를 기반으로한 함수 호출
  • Register renaming

 

 

Operand Addressing Mode

 

예제 Base plus Scaled index plus offset addressing

 

 Base Register + Index x Scaled Factor + Displacement(offset)

LOOP:
    cmpl	$9, %ecx
    jg   LOOP_OUT
    addl	0(%ebx, %ecx, 4), %eax
    addl	$1, %ecx
    jmp	 LOOP

배열과 같은 연속적인 값 접근에 유리하다.

 

 

 

Multitasking

 Time sharing system

   task를 번갈아 가며 수행한다(Context switch). 그에 따라 각 task를 어디서 다시 시작해야 하는지 알 필요가 있다.

 context switch의 발생 시점은 sleep(wait), blocking I/O, timeout의 경우이다.

  • Context save : 수행하던 task의 CPU register 정보를 task structure(memory)에 저장한다.
  • Context restore : task structure의 내용을 CPU register에 불러온다.

 

 

Hyper threading 물리적인 하나의 core에 두개의 logical processor를 할당한다. cotext switch가 운영체제에 의해 관리되지 않고 CPU 내부에서 관리하는 방식이다.

 

Memory Alignment

 값을 저장할 때 4byte word 단위로 저장하게 된다. 메모리 공간을 다소 낭비하더라도 메모리 접근을 효율적으로 하기 위한 작업이다.

'Domain > 시스템 프로그래밍' 카테고리의 다른 글

4. Process Structure  (0) 2020.03.14
5. Task Programming  (0) 2020.03.14
6. IA Assembly Programming  (0) 2020.03.14
8. Optimization  (0) 2020.03.14
9. Assembler  (0) 2020.03.14