본문 바로가기
컴퓨터공학/컴퓨터구조

[컴퓨터구조] 개발자라면 알아야하는 CPU 아키텍쳐

by lody.park 2024. 5. 10.

안녕하세요, 로디 🎼입니다.

오늘은 개발자라면 꼭 알아야 할 필수 지식인 CPUCPU 아키텍처에 대해 알아보겠습니다.

CPU ..?

우선 CPU가 뭔지 모르신다면.. 충분히 그럴 수 있습니다 (이름부터가 구리잖아요) 저도 그랬거든요;;,, 

 

CPU(Central Processing Unit)는 컴퓨터의 두뇌 역할을 하는 핵심 부품입니다. 쉽게 말해, 컴퓨터가 모든 작업을 처리할 수 있도록 명령을 수행하고 연산을 처리하는 곳이죠.

 

아래 사진이 바로 CPU입니다. CPU가 어떻게 생겼는지 보여드리고 싶어 컴퓨터를 분해해서 찍어왔어요,,, 실물을 봐야 감이 오니깐^^

딱 봐도 ~ 잘모르고 싶게 생겼죠?

중고나라에 내놔도 팔리지 않는 내 고물 cpu... ㅜㅜ (서버용 CPU 인 Intel Xeon 제품군)

 

CPU의 역할

  • 업무 처리: 직원이 다양한 업무(문서 작성, 회의 준비 등)를 처리하는 것처럼 CPU는 컴퓨터에서 이루어지는 모든 명령과 연산을 처리합니다.
  • 업무 효율: 직원의 능력이 업무의 속도와 질을 좌우하듯, CPU의 성능은 컴퓨터의 작업 속도와 효율성을 결정합니다.
  • 다중 작업 능력: 여러 사람이 협업하거나 한 사람이 여러 일을 동시에 처리하는 것처럼, 멀티코어 CPU는 동시에 여러 작업을 병렬로 처리하여 성능을 극대화합니다.
  • 전문화: 회사마다 특정 업무에 특화된 직원이 있듯이, CPU도 특정 용도에 맞춰 설계됩니다. 예를 들어, 고성능 그래픽 처리에 특화된 CPU나 모바일 기기에 최적화된 경량 CPU가 있습니다.

 

어디서 들어는봤는데... ARM과 Intel,,, 그게 몬뎅 😩

컴퓨터 또는 노트북을 살 때 보통 Intel Inside 라는 아래와 같은 스티커를 한번쯤은 보셨을거예요. 

 

 

이는 Intel에서 만든 CPU가 탑재되었음을 의미합니다. Intel의 CPU는 주로 x86 아키텍처 기반입니다. x86 아키텍처는 오랜 시간 동안 널리 사용되어 왔고, 이에 따라 많은 소프트웨어들이 이 아키텍처와 호환되도록 개발되었습니다. 즉, 인기 있는 아키텍처를 지원하지 않는 소프트웨어는 사용자가 적어질 테니, 대부분의 소프트웨어가 이를 지원하게 된 것이죠.

 

하지만 Intel만 CPU를 만드는 것은 아닙니다. 대표적인 경쟁사로는 AMDARM이 있습니다.

 

어디서 들어봤을법한 말입니다.. Intel의 x86호환 AMD의 칩들, ARM의 arm호환 애플의 M1칩

 

AMD

AMDx86 아키텍처와 호환되는 CPU를 만드는 회사입니다. Intel의 대안으로 자주 거론되지만, Intel보다는 덜 인기가 있습니다. 그러나 최근 들어 AMD의 라이젠(Ryzen) 시리즈가 성능 대 가격 비율에서 인기를 끌며 시장 점유율을 높이고 있죠.

ARM

ARM은 저전력 소비와 비용 효율성 때문에 주로 모바일 기기임베디드 시스템에 사용되는 CPU를 개발합니다. ARM 아키텍처는 상대적으로 단순하고 전력 효율이 좋기 때문에 작은 기기에서 유리합니다. 예를 들어, 제가 홈 서버로 사용 중인 라즈베리 파이에 장착된 CPU는 ARM 기반입니다. 이처럼 손바닥 크기의 컴퓨터에서도 ARM 기반 CPU는 중요한 역할을 합니다.

 

 

 

ARM과 애플의 M1 칩

최근 ARM 기반 CPU로 가장 유명해진 것은 애플의 M1 칩입니다. 애플의 M1 칩은 ARM 아키텍처를 기반으로 설계되었고, 높은 성능과 전력 효율성으로 주목받고 있습니다. 제가 사용하는 M1 맥북도 ARM64 아키텍처 기반입니다.

제 M1 Macbook 의 CPU 아키텍쳐는 arm64입니다.

 

호환성 문제

그러나 여기서 문제가 하나 발생합니다. 많은 소프트웨어들이 여전히 x86 아키텍처에서만 동작하도록 설계되어 있기 때문에, ARM 기반 기기에서는 이들 소프트웨어가 바로 실행되지 않습니다. M1칩을 도입할때 이런 문제가 개발자들의 걱정거리였죠. 이를 해결하기 위해 애플Rosetta 2라는 에뮬레이터를 제공합니다. Rosetta 2는 x86 아키텍처 기반의 프로그램을 ARM 기반 M1 맥에서 실행할 수 있도록 해줍니다. 하지만 에뮬레이션 과정에서 성능 저하가 발생할 수 있다는 점은 주의해야 합니다.

 

 

 

예를 들어, 제가 M1 맥북에서 x86 기반의 프로그램을 실행할 때 경고 메시지를 받았습니다. 이 메시지는 프로그램이 Rosetta 2를 통해 실행되고 있다는 경고였고, 실제로 프로그램이 정상 작동하긴 하지만 성능 저하가 있을 수 있다는 내용을 보여주고 있습니다.

 

결론

CPU와 CPU 아키텍처는 컴퓨터 성능의 핵심 요소입니다. Intel과 AMD의 x86 아키텍처가 여전히 강세를 보이고 있지만, ARM 아키텍처도 모바일 및 경량 기기에서 크게 성장하고 있습니다. 특히 애플의 M1 칩은 ARM 기반 CPU의 성능 가능성을 크게 보여주었죠. 앞으로도 CPU 기술은 다양한 분야에서 더욱 발전할 것이며, 개발자라면 이러한 변화를 잘 이해하고 활용할 수 있어야 할 것입니다.

 

이렇게 해서 CPU와 그 아키텍처에 대해 정리해 보았습니다! 더 궁금한 점이 있다면 언제든 질문해 주세요! 😊