컴퓨터 구조는 위에처럼 크게 4가지로 나눠서 볼 수 있습니다.
컴퓨터의 기능또한 크게 4가지로 나눠서 생각해볼 수 있습니다.
Processor chip 안에는 다음과 같이 3가지 종류가 있을 수 있겠습니다.
음.. 용어를 좀 살펴볼 필요가 있겠습니다. 프로세서는 뭐고, CPU는 뭐고, 코어는 뭔지 글을 작성하는 시점에서 헷갈리네요;; 한번 정리해보겠습니다.
컴퓨터에서 구성 단위 중 기억, 해석, 연산, 제어
라는 4대 기능을 종합하는 중앙 처리 장치의 줄임말. 더 간단하게 말하자면 사람으로 따지면 뇌에 해당한다.
CPU를 용도에 따라 분류하면
출처 : https://www.hackerschool.org/Sub_Html/HS_University/HardwareHacking/04.html
CPU, MPU 이런 용어들은 대부분 업계에서 자사 제품을 지칭하는 용어가 관례적으로 굳어졌기 때문에 생긴 것이라고 하네요. CPU는 처음에는 인텔이 자사의 원칩 솔루션을 지층하던 용어였고, MPU는 그에 대응하는 모토로라가 쓰던 용어였다고 합니다.
따라서 그냥 CPU와 MCU 개념만 잘 구분할 수 있으면 될 거 같습니다.
프로세서는 컴퓨터 운영을 위해 기본적인 명령어들을 처리하고 반응하기 위한 논리회로입니다.
프로세서의 종류로는 아래처럼 구분되어집니다. 그러나 프로세서라는 용어는 점차적으로 CPU라는 용어를 대체해왔습니다. (프로세서 >= CPU)
출처 : https://www.quora.com/What-is-the-difference-between-4-core-and-4-CPU
코어란 각종 연산을 하는 CPU 핵심요소
이며, CPU 내부에는 코어 말고도 컨트롤러, 캐시메모리 등이 들어있습니다. 코어가 1개면 싱글코어, 2개면 듀얼코어, 4개면 쿼드코어라고 하며, 코어 수가 많을수록 병렬 처리 효율이 늘어날 수 있습니다.
단순하게 코어를 CPU 한개라고도 말할 수 있을거 같습니다.
Power Wall : CLK 가속화로 인한 열 발생, 성능 저하. -> 더이상 single core로는 안됨. 그래서 생겨난게 멀티코어 방식입니다.
프로세서(비슷한 의미로 CPU) =
Core(제어장치, 연산장치, 레지스터) + JTAG, 내부버스, 캐시(Cache) 등
라고 볼 수 있겠네요.
이대로 넘어가기 아쉬워서 CPU에 관해서 실용적인 지식을 배우고 넘어가도록 하겠습니다. 다음은 8세대 이후 인텔 CPU를 비교한 그림입니다.
몬스터는 코어수, 팔 개수는 스레드 수를 의미합니다. 코어는 위에서 배워서 알겠는데 그렇다면 쓰레드는 뭘까요?
코어는 CPU를 물리적으로 구별한 것이고, 쓰레드는 CPU를 논리적으로 구별했다고 보면 됩니다. 일반적으로 코어개수와 CPU개수는 같지만 인텔같은 경우 하이퍼쓰레딩(Hyper Threading) 기술로 코어의 갯수를 반으로 쪼개는 기술이 이용됩니다.
운영체제에서 프로세스를 더 작은 단위로 나눈 것이 쓰레드라고 했었죠? CPU 쓰레드도 이 쓰레드를 처리하는 의미라고 보면 될거 같습니다.
CPU를 비롯한 컴퓨터의 모든 부품들은 일정한 간격(속도0으로 발생되는 전기적 신호에 맞춰 동작하는데 이 전기적 신호를 클럭이라고 합니다.
단순히 정리하면 클럭이 높을수록 CPU연산속도가 빠르고 성능이 좋습니다. 하지만 클럭이 높을수록 열을 그만큼 많이 발생하겠죠. 따라서 CPU마다 적정선이 존재합니다.
참고로 오버클럭은 말 그대로 클럭 수치를 적정 클럭보다 오버시켜서 부품에 부여하는 것입니다. 사람으로 치면 머리 굴리는 속도를 강제로 빠르게 하는 것이라 보면 됩니다.
Memory Wall : 프로세서의 처리(클럭) GHz를 메모리 MHz가 따라가지 못하는 현상. 메모리의 계층성을 이용해 해결.
그 중에서 캐시메모리란 비단 cpu에만 적용 되는 것이 아니고 속도가 빠른 장치와 느린 장치 사이에서 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리입니다.
출처 : https://www.quora.com/How-is-L2-cache-shared-between-different-cores-in-a-CPU
대학교 컴구조 시간에 배웠던 내용이긴 합니다만 좀 시간이 지나다 보니 정리할 필요가 있던참이었습니다. 정리하다보니 잘 몰랐던 부분도 해결되고 좋네요.
다음시간에는 CPU와 GPU를 공부해볼 생각입니다.