개발/잡다개발

CPU

----___<<<<< 2020. 3. 29. 22:59

컴퓨터 CPU에 대해서 알아보겠습니다.

 

CPU(Central Processing Unit)입니다. 한국말로는 중앙처리장치라고 할 수 있겠네요

 

CPU에서 하는 가장 기본적인 작업은 계산입니다. 사람으로 치면 두뇌의 역할이라고 볼 수 있습니다.

 

CPU에는 코어라는 것이 존재하는데, 처리회로의 핵심 부분으로써 이전에는 CPU에 1개만 있던 것이지만, 시간이 지나면서

 

4개, 6개, 8개씩 다양한 코어가 적용되고 있습니다. 컴퓨터와 마찬가지로, 모바일에도 여러개의 코어가 적용되고 있습니다.

 

11번가에서 CPU를 검색해보면 아래와 같은 정보가 있습니다.

 

http://www.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=2141616959&gclid=Cj0KCQjwjoH0BRD6ARIsAEWO9DvM8tiBACNRT0fTO17HQqrkOFcSwL3h1mZGRgGViLNtNnArfENzccoaAhjnEALw_wcB&utm_term=&utm_campaign=%B1%B8%B1%DB%BC%EE%C7%CEPC+%C3%DF%B0%A1%C0%DB%BE%F7&utm_source=%B1%B8%B1%DB_PC_S_%BC%EE%C7%CE&utm_medium=%B0%CB%BB%F6

 

CPU의 코어 갯수는 결국 1개의 코어가 1개의 일만 처리한다고 생각하면 되는데

 

코어가 4개면은 한꺼번에 4개를 처리할 수 있는 것입니다.

 

CPU에 대해서 알아보다 보면은, 캐시(Cache)와 쓰레드(Thread)라는 개념이 나오게 됩니다.

 

프로그래밍 할 때, 캐시와 쓰레드 처리를 했었는데, 이게 CPU에서 어떻게 동작되는지 이번 기회에 정리해봤습니다.

 

일단 캐시부터 알아보면

 

CPU는 빠른 처리속도를 가지는데, 메모는 CPU의 속도를 따라갈 수가 없습니다. 때문에, 캐시를 사용하는데

 

캐시는 CPU와 메모리 사이에 있는 고속 메모리로, 자주 쓰는 자료를 이 곳에 저장해놓으면 병목현상(bottleneck)을 방지할 수 있습니다.

 

쓰레드는 코어와 약간 다른데, 코어는 물리적으로, 쓰레드는 논리적으로 CPU를 구분해놓은 것이라고 생각하면 되는데

 

쓰레드의 경우 하이퍼쓰레딩(Hyper Threading)을 예로 들 수 있겠습니다.

 

예를 들면, 작업할 것이 1코어의 50%의 성능만 사용해도 가능하다면, 4코어가 8코어인 것 처럼의 역할을 할 수 있습니다. 8개의 쓰레드를 돌릴 수 있는 거와 동일하다고 생각하면 됩니다.

 

그러면 컴퓨터 CPU와, 임베디드 CPU 사이에는 무슨 차이가 있을까요?

 

임베디드 시스템에서 의미하는 CPU의 개념도 컴퓨터의 CPU와 동일하지만, 구성면에서 차이가 있습니다.

 

임베디드 CPU는 마이크로컨트롤러 단독으로 구동되거나, 아주 간단한 주변 회로로 구성되는 경우가 있습니다.

 

왜냐하면, 마이크로 컨트롤러의 성능 때문인데, 이 것은 고성능의 입축렬 장치를 지원하지 못할 뿐더러, 지원할 수도 없게 설계되어 있습니다.

 

때문에, 메모를 내장하고 있고, 외부 입출력 장치가 없는 경우가 대부분이라, 컴퓨터에 비해 구조가 단순합니다.

 

 

 

 

 

 

참조

 

[1] - https://post.naver.com/viewer/postView.nhn?volumeNo=9502506&memberNo=76165

[2] - https://buubleunder.tistory.com/241

[3] - https://m.blog.naver.com/bitnang/70186158642

'개발 > 잡다개발' 카테고리의 다른 글

if __name__ == '__main__': 얘는 왜쓰는걸까요  (0) 2020.04.08
APR  (0) 2020.04.05
임베디드 시스템이란  (0) 2020.03.22
Hash Table Python  (0) 2020.02.11
GCP Flask 배포  (3) 2020.01.30