Skip to the content.

I

← 전체 목차로 돌아가기


IC

✅ Instruction Cache operation. Invalidates instruction-cache entries so the CPU re-fetches fresh instruction bytes from memory (or the point of unification) instead of stale cached ones. Required after writing new/patched code (JIT output, a relocated kernel, self-modifying code) before jumping into it - otherwise the core may still execute the old cached instructions.

✅ 명령어 캐시 유지보수 명령. 명령어 캐시 항목을 무효화하여, CPU가 오래된 캐시된 명령어 대신 메모리(또는 통합 지점)에서 최신 명령어 바이트를 다시 가져오게 합니다. 새로 쓴/패치한 코드(JIT 출력, 재배치된 커널, 자기수정 코드)로 점프하기 전에 반드시 필요합니다 - 안 그러면 코어가 여전히 예전 캐시된 명령어를 실행할 수 있습니다.

Syntax

IC <op>{, <Xt>}   // op: IALLU (전체), IVAU, <Xt> (주소 단위)

Example

IC IVAU, X0      // X0 주소의 명령어 캐시 라인 무효화
DSB ISH
ISB               // 파이프라인 플러시 - 새 코드가 보이도록

🔗 Open Summary

INS

✅ Insert vector element. Writes a value - from a general-purpose register or from another vector’s lane - into exactly one lane of the destination vector, leaving the other lanes untouched.

✅ 벡터 원소 삽입. 범용 레지스터 값이나 다른 벡터의 특정 레인 값을, 대상 벡터의 딱 한 레인에만 써 넣습니다. 나머지 레인은 그대로 유지됩니다.

Syntax

INS <Vd>.<Ts>[<index>], <Rn>  or  INS <Vd>.<Ts>[<index>], <Vn>.<Ts>[<index2>]

Example

INS V0.S[1], W0   // V0의 두 번째 32비트 레인에 W0 값을 삽입

🔗 Open Summary

ISB

✅ Instruction Synchronization Barrier. Flushes the instruction pipeline so that all instructions after the barrier are fetched fresh; used after modifying code or system control registers that affect instruction execution.

✅ 명령어 동기화 배리어. 명령어 파이프라인을 비워서 배리어 이후의 모든 명령어를 새로 가져오게(fetch) 합니다. 코드나 실행에 영향을 주는 시스템 제어 레지스터를 수정한 직후에 사용합니다.

Syntax

ISB {<option>}

Example

ISB

🔗 Open Summary