프로그래밍 언어 공부/어셈블리어

메모리에 저장되는 순서 / 엔디언(Endian)이란

설탕중독 2022. 5. 12. 22:05

컴퓨터가 데이터를 저장할 때 사용하는 표현 단위는 바이트입니다.

이 바이트가 메모리에 저장되는 순서를 byte order라고 부릅니다.

이 바이트 오더가 어떤 순서로 메모리에 저장되는지에 따라 

빅 엔디언과 리틀 엔디언이라는 개념으로 나뉘게 됩니다.

 

그림으로 보면 이렇게 됩니다.

출처 - https://genesis8.tistory.com/37

빅 엔디언은 대표적으로 SPARC, ARM, 모토로라 계열의 CPU가 사용하는 아키텍처 방식입니다.

리틀 에디언은 대표적으로 인텔 계열이나 AMD 계열의 CPU가 사용하는 아키텍처 방식입니다.

 

이 엔디언 방식의 중요성은 이기종간의 네트워크 통신을 할 때 나타납니다.

상대방의 장비가 어떤 방식을 사용하냐에 따라 전혀 엉뚱한 데이터가 전달될 수도 있습니다.

 

그래서 네트워크 통신 시 바이트 오더에 대한 표준이 필요하게 되었고

네트워크 바이트 오더는 빅 엔디언 방식으로 통일하기로 했습니다.

 

자신의 장비에서 사용하는 방식과 상대방이 사용하는 방식을 잘 파악하고

만약 엔디언 방식이 다르다면 변환해서 전송해야 합니다.