일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 의존관계
- Programming
- 웹개발
- 코딩
- 프로그래밍
- caching
- Sprign
- 서버개발
- 전략패턴
- 디자인패턴
- cache
- backend
- 웹
- redis
- 개발
- 객체지향
- Web
- 집합관계
- java
- Spring
- 백엔드
- spring data jpa
- 클래스다이어그램
- IT
- 봇
- 자바
- jpa
- 연관관계
- 다자인패턴
- OOP
- Today
- Total
괴발나라
컴퓨터 명령어를 간단히 알아보자 본문
명령어 구조
- 연산코드 필드: 연산 명령어가 담기는 부분
- ex) 더해라, 빼라, 데이터 저장해라, 데이터 불러와라 등
- 오퍼랜드 필드: 연산 대상이 담기는 부분
- ex) 데이터, 메모리 주소, 레지스터 주소
- 구조 예시
- [ 연산코드 | 오퍼랜드 | 오퍼랜드 ] -> "add eax, edx"
- 오퍼랜드는 0개 ~ 여러개까지 있을 수 있음..
* 일반적으로 피연산 데이터를 직접 오퍼랜드 필드에 담지 않고 그 데이터가 저장된 위치를 저장함.
- 왜 ? -> 오퍼랜드 필드에 담을 수 있는 데이터 크기가 너무 작음.. 그래서 데이터를 따로 저장해놓고 그 주소의 위치를 담음. -> 이 주소. 즉, 피연산 데이터가 담긴 저장장치의 주소를 "유효주소"라고 함.
주소 지정 방식
- 주소 지정 방식은 오퍼랜드 필드에 피연산자를 담는 방식임.
- 즉시 주소 지정 방식
- 데이터를 오퍼랜드 필드에 바로 담는 방식.
- CPU가 메모리에 따로 접근할 필요가 없어 빠르긴 하지만 담을 수 있는 데이터 크기가 너무 작음
- 직접 주소 지정 방식
- 데이터를 메모리에 넣어놓고 그 주소를 오퍼랜드 필드에 담는 방식
- 다시 말해 유효주소를 오퍼랜드 필드에 담는다
- 메모리에 한번만 접근해도 돼서 빠르긴 하나 이것도 표현할 수 있는 유효 주소에 한계가 있음.
- 간접 주소 지정 방식
- 데이터를 메모리에 넣어놓고 그 주소를 또 메모리에 넣어놓고 그 주소를 오퍼랜드 필드에 담는다.
- 다시 말해 유효주소의 주소를 오퍼랜드 필드에 담는다.
- 표현할 수 있는 유효주소의 범위가 직접 주소 지정 방식보다 넓어짐.
- 하지만 메모리에 두번 접근해야돼서 속도는 더 느림.
- 레지스터 주소 지정 방식
- 직접 주소 지정 방식과 동일한데 메모리->레지스터로 변경
- 당연히 레지스터 접근 속도가 더 빠르기떄문에 직접 주소 지정 방식보다 더 빠름
- 단점은 동일.
- 레지스터 간접 주소 지정 방식
- 데이터를 메모리에 넣어 놓고 그 주소를 레지스터에 넣어 놓고 그 레지스터 주소를 오퍼랜드 필드에 담음
- 레지스터에 한번, 메모리에 한번 접근하기 때문에 간접주소지정방식보다 속도가 빠름.
'도서 > 혼자공부하는 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
[CPU] ALU, 제어장치에 대해 간단히 알아보자 (0) | 2023.06.08 |
---|---|
ASCII vs EUC-KR vs UTF-8 (0) | 2023.06.06 |