티스토리 뷰
아래 링크를 통해 가입시 바이낸스 코인 거래수수료 25% 평생할인!
25% lifetime discount on Binance Coin transaction fees when you sign up through the link below!
https://accounts.binance.com/en/register?ref=286562663
(구글 나라별 추천검색어가 다릅니다 - find 를 검색해보았더니..)
명령어를 가져오는 과정 (instruction fetch)
명령어 주소 레지스터에 있는 주소값이 기억장치 주소 레지스터에 전달한다.
명령어 주소 레지스터의 값은 증가하여 다음에 수행될 명령어의 주소값을 가리킨다.
다음에 주기억장치에 읽기 신호를 주면 일정한 시간 (접근 시간) 이 지난 후에 원하는 데이터가 읽혀져서 그것을 기억장치 데이터 레지스터에 저장하게 된다.
이렇게 저장된 데이터는 다시 명령어 레지스터로 전달된다.
명령어를 해독하는 과정 (instruction decode)
명령어 레지스터의 내용은 실행되기 전에 제어장치가 해독을 해야 한다.
제어장치는 명령어의 일부인 연산 코드를 분석하여 어떤 연산을 할지 결정한다.
산술/논리 연산인 경우 산술/논리장치에게 어떤 연산을 해야 하는지를 알려준다.
그리고 명령어의 주소 영역에 있는 값은 기억장치 주소 레지스터에 전달한다.
연산이 주변장치를 다루는 것이라면 원하는 신호를 내기 위하여 준비한다.
명령어를 실행하는 과정 (execution)
산술/논리연산인 경우 산술/논리장치가 지정된 연산을 수행한다.
필요한 데이터의 주소는 기억장치 주소 레지스터에 들어 있다.
기억장치 주소 레지스터가 가리키고 있는 곳의 데이터를 기억장치 데이터 레지스터로 가져오고, 그 데이터에 대해 연산이 수행된다.
주변장치를 다루는 연산인 경우는 원하는 주변장치에 알맞은 신호를 낸다.
'it' 카테고리의 다른 글
C언어 기반의 C++ malloc, free -> new, delete (0) | 2022.11.26 |
---|---|
마이크로프로세서(Microprocessor) (0) | 2022.11.12 |
자바 추상클래스 (0) | 2022.11.12 |
'알고리즘','순서도' (0) | 2022.11.08 |
쉬프트(shift) 연산 (0) | 2022.11.05 |