컴퓨터과학/0 +컴퓨터 구조

[컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클

힘들면힘을내는쿼카 2021. 10. 3. 15:39
728x90
반응형

명령어 종류

IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행

이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 수행

데이터 전송명령 레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령
산술 연산명령 2의 보수 및 부동소수점 수에 관한 산술 연산명령
논리 연산명령 데이터의 각 비트들 간에 대한 논리 연산명령
입출력(I/O)명령 CPU와 외부I/O 장치들 간의 데이터를 이동시키는 명령
프로그램 제어명령 각 명령어의 실행 순서를 변경하는 분기(Branch), 서브루틴 호출(Subroutine Call)및 리턴 명령

 

반응형

명령어 실행 사이클(LOAD)

명령어 실행 사이클(LOAD)

인출 사이클의 마이크로 연산(micro-operation)

  • t3: MAR <- IR(addr)
    • IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
  • t4: MDR <- M[MAR]
    • 주소 값이 지정하는 기억장치 주소로부터 읽혀진 데이터를 데이터 버스를 통하여 MDR에 저장
  • t5: AC <- MDR
    • MDR에 있는 명령어가 AC에 저장
  • tn은 클럭 주기

 

 

명령어 실행 사이클(STORE)

명령어 실행 사이클 (STORE)

STORE: ALU에서 연산된 결과를 메모리로 보내는 과정

 

인출 사이클의 마이크로 연산(micro-operation)

  • t3: MAR <- IR(addr)
    • IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
  • t4: MDR <- AC
    • 저장할 데이터 저장된 AC로부터 버퍼 레지스터인 MDR로 전송
  • T5: M[MAR] <- MDR
    • MDR내용을 MAR이 지정하는 주기억장치 주소에 저장
  • tn은 클럭 주기

 

 

명령어 실행 사이클(ADD)

명령어 실행 사이클(ADD)

ADD: 주기억장치로부터 가져온 데이터를 AC의 내용과 덧셈 연산 후, 그 결과를 다시 AC에 저장하는 명령어

 

인출 사이클의 마이크로 연산(micro-operation)

  • t3: MAR <- IR(addr)
    • IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
  • t4: MDR <- M[MAR]
    • 주소값이 지정하는 기억장치 주소로부터 읽혀진 데이터를 데이터 버스를 통해 MDR에 저장
  • T5: AC <- MDR
    • MDR내용을 AC의 내용을 덧셈후(ALU) 그결과를 다시 AC에 저장
  • tn은 클럭 주기

 

 

명령어 실행 사이클(JUMP)

명령어 실행 사이클(JUMP)

JUMP: PC의 내용을 바꾸는 것(IR의 오퍼랜드(addr)가 지시하는 주소의 명령어로 프로그램 실행 순서를 변경하는 분기(Branch)명령어)

 

인출 사이클의 마이크로 연산(micro-operation)

  • t3: MAR <- IR(addr)
    • 명령어의 오퍼랜드(분기할 목적지 주소)가 PC에 저장됨으로써 다음 명령어를 인출하는 사이클에서 변경된 주소의 명령어가 인출되므로 결과적으로 프로그램 실행 순서를 변경(분기)하는 것
  • tn은 클럭 주기
728x90
반응형