연산 환경 변화와 GPU 원문 · 구조 분석
독서 과학기술 08 | 연산 환경 변화와 GPU 적용 학습 · 과학·기술 과학기술 08 연산 환경 변화와 GPU 과학·기술 — 컴퓨터공학 | 설명형 지문읽기 구조분석 문제풀기 연계포인트 지문 분야: 과학·기술(컴퓨터공학) | 주제: 컴퓨터 연산 연산(演算): 계산하여 답을 구하는 행위. 컴퓨터가 데이터를 처리하는 기본 단위. 환경의 변화와 GPU의 특징 | 유형: 설명형 1 최근까지 일반적인 컴퓨터 환경에서는 운영 체제 운영 체제(OS, Operating System): 컴퓨터의 하드웨어와 소프트웨어를 관리하는 기본 프로그램. 사용자가 컴퓨터를 사용할 수 있도록 기본 환경을 제공한다. 를 제어 제어(制御): 기계나 장치를 조절하고 통제함. 목적에 맞게 작동하도록 다루는 것. 하거나 사용자 인터페이스 인터페이스(interface): 사용자와 컴퓨터 사이의 소통 수단. 화면, 키보드, 마우스 등이 포함된다. 를 처리하고, 문서를 작성하거나 웹을 탐색하는 등 다양한 범용 작업 범용 작업(汎用作業): 특정한 목적에 한정되지 않고 다양한 용도로 사용될 수 있는 작업. 일반적인 컴퓨터 사용 환경의 작업들. 이 주요 연산 대상이었다. 이러한 작업은 명령어의 종류가 많고 그 순서가 수시로 바뀌며, 연산 간 종속성 종속성(從屬性): 하나의 연산이 다른 연산의 결과에 의존하는 성질. 앞의 연산이 끝나야 뒤의 연산을 수행할 수 있는 관계. 이 크다는 특징이 있다. 컴퓨터의 연산은 주로 여러 개의 코어 코어(core): 컴퓨터의 두뇌 역할을 하는 핵심 처리 장치. 명령어를 해석하고 각종 연산을 실행하는 단위. 로 구성된 ㉠ 중앙 처리 장치(CPU) 중앙 처리 장치(CPU, Central Processing Unit): 컴퓨터의 핵심 연산 장치. 여러 개의 고성능 코어로 구성되어 복잡한 제어 흐름을 정밀하게 조율한다. 에서 수행된다. 코어는 컴퓨터의 두뇌 역할을 하는 것으로 명령어를 해석하고 각종 연산을 실행한다. CPU는 여러 개의 고성능 코어로 구성되어 복잡한 제어 흐름을 정밀하게 조율할 수 있도록 설계되었다. 그러나 인공 지능 학습, 고해상도 고해상도(高解像度): 화면이나 이미지의 세밀함이 매우 높은 정도. 더 많은 픽셀로 구성되어 세부 표현이 정교하다. 영상 처리, 과학 기술 관련 계산 등 대규모 대규모(大規模): 규모가 매우 큰. 처리해야 할 데이터의 양이 방대한 경우를 가리킨다. 데이터를 대상으로 동일한 연산을 반복 수행해야 하는 작업이 증가하면서 기존의 연산 환경에 변화가 생겼다. CPU는 코어 수에 한계가 있고 개별 코어가 복잡한 제어 흐름에 맞추어 다양한 연산을 처리하도록 설계되어 있기 때문에 동일한 연산을 대량으로 반복 수행해야 하는 현대의 병렬 연산 병렬 연산(竝列演算): 여러 연산을 동시에 수행하는 처리 방식. 하나씩 순차적으로 처리하는 직렬 연산과 대비된다. 환경을 효율적으로 처리하기 어렵다. 이러한 상황에서 컴퓨터의 새로운 중심 장치로 떠오른 것이 ㉡ 그래픽 처리 장치(GPU) 그래픽 처리 장치(GPU, Graphics Processing Unit): 원래 그래픽 연산을 위해 설계된 장치. 수백~수천 개의 단순 연산 전용 코어를 갖추고 병렬 처리에 최적화되어 있다. 이다. 2 GPU는 컴퓨터 내에서 그래픽 처리를 담당하는 장치로, 수많은 픽셀 픽셀(pixel): 주소화될 수 있는 화면의 가장 작은 단위. 작은 점의 행과 열로 이루어져 있는 화면의 작은 점 각각을 이르는 말. *에 동일한 연산이 반복적으로 이루어지는 그래픽 연산의 특성상 다수의 코어가 병렬 병렬(竝列): 여럿이 나란히 늘어선 상태. 여러 연산을 동시에 수행하는 것. 로 작동하는 구조로 이루어져 있다. GPU는 수백 개에서 수천 개에 이르는 단순 연산 전용 코어를 하나의 칩 칩(chip): 반도체 재료 위에 전자 회로를 새긴 조각. 집적 회로(IC)가 새겨진 반도체 소자. 에 집적 집적(集積): 모아서 쌓음. 반도체 기술에서 많은 소자를 하나의 칩에 모아 넣는 것. 한 상태로, 많은 일꾼이 한 가지 작업을 동시에 수행하는 공장과 같다. 이는 동일한 명령어를 다수의 데이터에 반복 적용하는 방식에 최적화 최적화(最適化): 가장 좋은 성능이 나오도록 조정함. 특정 목적에 맞게 효율을 극대화하는 것. 되어 있으며, GPU의 코어는 제어 기능을 최소화 최소화(最小化): 가능한 한 적게 줄임. GPU 코어는 복잡한 제어 기능을 줄이고 단순 연산에 집중하도록 설계된다. 하고, 동일한 연산을 빠르게 수행하도록 설계되어 있다. 이러한 구조를 바탕으로 GPU는 원래의 목적인 그래픽 처리 외에도 다양한 분야에서 활용되고 있다. 인공 지능 학습에서는 행렬 곱셈 행렬 곱셈(行列乘法): 수학에서 행과 열로 이루어진 수의 배열(행렬)끼리 곱하는 연산. 인공지능 학습의 핵심 연산으로, GPU로 빠르게 처리할 수 있다. 과 역전파 역전파(逆傳播, backpropagation): 인공 신경망 학습에서 출력의 오차를 역방향으로 전달하며 가중치를 조정하는 알고리즘. 딥러닝의 핵심 학습 방식. 계산 등 동일한 연산의 반복이 이루어지며, 영상 처리나 고해상도 그래픽 구현에서는 수많은 픽셀 단위의 연산이 병렬로 적용된다. 또한 기상 예측, 유전자 배열 유전자 배열(遺傳子配列): DNA의 염기 서열을 분석하는 것. 대규모 수치 연산이 필요하여 GPU 병렬 처리가 활용된다. 분석, 유체 역학 유체 역학(流體力學): 액체나 기체 등 유체의 운동과 힘의 관계를 연구하는 역학의 한 분야. 시뮬레이션 등에서도 대규모 수치 연산을 빠르게 처리해야 하기 때문에, 병렬 구조에 기반한 연산 장치가 필요하다. 3 GPU 내부에는 수많은 연산 코어가 집적되어 있고 이들은 일정 단위로 묶여 연산 유닛 연산 유닛(演算 unit): 여러 개의 스레드를 병렬로 실행할 수 있는 독립적인 실행 공간. 공장 내에서 같은 작업을 수행하는 작업반에 비유할 수 있다. 을 형성한다. 연산 유닛은 여러 개의 스레드 스레드(thread): 연산을 수행하는 최소 단위. 하나의 스레드는 하나의 명령어를 실행한다. 를 병렬로 실행할 수 있는 독립적인 실행 공간으로, 공장 내에서 같은 작업을 수행하는 작업반에 비유할 수 있다. 스레드는 연산을 수행하는 최소 단위로, 하나의 스레드는 하나의 명령어를 실행한다. GPU는 여러 스레드를 하나의 스레드 블록 스레드 블록(thread block): GPU가 여러 스레드를 묶어서 관리하는 단위. 같은 블록 내의 스레드들은 기본적으로 동일한 명령어를 실행한다. 으로 묶어서 관리하는데, 스레드 블록 내의 스레드들은 기본적으로 동일한 명령어를 실행하게 된다. 명령어가 GPU에 전달되면 디코딩 디코딩(decoding): 부호화된 정보를 해독하는 과정. GPU에서 전달받은 명령어를 해석하여 실행 가능한 형태로 변환하는 것. 과정을 통해 해석되며, 스케줄러 스케줄러(scheduler): 작업을 관리하고 분배하는 장치. 명령어에 따라 스레드 블록을 각 연산 유닛에 분배하고 병렬 처리를 제어한다. 는 이 명령어에 따라 스레드 블록을 각 연산 유닛에 분배하고 병렬 처리가 이루어지도록 제어한다. 만약 연산량이 균등하게 균등하게(均等하게): 고르고 한결같이. 모든 연산 유닛에 같은 양의 작업이 배분된 상태. 분배되지 않으면 일부 연산 유닛은 다른 유닛의 연산이 끝날 때까지 대기 대기(待機): 순서를 기다림. 연산이 완료될 때까지 작업을 멈추고 기다리는 상태. 상태에 놓이게 되어 전체 GPU의 자원이 비효율적 비효율적(非效率的): 들인 노력에 비해 성과가 적은. 자원이 낭비되는 상태. 으로 사용되는 문제가 발생할 수 있다. 분배가 끝나면 스레드 블록은 병렬로 연산을 실행하고, 실행한 결과는 GPU 내의 메모리에 저장된다. 4 GPU는 연산 속도를 높이기 위해 계층화된 계층화된(階層化된): 등급이나 수준에 따라 여러 단계로 나뉜. 속도·용량·범위가 다른 여러 층위의 메모리로 구성된 것. 메모리 구조를 갖추고 있다. 메모리는 접근 접근(接近): 가까이 다가감. 데이터를 읽거나 쓰기 위해 메모리 위치에 닿는 것. 속도, 용량 용량(容量): 물건이나 데이터를 담을 수 있는 분량. 메모리가 저장할 수 있는 데이터의 총량. , 사용 범위 등에 따라 전역 메모리 전역 메모리(global memory): 모든 스레드가 접근할 수 있는 대용량 저장 공간. 접근 속도가 느려 연산 중보다는 결과 저장에 활용된다. , 공유 메모리 공유 메모리(shared memory): 같은 스레드 블록 내의 스레드들이 공동으로 사용하는 메모리. 전역 메모리보다 빠르면서도 여러 스레드 간 정보 공유가 가능하다. , 레지스터 레지스터(register): 개별 스레드만 사용할 수 있는 저장소. 용량은 작지만 접근 속도가 매우 빠르다. 로 나뉜다. 전역 메모리는 모든 스레드가 접근할 수 있는 대용량 저장 공간으로, 다음 단계의 연산이나 외부와의 공유를 위해 연산 실행 결과를 저장한다. 다만 접근 속도가 느리다는 단점이 있기 때문에 연산 중에 사용하기에는 적합하지 않다. 따라서 연산 중에는 개별 스레드만 사용할 수 있는 저장소인 레지스터나 같은 스레드 블록 내의 스레드들이 공동으로 사용하는 공유 메모리를 활용하여 데이터를 저장하고 처리하는 방식으로 성능을 최적화한다. 레지스터는 용량은 작지만 접근이 매우 빠르고, 공유 메모리는 전역 메모리보다 빠르면서도 여러 스레드 간의 정보 공유가 가능하다는 장점이 있다. 다만, 같은 스레드 블록 내의 여러 스레드가 동시에 같은 메모리 공간에 접근할 경우, 충돌 충돌(衝突): 서로 부딪침. 동시에 같은 자원에 접근하여 오류나 지연이 생기는 것. 이 발생해 병렬성이 저하되어 연산이 지연 지연(遲延): 예정보다 늦어짐. 처리가 늦어져 성능이 저하되는 상태. 되거나 처리 속도가 저하되는 현상이 나타날 수 있다. 따라서 메모리의 효율적 분배와 접근 방식의 조정은 GPU 연산 성능에 중요한 영향을 미친다. 5 한편, GPU는 동일한 명령어를 다수의 데이터에 일괄 일괄(一括): 한꺼번에 묶어서 처리함. 개별 처리 없이 모든 대상에 동시에 같은 처리를 적용하는 것. 적용하는 방식에 최적화되어 있지만, ㉮ 분기문 분기문(分岐文): 조건 판단에 따라 실행 경로를 분리하거나 연결하는 명령 구조. 예: ‘값이 기준보다 크면 A, 아니면 B를 수행하라.’ 이나 조건 판단 조건 판단(條件判斷): 특정 수치나 상태에 따라 연산의 흐름을 다르게 결정하는 과정. 이 자주 등장하는 연산에서는 병렬 처리의 효율이 낮아질 수 있다. 조건 판단은 특정 수치나 상태에 따라 연산의 흐름을 다르게 결정하는 과정이며, 분기문은 이러한 조건 판단에 따라 실행 경로를 분리하거나 연결하는 명령 구조를 의미한다. 예컨대, ‘어떤 값이 일정 기준보다 크면 A 연산을, 그렇지 않으면 B 연산을 수행하라.’는 명령이 있을 경우, 스레드마다 실행해야 할 작업이 달라진다. GPU는 스레드 블록 내 모든 스레드가 동일한 명령어를 동시에 수행하도록 설계되어 있기 때문에, 이러한 분기문이 삽입되면 일부 스레드는 다른 스레드의 작업이 끝날 때까지 대기하게 되고, 그 결과 병렬성이 손실 손실(損失): 잃어버리거나 줄어듦. 분기문으로 인해 스레드가 대기하면서 병렬 처리 효율이 떨어지는 것. 되는 현상이 발생한다. 따라서 GPU는 단순하고 반복적인 연산에는 매우 효과적이지만, 연산 경로가 자주 갈라지거나 복잡한 조건 판단이 요구되는 작업에서는 성능이 저하될 수 있다. 6 CPU와 GPU의 장점을 고려하여, 최근의 컴퓨팅 시스템은 두 장치의 기능을 나누어 운용하는 구조로 발전하고 있다. 각 장치의 강점 강점(强點): 뛰어나게 잘하는 점. 각 장치가 특히 잘 처리할 수 있는 작업의 성격. 을 바탕으로 전체 시스템을 구성하여 연산 효율을 높이는 것이다. 연산 작업의 성격과 목적에 따라 CPU와 GPU 간 연산 흐름을 유기적 유기적(有機的): 부분들이 서로 긴밀하게 연결되어 전체를 이루는. CPU와 GPU가 독립적이지 않고 서로 연계하여 작동하는 것. 으로 조정할 수 있도록 하드웨어 하드웨어(hardware): 컴퓨터를 이루는 기계 장치. CPU, GPU, 메모리 등 물리적 부품들. 및 소프트웨어 소프트웨어(software): 컴퓨터를 작동시키는 프로그램. 운영 체제, 응용 프로그램 등. 설계 방식이 변화하고, 두 연산 장치의 성능을 최대한으로 끌어내면서도 효과적인 활용을 위한 프로그래밍이 이루어지고 있다. 이렇게 현대의 컴퓨팅 시스템은 두 연산 장치가 각자의 구조적 구조적(構造的): 짜임새나 틀에 관련된. 장치가 설계된 방식에서 비롯된 특성. 강점을 최대한 발휘할 수 있도록 하여 더욱 복잡하고 대규모화된 연산 환경에 대응하고 있다. *픽셀: 주소화될 수 있는 화면의 가장 작은 단위. 작은 점의 행과 열로 이루어져 있는 화면의 작은 점 각각을 이르는 말. 배경지식 & 해제 ▼ 해제 — 이 글의 핵심 이 글은 연산 환경 변화에 따라 컴퓨터의 중심 장치로 떠오르게 된 그래픽 처리 장치(GPU)에 대해 설명한다. 기존의 컴퓨터는 명령어의 종류가 많고 순서가 수시로 바뀌며 연산 간 종속성이 큰 작업들을 주로 수행해 여러 개의 고성능 코어로 구성된 CPU를 활용했다. 그러나 인공지능 학습, 고해상도 영상 처리 등 대규모 데이터에 동일한 연산을 반복 수행해야 하는 작업이 증가하면서 다수의 코어가 병렬로 작동하는 GPU를 활용하게 되었다. 현재는 연산 작업의 성격과 목적에 따라 CPU와 GPU의 장점을 모두 고려하는 컴퓨팅 시스템 설계가 이루어지고 있다. CPU vs GPU — 설계 철학의 차이 CPU는 소수의 고성능 코어(보통 4~32개)로 구성되어 복잡한 명령어를 순차적으로 빠르게 처리하는 데 최적화되어 있다. 이를 ‘레이턴시(latency) 최적화’라 한다. 반면 GPU는 수백~수천 개의 단순 코어로 구성되어 동일한 연산을 대량의 데이터에 동시에 적용하는 병렬 처리에 특화되어 있으며, 이를 ‘스루풋(throughput) 최적화’라 한다. 비유하자면 CPU는 소수의 숙련된 장인이고, GPU는 단순 작업을 동시에 수행하는 대규모 공장이다. GPGPU — GPU의 범용 연산 활용 GPGPU(General-Purpose computing on GPU)는 그래픽 처리 이외의 범용 연산에 GPU를 활용하는 기술이다. NVIDIA의 CUDA 플랫폼이 대표적이며, GPU의 수천 개 코어를 과학 계산, 딥러닝 등 다양한 분야에 활용할 수 있게 해 준다. ChatGPT 같은 대규모 언어 모델의 학습에도 수천 개의 GPU가 활용되는데, 이는 행렬 곱셈 등 동일 연산의 대규모 반복이 핵심이기 때문이다. 이 글에서 언급된 ‘다양한 분야에서의 GPU 활용’이 바로 GPGPU의 개념이다. 딥러닝과 GPU — AI 연산 혁명 딥러닝의 핵심 연산은 행렬 곱셈(matrix multiplication)과 역전파(backpropagation)다. 이 두 연산은 모두 동일한 수식을 대규모 데이터에 반복 적용하는 구조이므로, GPU의 병렬 처리에 완벽히 맞아떨어진다. 2012년 이후 딥러닝 혁명이 가능했던 핵심 이유 중 하나가 바로 GPU 연산 능력의 활용이다. 현재의 AI 반도체(TPU, NPU 등)도 GPU의 병렬 처리 원리를 계승·발전시킨 것이다. ✎ 구조 분석 지문 유형 유형 설명형 — CPU와 GPU의 구조적 차이를 중심으로 연산 환경의 변화, GPU의 작동 원리, 메모리 구조, 한계, 발전 방향을 체계적으로 설명한다. 주제 컴퓨터 연산 환경의 변화와 GPU의 특징 문단별 중심 내용 문단 핵심 내용 문단 역할 ① 연산 환경 변화: 범용 작업 중심의 CPU에서 병렬 연산 수요 증가로 GPU 부상 화제 도입 ② GPU의 구조(다수의 단순 코어)와 다양한 활용 분야(AI, 영상, 과학 계산) 개념 설명 ③ GPU 내부 작동: 연산 유닛, 스레드, 스레드 블록, 스케줄러의 역할 원리 설명 ④ GPU의 계층화된 메모리 구조: 전역 메모리, 공유 메모리, 레지스터 심화 설명 ⑤ GPU의 한계: 분기문/조건 판단 시 병렬성 손실 한계 제시 ⑥ CPU+GPU 협업 구조로 발전하는 현대 컴퓨팅 시스템 전망·마무리 TIP. 문단 구조 파악 전략 ①②는 'CPU의 한계 → GPU 등장'이라는 인과 관계로 연결된다. ③④는 GPU의 내부 구조를 작동 원리(③)와 메모리 구조(④)로 나누어 설명한다. ⑤는 역접 전환('한편')으로 GPU의 한계를 제시하고, ⑥은 해결 방향으로 마무리한다. 논리 흐름도 ① 연산 환경 변화 → CPU의 한계 → GPU 부상 ↓ ② GPU 구조·활용 → 수백~수천 단순 코어, 병렬 최적화 / AI·영상·과학 ↓ ③ 작동 원리 → 스레드 블록 → 연산 유닛 분배 → 병렬 실행 ↓ ④ 메모리 구조 → 전역(느림·대용량) / 공유(중간) / 레지스터(빠름·소용량) ↓ ⑤ GPU의 한계 → 분기문 → 스레드 대기 → 병렬성 손실 ↓ ⑥ CPU+GPU 협업 → 각 장치의 강점 활용, 유기적 연산 분담 핵심 포인트 5 Key 1. CPU vs GPU — 설계 목적의 차이 CPU는 ‘소수의 고성능 코어’로 복잡한 제어 흐름을 정밀하게 처리하고, GPU는 ‘수백~수천 개의 단순 코어’로 동일한 연산을 대량 병렬 수행한다. 각 장치에 적합한 작업 유형을 정확히 구분하는 것이 핵심이다. Key 2. GPU의 병렬 처리 구조 스레드(최소 단위) → 스레드 블록(묶음 관리) → 연산 유닛(병렬 실행 공간) 순서로 작동한다. 스케줄러가 스레드 블록을 각 연산 유닛에 분배하며, 연산량이 균등하게 분배되어야 대기 없이 병렬 실행이 이루어진다. Key 3. GPU 메모리 계층 — 속도-용량 트레이드오프 레지스터(가장 빠름, 용량 작음, 개별 스레드) → 공유 메모리(중간, 블록 내 공유) → 전역 메모리(느림, 대용량, 모든 스레드). 연산 중에는 빠른 레지스터·공유 메모리를, 결과 저장·외부 공유에는 전역 메모리를 활용한다. Key 4. 분기문과 병렬성 손실 분기문이 삽입되면 스레드마다 실행 경로가 달라진다. GPU는 모든 스레드가 동일한 명령어를 동시에 수행하도록 설계되어 있으므로, 일부 스레드는 다른 스레드의 완료를 대기해야 하고 그 결과 병렬성이 손실된다. Key 5. CPU+GPU 협업 시스템 최근 컴퓨팅은 CPU와 GPU를 ‘택일’하는 것이 아니라 작업 성격에 따라 ‘유기적으로 분담’하는 구조다. 복잡한 제어 흐름은 CPU, 동일 연산의 대규모 반복은 GPU가 담당하는 방식으로 시스템 효율을 극대화한다. 핵심 개념 사전 CPU (중앙 처리 장치) 여러 개의 고성능 코어로 구성된 컴퓨터의 핵심 연산 장치. 복잡한 제어 흐름을 정밀하게 조율할 수 있도록 설계되어 있으며, 명령어 종류가 많고 순서가 수시로 바뀌는 범용 작업에 적합하다. GPU (그래픽 처리 장치) 원래 그래픽 처리를 위해 설계된 장치로, 수백~수천 개의 단순 연산 전용 코어를 하나의 칩에 집적한다. 동일한 명령어를 다수의 데이터에 반복 적용하는 병렬 처리에 최적화되어 있으며, 현재는 AI, 과학 계산 등 다양한 분야에 활용된다. 코어 (core) 컴퓨터의 두뇌 역할을 하는 핵심 처리 단위. 명령어를 해석하고 각종 연산을 실행한다. CPU의 코어는 복잡한 연산을 처리하는 고성능 코어이고, GPU의 코어는 단순 연산을 빠르게 수행하는 전용 코어다. 병렬 처리 / 직렬 처리 병렬 처리는 여러 연산을 동시에 수행하는 방식이고, 직렬(순차) 처리는 하나의 작업이 끝나야 다음 작업을 수행하는 방식이다. GPU의 수천 개 코어가 동시에 같은 연산을 수행하는 것이 대표적인 병렬 처리이다. 스레드 / 스레드 블록 스레드는 연산을 수행하는 최소 단위로, 하나의 스레드는 하나의 명령어를 실행한다. GPU는 여러 스레드를 하나의 스레드 블록으로 묶어 관리하며, 같은 블록 내의 스레드들은 기본적으로 동일한 명령어를 실행한다. 연산 유닛 / 스케줄러 연산 유닛은 여러 스레드를 병렬로 실행할 수 있는 독립적인 실행 공간이다. 스케줄러는 명령어에 따라 스레드 블록을 각 연산 유닛에 분배하고 병렬 처리를 제어하는 장치다. 연산량이 균등하게 분배되지 않으면 일부 유닛이 대기 상태에 놓여 자원이 낭비된다. 전역 메모리 / 공유 메모리 / 레지스터 GPU의 계층화된 메모리 구조. 전역 메모리는 모든 스레드가 접근 가능한 대용량 저장 공간이나 접근 속도가 느리다. 공유 메모리는 같은 스레드 블록 내에서 공유되며 전역보다 빠르다. 레지스터는 개별 스레드만 사용하는 저장소로 가장 빠르지만 용량이 작다. 분기문 / 조건 판단 조건 판단은 특정 수치나 상태에 따라 연산의 흐름을 다르게 결정하는 과정이다. 분기문은 이러한 조건 판단에 따라 실행 경로를 분리하거나 연결하는 명령 구조다. GPU에서 분기문이 삽입되면 스레드별 실행 경로가 달라져 병렬성이 손실된다. 행렬 곱셈 / 역전파 행렬 곱셈은 인공지능 학습의 핵심 연산으로, 동일한 수식을 대규모 데이터에 반복 적용하는 구조여서 GPU의 병렬 처리에 최적화된다. 역전파는 신경망 학습에서 출력의 오차를 역방향으로 전달하며 가중치를 조정하는 알고리즘이다. 종속성 (연산 간) 하나의 연산이 다른 연산의 결과에 의존하는 성질. 앞의 연산이 끝나야 뒤의 연산을 수행할 수 있는 관계로, 종속성이 크면 병렬 처리가 불가능하다. 범용 작업은 종속성이 크고, GPU에 적합한 작업은 종속성이 작다. 집적 / 칩 집적(集積)은 많은 소자를 하나의 칩에 모아 넣는 것이다. GPU는 수백~수천 개의 단순 연산 전용 코어를 하나의 칩에 집적하여 병렬 처리 능력을 극대화한다. GPU 메모리 비교표 구분 전역 메모리 공유 메모리 레지스터 접근 범위 모든 스레드 같은 스레드 블록 내 스레드 개별 스레드만 접근 속도 느림 빠름 (전역보다) 매우 빠름 용량 대용량 중간 작음 주요 용도 연산 결과 저장, 외부 공유 스레드 간 정보 공유 연산 중 데이터 처리 TIP. 메모리 계층 기억법 ‘빠를수록 개인 전용, 느릴수록 공유’로 기억하라. 레지스터(개인)→공유 메모리(블록)→전역 메모리(전체). ‘접근이 느리다’는 ‘접근이 불가능하다’가 아님에 주의. 전역 메모리도 연산 중 접근은 가능하지만 느려서 부적합한 것이다. 학습 팁 (tip-box) TIP 1. CPU·GPU 적합 작업 구분 CPU: 명령어 종류 多, 순서 수시 변경, 연산 간 종속성 大, 복잡한 제어 흐름 → 범용 작업(문서 작성, 웹 탐색, 운영 체제 제어). GPU: 동일 연산 반복, 종속성 小, 단순 반복 → AI 학습, 영상 처리, 과학 계산. TIP 2. 분기문 문항 함정 주의 분기문이 삽입되면 일부 스레드는 ‘대기’하게 된다. ‘동시에 다른 작업을 수행한다’는 표현은 오답이다. GPU는 스레드 블록 내 모든 스레드가 동일한 명령어를 수행하도록 설계되어 있으므로, 다른 경로의 스레드는 대기만 할 뿐이다. TIP 3. 메모리 접근 속도 함정 주의 전역 메모리의 접근 속도가 ‘느리다’는 것이 ‘접근이 막혀 있다’는 의미가 아니다. 연산 중에도 접근 자체는 가능하지만 속도가 느려 비효율적이기 때문에 레지스터·공유 메모리를 우선 사용하는 것이다. ✔ 문제풀기 내 점수 0 / 0 OX 확인 문제 1. CPU는 여러 개의 고성능 코어로 구성되어 복잡한 제어 흐름을 정밀하게 조율할 수 있도록 설계되었다. Basic O X 2. GPU는 원래 그래픽 처리를 담당하기 위해 설계된 장치이다. Basic O X 3. 스레드는 연산을 수행하는 최소 단위로, 하나의 스레드는 하나의 명령어를 실행한다. Basic O X 4. 레지스터는 용량은 작지만 접근이 매우 빠르고, 개별 스레드만 사용할 수 있는 저장소이다. Basic O X 5. 스케줄러는 명령어에 따라 스레드 블록을 각 연산 유닛에 분배하고 병렬 처리를 제어한다. Basic O X 6. 공유 메모리는 같은 스레드 블록 내의 스레드들이 공동으로 사용하며, 전역 메모리보다 접근 속도가 빠르다. Basic O X 7. GPU는 인공 지능 학습에서 행렬 곱셈과 역전파 계산 등 동일한 연산의 반복에 활용된다. Basic O X 8. CPU는 코어 수에 한계가 있고 동일한 연산을 대량으로 반복 수행해야 하는 현대의 병렬 연산 환경을 효율적으로 처리하기 어렵다. Intermediate O X 9. 연산 유닛은 여러 스레드를 병렬로 실행할 수 있는 독립적인 실행 공간으로, 공장 내 작업반에 비유할 수 있다. Intermediate O X 10. 분기문이 삽입되면 스레드마다 실행해야 할 작업이 달라지고, 일부 스레드는 다른 스레드의 작업이 끝날 때까지 대기하게 된다. Intermediate O X 11. 전역 메모리는 접근 속도가 느려 연산 중에 사용하기에 적합하지 않으며, 다음 단계의 연산이나 외부 공유를 위해 결과를 저장하는 데 활용된다. Intermediate O X 12. 같은 스레드 블록 내의 여러 스레드가 동시에 같은 메모리 공간에 접근할 경우 충돌이 발생해 병렬성이 저하될 수 있다. Intermediate O X 13. 최근의 컴퓨팅 시스템은 CPU와 GPU 중 하나를 선택하는 방식이 아니라 두 장치의 기능을 유기적으로 분담하는 구조로 발전하고 있다. Intermediate O X 14. GPU는 단순하고 반복적인 연산에는 매우 효과적이지만, 연산 경로가 자주 갈라지거나 복잡한 조건 판단이 요구되는 작업에서는 성능이 저하될 수 있다. Intermediate O X 15. GPU는 소수의 고성능 코어를 탑재하여 복잡한 제어 흐름을 처리하는 데 최적화되어 있다. Hard O X [함정] 비교 혼동 GPU가 아닌 CPU의 특성(소수의 고성능 코어, 복잡한 제어 흐름)을 GPU의 것으로 바꿔치기한 함정이다. GPU는 수백~수천 개의 단순 연산 전용 코어로 병렬 처리에 최적화되어 있다. 16. 전역 메모리는 접근 속도가 느려 연산 중에는 접근 자체가 불가능하므로, 연산 유닛 내부의 메모리만 사용할 수 있다. Hard O X [함정] 조건 왜곡 전역 메모리는 접근 속도가 느려 연산 중에 사용하기에 ‘적합하지 않다’고 했을 뿐, 접근 자체가 불가능하다고 하지 않았다. ‘부적합하다’를 ‘불가능하다’로 과장한 함정이다. 17. 분기문이 삽입되면 GPU의 스레드들은 동시에 각각 다른 연산을 수행하므로, 이때가 오히려 병렬 처리 효율이 가장 높은 상태이다. Hard O X [함정] 인과 역전 분기문이 삽입될 때 GPU의 병렬 처리 효율은 ‘낮아진다’. 스레드들이 동시에 다른 연산을 수행하는 것이 아니라, 일부는 대기하게 되어 병렬성이 손실된다. 18. 레지스터는 같은 스레드 블록 내의 모든 스레드가 공동으로 사용할 수 있어 스레드 간 정보 공유에 효과적이다. Hard O X [함정] 범위 변조 레지스터는 ‘개별 스레드만’ 사용할 수 있는 저장소이다. 스레드 간 정보 공유에 효과적인 것은 공유 메모리의 특성이다. 레지스터와 공유 메모리의 접근 범위를 혼동하게 만드는 함정이다. 19. 연산량이 균등하게 분배되지 않더라도 스케줄러가 실시간으로 자원을 재배분하기 때문에 연산 유닛이 대기 상태에 놓이는 일은 발생하지 않는다. Hard O X [함정] 무관 삽입 지문에는 연산량이 균등하게 분배되지 않으면 일부 연산 유닛이 대기 상태에 놓여 자원이 비효율적으로 사용된다고 명확히 서술되어 있다. ‘스케줄러의 실시간 재배분’은 지문에 없는 내용이다. 20. 최근 컴퓨팅 시스템의 발전 방향은 CPU를 완전히 GPU로 대체하여 모든 연산을 병렬 처리 방식으로 통일하는 것이다. Hard O X [함정] 비교 혼동 6문단에 따르면 최근 컴퓨팅 시스템은 CPU를 대체하는 것이 아니라 CPU와 GPU 두 장치의 기능을 나누어 유기적으로 운용하는 구조로 발전하고 있다. ‘대체’가 아닌 ‘협업’이 핵심이다. 수능형 문제 (5문항) 1 윗글에 대한 설명으로 가장 적절한 것은? ① CPU와 GPU를 구성하는 세부 장치들의 작동 원리를 비교·분석하며 각각의 장단점을 설명하고 있다. ② GPU의 특성을 바탕으로 컴퓨터 연산 환경의 변화에 따른 GPU의 활용도 변화에 대해 설명하고 있다. ③ 데이터 저장 방식의 발전에 따라 GPU의 연산 처리 속도가 향상되어 온 과정을 통시적 관점에서 설명하고 있다. ④ 앞으로의 연산 환경에서 발생할 수 있는 문제점을 예측하고 이를 해결할 수 있는 새로운 기술을 모색하고 있다. ⑤ CPU와 GPU에서 이루어지는 병렬 연산 방식의 공통점과 차이점을 설명하고 두 방식의 결합 가능성을 이야기하고 있다. 출제 의도 글의 구조와 전개 방식을 파악할 수 있는지 변별한다. 선지 분석 ① 오답 — CPU와 GPU를 구성하는 세부 장치들의 작동 원리 비교·분석 내용은 드러나 있지 않다. ② 정답 — 이 글은 대규모 데이터 처리 수요가 증가하면서 다수의 코어를 병렬로 작동시키는 GPU를 더 많은 연산 처리에 활용하게 되었다고 설명하고 있다. ③ 오답 — GPU의 데이터 저장 방식을 설명하고 있지만, 데이터 저장 방식의 발전에 따라 연산 처리 속도가 향상되어 온 과정을 설명하는 것은 아니다. ④ 오답 — 앞으로의 연산 환경에서 발생할 문제점을 예측하거나 새로운 기술을 모색하는 부분은 드러나지 않는다. ⑤ 오답 — CPU와 GPU의 결합 방향을 언급하지만, 두 장치에서 사용되는 병렬 연산 방식의 공통점과 차이점을 설명하는 내용은 드러나지 않는다. 2 ㉠과 ㉡에 대한 이해로 적절하지 않은 것은? ① ㉠은 다양한 연산을 처리하는 것이 불가능하지만, ㉡은 다양한 연산을 처리하는 것이 가능하다. ② ㉠은 명령어의 종류가 많은 복잡한 작업에 적합하도록 설계되었고, ㉡은 동일한 명령어를 반복하는 단순한 작업에 적합하도록 설계되었다. ③ ㉠은 컴퓨터 내에서 수행할 수 있는 다양한 작업을 위해 만들어졌지만, ㉡은 원래 그래픽 처리 작업을 중점적으로 수행하기 위해 만들어졌다. ④ ㉠과 ㉡은 구조와 연산 처리 방식은 다르지만, 모두 컴퓨터의 주요 연산 장치로 활용될 수 있다. ⑤ ㉠과 ㉡은 모두 주어진 명령어를 해석하고 연산을 실행하는 코어로 구성되어 있지만, 장착한 코어의 종류에는 차이가 있다. 출제 의도 CPU(㉠)와 GPU(㉡)의 구조적 특성 차이를 정확히 이해하는지 변별한다. 선지 분석 ① 적절하지 않음 (정답) — CPU는 개별 코어가 복잡한 제어 흐름에 맞추어 다양한 연산을 처리하도록 설계되어 있으므로 다양한 연산을 처리하지 못한다는 것은 적절하지 않다. 또한 GPU는 동일한 연산을 빠르게 수행하도록 설계되어 있다. ② 적절 — CPU가 사용되는 환경은 명령어의 종류가 많고 연산 간 종속성이 큰 상황이고, GPU가 사용되는 환경은 동일한 연산이 반복적으로 이루어지는 상황이다. ③ 적절 — CPU는 다양한 작업을 위해 만들어졌고, GPU는 원래 그래픽 처리 작업을 위해 만들어졌다. ④ 적절 — CPU와 GPU는 구조와 연산 처리 방식은 다르지만 모두 컴퓨터의 중심 장치로 활용될 수 있다. ⑤ 적절 — CPU는 고성능 코어를, GPU는 단순 연산 전용 코어를 사용한다. 함정 해부 [속성 전도] CPU가 다양한 연산을 처리할 수 ‘없다’고 표현하여 CPU의 핵심 강점을 정반대로 왜곡했다. 3 <보기>는 GPU의 구조를 나타낸 것이다. 윗글을 읽고 <보기>를 이해한 내용으로 적절하지 않은 것은? < 보 기 > [GPU 구조 그림 — 유닛 A, B, C에 스레드 블록이 분배된 상태] 모든 스레드는 동일한 성능으로 작동하며, 유닛 내 스레드의 수와 연산량은 비례한다. ① 유닛 A~C는 스케줄러에 의해 스레드 블록이 균등하게 분배된 상태로, 대기 상태 없이 병렬로 작동한다. ② 스레드 블록이 유닛 A~C에 분배된 것은 GPU에 전달된 명령어가 디코딩 과정을 통해 해석된 결과에 의한 것이다. ③ 같은 스레드 블록 내의 여러 스레드가 동시에 같은 메모리 공간에 접근하는 경우 충돌이 발생하여 병렬성이 저하될 수 있다. ④ 전역 메모리는 모든 스레드 간의 정보 공유가 가능하지만 연산 중에는 접근 경로가 막혀 있기 때문에 각 유닛 내의 메모리를 사용한다. ⑤ 현재 작업 중인 연산이 모두 종료된 후 새로운 연산을 수행하는 경우 스레드 블록은 새로운 명령어에 따라 다시 연산 유닛에 분배된다. 출제 의도 GPU의 구조와 메모리 특성을 구체적 사례에 적용할 수 있는지 변별한다. 선지 분석 ① 적절 — 스케줄러가 스레드 블록을 각 연산 유닛에 분배하며, 균등하게 분배되면 대기 상태 없이 병렬 처리가 이루어진다. ② 적절 — 명령어가 디코딩 과정을 거쳐 해석되며, 스케줄러가 이에 따라 스레드 블록을 분배한다. ③ 적절 — 같은 스레드 블록 내 여러 스레드가 동시에 같은 메모리 공간에 접근하면 충돌이 발생하여 병렬성이 저하된다. ④ 적절하지 않음 (정답) — 전역 메모리는 모든 스레드가 접근할 수 있지만 접근 속도가 느려 연산 중에 사용하기에 적합하지 않은 것이다. ‘접근 경로가 막혀 있다’는 것은 적절하지 않다. ⑤ 적절 — 스레드 블록은 명령어에 따라 각 연산 유닛에 분배되므로, 새로운 연산 시 새로운 명령어에 따라 다시 분배된다. 함정 해부 [과잉 해석] 접근 속도가 ‘느리다’를 접근 경로가 ‘막혀 있다’로 과잉 해석하여 혼동을 유도한다. 4 ㉮의 이유로 가장 적절한 것은? ① 메모리 계층 간의 데이터 이동으로 인해 연산 효율이 저하되기 때문에 ② 전역 메모리의 접근 속도가 느려져서 병렬 처리의 성능이 떨어지기 때문에 ③ 블록 내의 스레드는 동일한 명령어를 동시에 수행하도록 설계되어 있기 때문에 ④ 모든 스레드가 동시에 작업하지 못하고 일부 스레드는 대기 상태에 있기 때문에 ⑤ 블록 내의 스레드가 동시에 다른 작업을 수행하면서 병렬성이 손실되는 현상이 발생하기 때문에 출제 의도 분기문/조건 판단 시 GPU 병렬 처리 효율이 낮아지는 이유를 정확히 추론할 수 있는지 변별한다. 선지 분석 ① 오답 — 메모리 계층 간 데이터 이동으로 인한 효율 저하는 메모리 구조와 관련된 것이지 분기문이나 조건 판단으로 인한 것이 아니다. ② 오답 — 전역 메모리의 접근 속도가 느려지는 것은 메모리 구조와 관련이 있는 것이지 분기문이나 조건 판단과는 관련이 없다. ③ 오답 — 블록 내 스레드가 동일한 명령어를 동시에 수행한다는 것은 GPU의 기본 원리이지, ㉮(병렬 처리 효율이 낮아지는 현상)를 직접 설명하는 것이 아니다. ④ 정답 — 분기문이나 조건 판단이 삽입되면 스레드마다 실행할 작업이 달라져 일부는 대기 상태에 놓이고, 그 결과 병렬성이 손실된다. ⑤ 오답 — 분기문이 삽입되면 일부 스레드는 대기하고 일부는 작업을 수행하면서 병렬성이 손실된다. 블록 내 스레드가 동시에 다른 작업을 수행하는 것은 아니다. 함정 해부 [원인과 결과 혼동] ③은 GPU의 기본 설계 원리(원인의 전제)이지 ㉮의 직접적 이유(결과)가 아니다. ④가 분기문으로 인한 실제 현상(대기 상태)을 정확히 지적한다. 5 윗글을 바탕으로 <보기>의 수치 모델을 이해한 내용으로 가장 적절한 것은? < 보 기 > 기상 예측 기관에서는 수십 년간 축적된 데이터를 바탕으로 대기 흐름을 예측하는 수치 모델을 운용한다. 이 모델은 먼저 각 지역의 초기 상태를 정밀하게 분석하고 변수 간의 상호 작용을 조율하는 작업을 거친다. 이후에는 시간 단위로 지구 대기의 물리적 상태를 측정하는데 이때 엄청난 양의 격자 기반 계산이 병렬적으로 이루어진다. 이 연산은 각각의 지역 단위 데이터를 바탕으로 동일한 계산을 반복 수행하며, 상황에 따라 일부 구간에서는 바람의 급격한 변화나 예외적인 대기 조건이 나타나 연산 흐름이 갈라지기도 한다. 이 과정에서 연산 지연이나 처리 속도의 저하가 발생하지 않도록 하기 위해 해당 시스템은 상황에 맞게 스스로 연산 흐름과 데이터를 유기적으로 분담할 수 있는 구조로 설계되어 있다. ① 각 지역의 초기 상태를 정밀하게 분석하고 변수 간의 상호 작용을 조절하기 위해 병렬 처리 방식을 활용하겠군. ② 시간 단위로 지구 대기의 물리적 상태를 측정할 때는 연산 간 종속성을 고려하여 스레드들이 순차적으로 연산을 수행하게 하겠군. ③ 각각의 지역 단위 데이터를 바탕으로 동일한 계산을 반복적으로 수행하는 중에는 메모리 접근 방식을 조정하여 충돌이 발생하지 않도록 하겠군. ④ 연산 지연이나 처리 속도의 저하가 발생하는 경우 현재 시스템의 연산 흐름을 점검하여 CPU나 GPU 중 하나를 선택하여 데이터 처리를 집중시키겠군. ⑤ 바람의 급격한 변화나 예외적인 대기 조건이 나타나 연산 흐름이 갈라질 때는 GPU 내의 모든 스레드가 동일한 연산을 수행하도록 하여 연산 효율을 높이겠군. 출제 의도 지문의 내용을 구체적 사례에 정확히 적용할 수 있는지 변별한다. 선지 분석 ① 오답 — 각 지역의 초기 상태를 정밀하게 분석하고 변수 간의 상호 작용을 조절하는 것은 복잡한 제어 흐름을 다루는 것이므로 CPU를 활용하는 것이 더 적합하다. ② 오답 — 시간 단위로 지구 대기의 물리적 상태를 측정하는 연산은 병렬적으로 이루어진다고 하였으므로 스레드들이 순차적으로 연산을 수행한다는 것은 적절하지 않다. ③ 정답 — GPU는 연산 성능 최적화를 위해 연산 중에는 레지스터나 공유 메모리를 활용하며, 같은 스레드 블록 내의 여러 스레드가 동시에 접근할 경우 충돌이 발생할 수 있다고 하였다. 동일한 계산을 반복적으로 수행하는 중에 충돌 방지를 위해 메모리 접근 방식을 조정하는 것은 적절하다. ④ 오답 — 해당 시스템은 상황에 맞게 연산 흐름과 데이터를 유기적으로 분담할 수 있는 구조로 설계되어 있으므로, CPU나 GPU 중 하나에 집중시키는 것이 아니라 유기적으로 조정할 것이다. ⑤ 오답 — 바람의 급격한 변화나 예외적인 대기 조건이 나타난 것은 분기문이 나타난 상황으로, GPU를 사용한다면 일부 스레드는 대기하게 되어 병렬성이 손실된다. 함정 해부 [잘못된 적용] ④는 CPU와 GPU의 ‘유기적 협업’을 ‘양자택일’로 왜곡했고, ⑤는 분기 상황에서도 동일 연산을 강제할 수 있다고 오해하게 유도한다. ★ 연계 포인트 수능 출제 핵심 포인트 Point 1. CPU vs GPU — 구조적 차이 구분 CPU: 소수의 고성능 코어, 복잡한 제어 흐름, 범용 작업. GPU: 수백~수천 단순 코어, 동일 연산 병렬 수행, 반복 작업. ‘CPU가 다양한 연산을 처리할 수 없다’는 진술은 오답임에 주의. Point 2. GPU 메모리 계층 — 범위·속도·용도 전역 메모리(대용량·느림·모든 스레드) / 공유 메모리(중간·블록 내 공유) / 레지스터(가장 빠름·소용량·개별 스레드). ‘느리다 ≠ 불가능하다’ 함정을 경계할 것. Point 3. 분기문 — 병렬성 손실 메커니즘 분기문 삽입 → 스레드별 실행 경로 차이 → 일부 스레드 대기 → 병렬성 손실. ‘동시에 다른 작업을 수행한다’는 진술은 오답. 대기 상태임에 주의. Point 4. CPU+GPU 협업 — 양자택일이 아닌 유기적 분담 최근 컴퓨팅 시스템은 CPU 또는 GPU 중 하나를 선택하는 것이 아니라 두 장치의 강점을 유기적으로 분담하는 구조. 연산의 성격에 따라 적합한 장치가 다르다. Point 5. GPU의 병렬 처리 조건 병렬 처리가 효율적이려면: ① 동일한 연산의 반복, ② 연산 간 종속성이 작을 것, ③ 분기문이 적을 것, ④ 연산량이 균등하게 분배될 것. 이 조건이 충족되지 않으면 GPU 효율이 떨어진다. TIP. <보기> 적용형 문제 대비 지문의 원리(병렬 처리 조건, 메모리 계층, 분기문 효과)를 구체적 사례(AI 학습, 기상 예측, 영상 처리 등)에 적용하는 문제가 출제되기 쉽다. <보기>의 상황이 CPU에 적합한지 GPU에 적합한지 먼저 분류한 뒤 선지를 판단하라. 기출 매칭 & 연계 예상 📚 컴퓨터 구조 / 병렬 처리 기출 CPU 파이프라인, 캐시 메모리 계층, 병렬 처리 등 컴퓨터 구조 관련 지문은 수능·모의고사에서 주기적으로 출제되는 핵심 소재다. 이 지문의 메모리 계층 구조는 CPU의 L1/L2/L3 캐시 계층과도 유사한 원리이다. 📚 <보기> 적용형 문제 예측 GPU 구조도, AI 학습 사례, 기상 예측 시스템 등을 <보기>로 제시하고 지문의 원리를 적용하는 문제가 출제될 가능성이 높다. 특히 분기문이 나타나는 상황(연산 흐름이 갈라지는 상황)과 병렬 처리가 효율적인 상황을 구분하는 연습이 필요하다. 📚 어휘 연계 — 한자어 기반 개념어 종속성(從屬性), 병렬(竝列), 집적(集積), 계층화(階層化), 유기적(有機的) 등 한자어 기반 개념어가 다수 등장한다. 문맥적 의미 파악 문제 또는 유사 의미 파악 문제로 출제될 수 있다. TIP. 딥러닝/AI 관련 연계 지문 대비 행렬 곱셈, 역전파, 텐서 연산 등의 개념은 AI 관련 지문에서 자주 등장한다. 이 지문에서 GPU가 AI 학습에 활용되는 이유(동일 연산의 대규모 반복)를 정확히 이해해 두면 연계 지문 독해에 도움이 된다.