CPU동작원리 정리

2023. 5. 14. 13:45카테고리 없음

CPU ==> 트랜지스터라고 하는 반도체로 만들어짐

 

반도체는 주로 실리콘으로 만드는데 실리콘 최외각 전자가 4개이므로 안정한 상태를 만들기 위해 다른 실리콘 원자들과 결합해야 합니다.

안정적인 상태로 결합하게 되면 전류가 흐르지 않게 되는데 실리콘보다 전자가 1개 많거나 1개 적은 원소를 추가하면 전기를 통하게 만들 수 있습니다.

전자가 하나 적은 원소를 첨가한 반도체는 ==> p형 반도체

전자가 하나 많은 원소를 첨가한 반도체는 => n형 반도체라고 합니다.

트랜지스터는 아래와 같이 생겼는데 pnp 또는 npn 반도체가 들어있습니다.

아래 3줄 부분에 특정 전압을 걸어주면 전류가 흐르게 됩니다.

 

트랜지스터를 이용하면 논리회로 만들 수 있는데

트랜지스터 두 개를 연결해 보면 하나가 아닌 두 개 다 전압이 걸렸을 때 전류가 흐르게 됩니다.

 

컴퓨터는 1과 0만 인식할 수 있으니 전류가 흐르면 1 흐르지 않으면 0이 표현되겠네요

 

트랜지스터 두 개를 연결했을 대 두 트랜지스터가 모두 참을 때 결과값도 참이 되는 논리게이트를 AND게이트라고 합니다.

둘 중 하나만 참이어도 참으로 출력되는 게이트는 OR게이트입니다.

NOT게이트는 입출력의 값을 서로 바꿔주는 논리회로입니다.

XOR게이트는 OR게이트와 동일하지만

[참 참==> 거짓]

참+참이 거짓이 된다는 차이점이 있습니다.

 

아래는 레지스터를 설명한 그림입니다.

프로그램 카운터에는 ==> 다음에 수행할 메모리의 주소가 들어있습니다.

 

메모리 주소 레지스터는 ==> 프로그램 카운터에서 수행할 주소를 넘겨받은 다음에 그 주소를 찾아가 데이터를 가져오는 역할을 합니다.

 

메모리 버퍼 레지스터는 ==> 메모리 주소 레지스터가 가져온 데이터나 명령들을 일시적으로 저장합니다.

 ** 메모리 버퍼레지스터에 저장된 내용 중 명령은 명령어 레지스터로 전송되고 연산에 사용될 데이터는 누산기 레지스터로 이동합니다.

 

명령어 레지스터 ==> 명령어 관한 데이터가 저장됩니다.

 

누산기 레지스터 ==> 연산의 결과 값이나 중간 값을 일시적으로 저장합니다.

 

제어장치는 ==> 명령어 레지스터에 있는 명령어를 받아 해석하고 해석된 명령을 실행할 시스템에 지시를 보내줍니다.

 

ALU==> 산술 논리 연산을 실행합니다.

 

최종 결과는 메모리 버퍼 레지스터를 통해 메모리로 전송됩니다.

 

이렇게 CPU는 데이터를 인출하고 해석하고 실행한 다음 저장하는 과정을 걸칩니다.