명령어 : 수행할 동작과 수행할 대상으로 구성
-> 수행할 대상 : 수핼할 동작에 사용될 데이터 자체 or 동작에 사용될 데이터가 저장된 위치
* 1개의 명령어는 '연산 코드(opcode)' 와 0개 이상의 '오퍼랜드(operand)' 로 구성
- 연산 코드 : 명령어가 수행할 동작
- 오퍼랜드 : 동작에 사용될 데이터 혹은 그것이 저장된 위치
--
기계어 (marchine code)
- CPU가 이해할 수 있게 0,1로 표현된 정보를 있는 그대로 표현한 언어
- ex) 실행 파일(exe)
어셈블리어 (assembly language)
- 기계어(0,1)를 읽기 편한 형태로 단순 번역한 언어
- ex) push rbp(0101 0101), pop rbp(0101 1101), ret (1100 0011)
* CPU에 따라 기계어와 어셈블리어도 달라질 수 있다
CPU가 명령어를 처리하는 양상 - 명령어 사이클
- 명령어 처리 과정에서 각각 명령어는 일정한 주기를 반복하며 실행(인출, 실행)
- 인출 사이클(fetch cycle) : 메모리 속 명령어를 'CPU로 가져오는 단계'
- 실행 사이클(execution cycle) : 인출한 명령어 실행 단계
*특정 명령어는 추가적인 처리 필요
- 간접 사이클(indirect cycle) : 명령어 실행을 위해 한번 더 메모리에 접근
- 인터럽트 사이클 (interrupt cycle) : 인터럽트를 처리하는 단계
(interrupt - cpu 레지스터에 대한 이해 선행 필요)
'CS' 카테고리의 다른 글
CPU-인터럽트 (0) | 2025.04.02 |
---|---|
CPU - 레지스터 (0) | 2025.03.25 |
데이터 (0) | 2025.03.24 |
cs 학습의 필요 이유(당연한 이야기) (0) | 2025.03.24 |
웹 브라우저 작동 방식(기록용) (0) | 2025.03.22 |