Computer Architecture

[컴퓨터 구조 및 설계] 1-1. Computer Abstractions and Technology: 개요

noahkim_ 2025. 3. 24. 18:15

최규상 님의 KOCW 강의 "컴퓨터 구조"를 정리한 글입니다.

* David A. Patterson님과 John L. Hennessy 님의
"컴퓨터 구조 및 설계" 책을 교제로 한 강의입니다. (책의 내용은 포함되지 않았습니다)

 

목표

  • 프로그램이 기계어로 어떻게 바뀌는가 (+ 하드웨어가 명령어를 어떻게 수행하는가)
  • 하드웨어 / 소프트웨어 인터페이스
  • Performance의 정의를 알 수 있음 (+어떻게 향상시킬 수 있나)
  • 하드웨어 디자인
  • 병렬 프로그래밍

 

1. Introduction

컴퓨터 기술의 발전

  • 무어의 법칙을 통해 급진적으로 발전함

 

무어의 법칙

  • 1965년에 Intel CEO인 고든 무어가 제시함
  • 반도체 칩 성능이 2년마다 2배씩 업그레이드 될것이라 예언함 (Log Scale)
  • 이를 통해 새로운 애플리케이션이 등장함 (자동차 컴퓨터, 스마트폰 등)

 

컴퓨터 종류

종류 설명
PC (Personal Computer) 일반적인 목적, 가격 대비 성능 중요
서버 컴퓨터 (Server Computer) 기업용, 고용량·고성능·고신뢰성
슈퍼컴퓨터 (Super Computer)
복잡한 과학 문제 해결용, 유지비용 높음 (국방, 기상청)
임베디드 컴퓨터 (Embedded Computer) 스마트폰, 태블릿 등에 내장, 저비용

 

PostPC 시대

구분 설명
Personal Mobile Device
배터리 탑재, 휴대성과 편의성을 갖춘 개인용 기기 (스마트폰, 태블릿 등)
Software as a Service (SaaS)
대규모 데이터 센터(Warehouse Scale Computers)를 기반으로 동작
중요한 기능(보안 필요)을 제공하는 클라우드 서비스 (예: Amazon, Google)

 

성능 평가

요소 설명
알고리즘 명령어 수가 적을수록 성능 향상
컴파일러 & 아키텍처 최적화된 명령어 구조
프로세서 & 메모리 단위시간당 실행되는 명령 수
I/O 시스템 & OS 단위시간당 I/O 처리량

 

2. Eight Great Ideas in Computer Architecture

원칙 설명
Moore's Law
반도체 기술 발전으로 트랜지스터 수가 2년마다 2배 증가하여 성능 향상
Abstraction
복잡한 하드웨어/소프트웨어를 계층화하여 단순하고 효율적인 설계 가능
Make the Common Case Fast
자주 발생하는 작업을 최적화하여 시스템 전체의 성능을 향상
Parallelism
여러 연산을 동시에 수행하여 성능을 극대화
Pipelining
여러 명령어를 연속적으로 겹쳐 실행하여 처리 속도 향상
Prediction
분기 예측 등을 통해 성능 저하를 방지하고 실행 속도를 증가
Hierarchy of Memories
캐시, RAM, 디스크 등 계층 구조를 통해 성능과 비용 균형 유지
Dependability via Redundancy (RAID)
중복성을 활용하여 시스템 신뢰성과 내구성을 향상 (예: RAID를 통한 데이터 보호)

 

3. Below Your Program

시스템 구성

구성 요소 설명
애플리케이션 소프트웨어 High-Level Language(HLL)로 작성
시스템 소프트웨어  
- 컴파일러 HLL → 기계어 변환
- 운영체제(OS)
입출력 처리, 메모리 관리, 작업 스케줄링, 자원 공유
하드웨어 구성 프로세서, 메모리, I/O 컨트롤러

 

프로그램 코드 계층

코드 계층 설명
HLL (High-Level Language)
프로그래머가 사용하는 고급 프로그래밍 언어
어셈블리어
하드웨어 기계어를 사람이 이해할 수 있도록 변환한 언어 (컴파일러에 의해 생성)
기계어 (Hardware Representation)
2진수 형태로 명령어와 데이터를 직접 표현 (어셈블러에 의해 변환됨)

 

4. Under the Covers

컴퓨터 구성요소 

구성 요소 하위 구성 요소 설명
Input/Output User Interface
Storage
Network Adapter
사용자 입력 및 출력, 데이터 저장 및 네트워크 연결
Display Touchscreen 화면 출력 장치
  LCD Screen Frame Buffer에 영상 데이터 저장하여 화면에 출력
Battery - 전원 공급 장치
Motherboard -
프로세서, 메모리, I/O 장치를 연결하는 주요 회로 기판
Processor (CPU) - 연산 및 제어 기능 수행
  Datapath 데이터의 연산 및 이동 경로 관리
  Control 프로세서의 컴포넌트 제어
  Cache Memory
자주 사용하는 데이터를 저장하여 빠른 접근을 제공 (SRAM 사용)
  Core 연산을 담당하는 프로세서의 기본 단위

 

Abstraction

  • 복잡성을 다루는 기술
  • 하위 레벨의 세부사항을 숨기고 상위 레벨에서 쉽게 사용할 수 있도록 함
구성요소 설명
ISA (Instruction Set Architecture)
하드웨어와 소프트웨어의 인터페이스 역할 수행
소프트웨어는 Instruction(명령어) 단위로 구성됨
하드웨어는 각 Instruction을 해석하고 실행
ABI (Application Binary Interface)
ISA에 운영체제(OS) 및 시스템 소프트웨어 인터페이스를 추가한 개념
애플리케이션이 OS 및 하드웨어와 호환성을 유지하면서 실행될 수 있도록 보장
Implementation
하드웨어 및 소프트웨어가 어떻게 실제로 구현되는지를 의미
CPU 설계 방식, 마이크로아키텍처, 메모리 구조 등을 포함

 

데이터 저장 방법

메모리 유형 특징 예시 설명
메인 메모리
(Primary Memory)
휘발성 메모리 RAM (Random Access Memory)
실행 중인 프로그램과 데이터를 임시로 저장
속도가 빠르고 CPU와 직접 통신
세컨더리 메모리
(Secondary Memory)
비휘발성 메모리 HDD (Hard Disk Drive)
SSD (Solid State Drive)
Optical Discs (CD, DVD)
장기적인 데이터 저장용
대용량 데이터 저장이 가능
전원이 꺼져도 데이터가 유지

 

네트워크

네트워크 유형 설명 특징 예시
LAN
(Local Area Network)
지역 내의 작은 범위 - 제한된 공간(건물, 캠퍼스 등) 내에서 장비들 간의 통신
- 빠른 데이터 전송 속도
- 비교적 낮은 비용으로 구축 가능
회사 내 네트워크
학교 네트워크
집안의 Wi-Fi 네트워크
WAN
(Wide Area Network)
광범위한 지역 - 지리적으로 먼 장소들(국가나 대륙)을 연결
- 상대적으로 느린 전송 속도와 높은 비용
- 인터넷과 같은 글로벌 네트워크를 포함
인터넷
기업의 지사 네트워크
Wireless Network
(무선 네트워크)
전선 없이 통신 - Wi-Fi, Bluetooth, Cellular(3G, 4G, 5G) 등
- 이동성 제공, 다양한 장치에서 연결 가능
- 유선보다 낮은 안정성, 신호 간섭 가능성
Wi-Fi 네트워크
블루투스 연결
4G/5G 모바일 네트워크

 

5. Technologies for Building Processors and Memory

 

Year Technology used in computers
Relative performance/unit cost
1951 Vacuum Tube 1
1965 Transistor  35
1975 Integrated circuit 900
1995 Very large-scale integrated circuit 2,400,000
2013 Ultra large-scale integrated circuit 250,000,000,000
  • DRAM Capacity가 급격히 늘어남 

 

Semiconductor

구성요소 설명
Conductor (전도체) 전기가 잘 흐르는 물질
예: 구리, 금속.
Insulator (절연체)
전기가 흐르지 않는 물질
예: 고무, 유리.
Switch (스위치)
전기 회로에서 전류를 켜거나 끌 수 있는 장치
반도체 스위치는 주로 트랜지스터로 구현됨.

 

ICs
  • Integrated Circuit (집적 회로)
    • 여러 전자 부품(트랜지스터, 저항, 캐패시터 등)을 하나의 칩에 집적시킨 회로.
    • 주로 실리콘을 사용하여 반도체를 생성함
  • 실리콘 웨이퍼 제조 과정
    1. 실리콘을 슬라이싱하여 웨이퍼 형태로 자름
    2. 웨이퍼 위에 미세한 패턴을 입혀 회로를 설계
    3. 다이서로 칩을 패키징하고, 이를 테스트하여 동작 여부를 확인

 

용어 설명
Yield (수율)
웨이퍼당 동작하는 die의 비율 (즉 정상 동작하는 칩의 비율을 의미)
Die (다이)
웨이퍼에서 잘라낸 작은 칩 (하나의 다이가 하나의 칩을 의미)
웨이퍼 내에는 여러 개의 다이가 있을 수 있음.

 

 

출처