폰노이만 아키텍쳐(구조) 라고도 하며,
기본적으로  CPU의  데이터 처리 과정을 나타냅니다.
어셈블리어 공부를 할때 ,  꼭 필요한 내용이라서 , 한번쯤 정리해보자는 의미해서 써보려고 합니다.
지금 생각해보면 ,  매우 중요한 내용이라는 생각이 듭니다.


기본적인 순서로는
1. Fetch(인출) -> Decode(해독) -> Execute(실행)
의 순서를 갖습니다.

좀더  세부적으로 들어가면,
아래와 같은 루프 구문입니다.

loop
      fetch next instruction      ; Code Prefetch Unit 이 BIU(bus interface unit)를 통해 넘겨받은  명령어를 명령어 큐에 저장.
      
      advance the instruction pointer     ; IP를 1 증가시킨다.
                                                      ; (흔히들 32비트 CPU에서 4바이트 포인터 - EIP 레지스터라고들 합니다.)
                                                      ; EIP가 1이 증가했을때 , 
                                                      ; 우리가 디버거를 통해서 EIP값이 눈으로 증가하는것을 확인했다면,
                                                      ; 바로 아래의 과정들은 이미 순식간에 CPU내부에서 실행되고 난 뒤입니다.

      decode the instruction               ; instruction decode unit 에서 명령어를 해독하여 , 마이크로코드로 변환.
                                                    ; 여기서 마이크로코드는 반도체회사의 기밀입니다.

      if memory operand needed, read value from memory  ; 디코드 유닛에서 명령어를 해독한뒤  , 
                                                                                   ; 만약 그 명령어가 메모리 피연산자의 엑세스를 필요로 한다면 , 
                                                                                    ; 메모리로부터 값을 읽어옵니다. 
      
      execute the instruction          ; 명령어를 실행합니다.

      if result is memory operand, write result to memory    ; 만약 실행 후 결과값이 메모리 피연산자라면 ,
                                                                                   ; 해당 결과값을 메모리에 Write 합니다.
continue loop

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
by Sone 2009.02.10 00:21
| 1 |

티스토리 툴바