1

Q1 . RISC 와 CISC를 구분 

 

CPU 설계 철학의 두 가지 큰 범주는 RISC 와 CISC로 구분이 가능하다. 

범주안에 CPU 아키텍처는 CPU가 데이터를 처리하고 명령어를 실행하는 방식을 정의하는 설계 구조를 의미합니다.

CPU가 명령어를 해석하는 방식의 차이가 있기 때문에, 어셈블리어가 달라진다.

 

1 . CISC ( Complex Instruction Set Computing )

  • 복잡한 명령어 세트를 사용하며, 한 명령어가 여러 작업을 수행할 수 있는 특징이 있습니다.
  • x86은 CISC 기반의 대표적인 아키텍처로 주로 PC, Server에 사용됩니다.
  • AMD, Intel은 CISC 설계의 대표적인 회사
  • 장점 : 복잡한 작업을 적은 수의 명령어로 수행할 수 있어 소스 코드가 간결할 수 있습니다.
  • 단점 : 명령어가 복잡하기 때문에 디코딩 과정에서 시간이 더 걸릴 수 있고, 전력 소모가 많으며 설계가 복잡합니다.

2 . RISC ( Reduced Instruction Set Computing )  

  • 단순한 명령어  세트를 사용하며, 명령어당 수행해야 할 작업을 줄여 처리 속도를 높이는 특징이 있습니다.
  • ARM은 RISC 기반의 대표적인 아키텍처로 주로 스마트폰, IOT 기기, 태블릿에 사용됩니다
  • Apple M1/M2 칩에도 사용됩니다.  
  • 장점 : 명령어가 단순하여 디코딩이 빠르고 에너지 효율이 좋습니다. 설계가 간단하여 비용이 낮아집니다. 

예 ) x86 ADD 명령어 

ADD [memory], register 는 메모리에서 값을 읽고, 레지스터의 값과 더한 후 다시 메모리에 저장하는 작업을 한번에 수행

  1. 명령어를 가져오는 (Instruction Fetch) 하는 작업  : cpu 는 PC (프로그램 카운터) 레지스터에 저장된 주소를 기반으로 명령어를 읽어옵니다. 읽어온 명령어는 CPU 내부에 명령어 캐시에 저장되어 효율적으로 재사용 됩니다 
  2. 명령어 디코딩
  3. 명령어 실행
  4. 메모리 접근
  5. 결과 쓰기 

Q2 . CPU 와 GPU 의 차이를 설명 

 

1 . CPU 

  • Control unit ( 제어 유닛 ) : 명령어의 실행을 제어  
  • ALU : 산술 및 논리 연산을 수행
  • Register : 데이터와 명령어를 임시로 저장 
  • 작업의 순차 처리에 최적화  

2 . GPU 

  • 수만은 ALU ( 병렬 연산 장치 ) : 단순 계산을 병렬로 수행
  • 메모리 : 데이터 병렬 처리를 위한 대량 데이터 저장  
  • 다수의 ALU를 포함하여 병렬 처리에 최적화 
  • 딥러닝은 주로 행렬 곱셈과 같은 대량의 수학적 연산으로 이루어짐, 이러한 연산은 독립적이므로 병렬처리가 가능
  • GPU는 전력 대비 연산 성능 (FLOPS/Watt) 이 높아 대규모 연산에서 효율적

 

Q3 . TCP 혼잡 윈도우 ( Congestion Window ) 의 크기 변화 설명 

 

TCP ( Transmission Control Protocol ) 은 인터넷에서 데이터를 신뢰성 있게 전달하기 위해 사용하는 전송 계층 프로토콜

TCP는 데이터의 정확성과 순서를 보장하기 위해 설계되었으며, HTTP, FTP, 이메일 같은 다양한 애플리케이션이 TCP 위에서 작동