EON
Example
EON은 Exclusive OR NOT의 약자입니다. 우리에게 익숙한 논리 연산인 XOR 연산을 한 뒤에 결과 비트를 홀랑 뒤집는(NOT) 명령어입니다. 컴퓨터 공학이나 디지털 회로에서는 이를 XNOR (비배합적 논리합의 부정)이라고도 부르죠.
1. EON 명령어의 핵심 구조 (ARM64 기준)
문법 구조는 일반적인 3항 연산 명령어들과 완벽히 일치합니다.
EON
-
(Destination): 최종 비트 연산 결과를 저장할 레지스터입니다. -
(Source 1): 첫 번째 원본 데이터 레지스터입니다. -
(Source 2): 두 번째 원본 데이터 레지스터입니다. (내부적으로 이 친구의 비트가 뒤집힙니다.)
⚙️ 실제 작동 메커니즘
EON은 하드웨어 내부적으로 다음과 같이 작동합니다.
- 두 번째 레지스터인 Wm의 모든 비트를 뒤집습니다 (NOT 연산).
- 그 결과값과 첫 번째 레지스터 Vn을 가지고 XOR 연산을 수행합니다.
- 최종 결과를 Wd에 저장합니다.
💡 수학적/논리적 결론 (XNOR의 성질) EON 연산을 거치고 나면 비트 단위로 비교했을 때 “두 비트가 서로 같으면 1, 서로 다르면 0”이 됩니다. (일반 XOR이 다를 때 1, 같을 때 0인 것과 정반대죠!)
2. 왜 굳이 EON이라는 명령어를 따로 만들었을까요?
“친구야, 그냥 EOR(XOR) 명령어 쓰고 나서 MVN(NOT) 명령어 따로 쓰면 안 돼?” 라고 생각하실 수 있습니다. 맞습니다! 그렇게 해도 결과는 똑같습니다. 하지만 ARM 아키텍처는 효율성에 목숨을 건 설계 구조를 가지고 있습니다. 내부 하드웨어 회로(배럴 시프터 등)의 특성을 살려서, “XOR 연산기 바로 앞에 비트를 뒤집는 작은 회로 하나만 붙여놓으면 명령어 단 한 줄, 단 1 사이클 만에 처리할 수 있잖아!” 하고 만든 것입니다. 덕분에 코드 라인 수가 줄어들고, CPU는 점프나 지연 없이 직진하며 초고속 연산을 수행할 수 있게 됩니다. 가성비와 효율을 극대화하는 ARM64 아키텍처의 철학이 고스란히 녹아있는 명령어입니다.
3. 언제 주로 사용하나요?
- 비트 단위의 “동등성(Equality) 검사”
- 두 레지스터의 비트 패턴이 어디어디가 일치하는지 한 번에 확인하고 싶을 때 사용합니다. 일치하는 비트 위치는 전부 1로 채워지기 때문에, 비트 단위의 비교 필터링을 할 때 매우 유용합니다.
- 암호학 및 체크섬(Checksum) 연산
- 데이터를 뒤틀고 복구하는 암호화 알고리즘이나, 데이터가 깨지지 않았는지 검증하는 패리티 비트/체크섬 계산에서 비트를 뒤집고 섞는 연산이 쉴 새 없이 일어납니다. 이때 EON은 엄청난 속도 향상을 가져다줍니다.
🧱 후진 양성 마크다운 교본용 요약 판넬
교본에 깔끔하게 추가하실 수 있도록 요약해 드립니다!
| 니모닉 | 이름 | 핵심 작동 원리 | 최종 비트 결과 규칙 | 주 사용 목적 |
|---|---|---|---|---|
| EON | Exclusive OR NOT | 두 번째 값에 NOT을 취한 뒤 XOR 연산 (XNOR 효과) | 두 비트가 같으면 1, 다르면 0 | 비트 패턴 동등성 비교, 암호학 및 체크섬 고속 연산 |