본문 바로가기
백수/컴퓨터구조

컴퓨터 기초 8

728x90
반응형

클럭

 - 컴퓨터 부품들은 '클럭 신호'에 맞춰 동작합니다.

 - CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행합니다.

 - 클럭 속도가 높은 경우 CPU의 성능도 일반적으로 좋습니다.

 - 클럭의 속도는 CPU의 속도 단위로 간주됩니다.

 - 클럭의 속도는 헤르츠(Hz) 단위로 측정되며 1초에 1번 반복은 1Hz이고 클럭이 1초에 100 반복되는 경우

    100Hz입니다.

 - 일정하게 반복되는 것 같지만 그렇지 않고 불일 정하게 반복됩니다.

 - 일정하지 않는 이유로 속도가 높은 경우 발열의 문제가 발생됩니다.

 - 클럭의 속도가 높은 경우  CPU는 빠르게 동작되지만 CPU의 성능 향상에는 한계가 존재합니다.

 

 ※ 오버 클럭킹 : 클럭의 속도를 최대로 사용하는 기법

 

코어

 -  '명령어를 실행하는 부품'으로 다중이 있을 수 있습니다.

 -  앞서 CPU는 '명령어를 실행하는 부품'으로 정의했지만 '명령어를 실행하는 부품을 여러 개 포함하는 부품'

    으로 오늘날의 명칭 범위가 확장되었습니다.

 

 

멀티 코어, 멀티코어 프로세서

 - 코어를 다중으로 포함하고 있는 CPU입니다.

 

CPU는 코어가 늘어나도 연산의 속도가 증가하지 않습니다.

코어마다 처리할 명령어들을 적절하게 분배하는지의 따라 연산 속도가 저하, 증가됩니다.

 

스레드

 - 사전적 의미로 '실행 흐름의 단위'입니다.

 - 모든 프로세서에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다.

 - 스레드의 종류는 '하드웨어적 스레드', '소프트웨어적 스레드'가 있습니다.

 

프로세서

 - 하나의 스레드만 가지고 있는 단일 스레드 프로세서입니다.

 - 코드로 작성된 프로그램이 메모리에 적재되어 사용 가능한 상태입니다.

 - 프로세서는 실행 중인 프로그램이라 할 수 있습니다.

 

하드웨어적 스레드

 - '하나의 코어가 동시에 처리하는 명령어 단위'를 의미합니다.

 - 하나의 코어로 다중 명령어를 동시에 처리하는 CPU입니다.

 - 명령어를 실행하는 부품이 단일이고 한 번에 하나씩 명령어를 실행하는 CPU인 경우

    1 코어 1 스레드입니다.

 - 다중 스레드를 지원하는 CPU는 하나의 코어로도 여러 명령어들을 다중으로 실행 가능합니다.

 - 아래와 같이 명령어 실행 부품 두 개이고 한 번에 네 개의 명령어 처리가 가능한 CPU를

   2 코어 4 스레드입니다.

 

소프트웨어적 스레드

 - '하나의 코어가 동시에 처리하는 명령어 단위' 의미입니다..

 - 하나의 프로그램은 실행되는 과정에서 한 부분만 실행될 수 있지만 프로그램의 여러 부분이 동시에

    실행 가능합니다.

 - 프로그램의 각각의 기능을 작동시키는 코드를 각각의 스레드로 만드는 경우 동시에 실행 가능합니다.

    (예 : 사용자의 입력받는 화면, 사용자의 내용 수정, 사용자의 내용 삭제 등)

 

멀티 프로세서

 - 하나의 코어로 다중의 명령어를 동시에 처리하는 CPU입니다.

 - 각 프로세스 간 메모리 구분이 필요하거나 독립된 주소 공간을 가져야 하는 경우 사용됩니다.

 

장점

 - 독립된 구조로 안정성이 높습니다.

 - 프로세스 중 하나가 문제 발생되는 경우 다른 프로세스의 영향 없고 작업 속도 저하로 손해 되지

   않는 경우 문제 미발생됩니다.

 - 여러 개의 프로세스가 처리되어야 하는 경우 동일한 데이터를 사용하며 이러한 데이터를

   하나의 디스크에 두고 모든 프로세서가 공유하여 비용적으로 저렴합니다.

 

단점

 - 독립된 메모리 영역이므로 작업량이 많은 경우 Context Switching 잦아 주소 공간의 공유가 찾을 경우

    오버헤드가 발생되어 성능 저하의 문제가 있습니다.

 - Context Switching 과정에서 캐시 메모리 초기화 등 무거운 작업이 진행되어 시간 소요 등

    오버헤드가 발생됩니다.

 

Context Switching

 - CPU는 한 번에 하나의 프로세스만 실행 가능합니다.

 - CPU에서 여러 프로세스가 동작되는 경우 작업 처리하는 과정을 Context Switching이라 합니다.

 

728x90
반응형

'백수 > 컴퓨터구조' 카테고리의 다른 글

컴퓨터 기초 10  (0) 2022.12.19
컴퓨터 기초 9  (0) 2022.12.12
컴퓨터 기초 7(명령어 사이클과 인터럽트)  (0) 2022.12.07
컴퓨터 기초 6(레지스터)  (0) 2022.12.06
컴퓨터 기초 5  (0) 2022.11.29