CS_220516_하드웨어[001~006]

설탕유령·2022년 5월 16일
0

하드웨어

"이 계산을 증기력으로 할 수 있다면 정말 좋은 텐데..."
- 찰스 배비지, 1821

하드웨어는 컴퓨팅에서 형체가 있고 눈에 보이는 부분
디지털 기기가 더 저렴해지고 성능이 좋아지면서, 서로 이질적인 기계 시스템은 훨씬 더 균일한 전자 시스템으로 바뀜

초기 전자식 컴퓨터는 컴퓨팅 부품으로 진공관을 사용
1947 트랜지스터 발명 이후 1958년 집적회로가 발명되며 현대 컴퓨팅 시대가 본격적으로 시작
전자 시스템은 이러한 기술에 힘입어 꾸준히 작아지고 저렴해지고 빨라짐

수십 년 동안 아키텍처는 거의 바뀌지 않았지만, 하드웨어는 놀라울 정도로 변화함

[001] 컴퓨터의 논리와 구조

"완성된 장치가 범용 컴퓨팅 기계가 되려면 산술 연산, 기억-저장, 제어, 운영자와의 연결을 담당하는 특정 주요 기관을 포함해야 한다."
- 아서 벅스, 허먼 골드스타인, 존 폰 노이만, 1946

컴퓨터는 두가지 측면으로 살펴 볼 수 있음

  • 논리적 구성(기능적 구성): 컴퓨터가 어떤 부분으로 이루어져 있고, 무슨 일을 하며 어떻게 연결되는지에 주목
  • 물리적 구조: 각 부분이 어떻게 생겼고 어떻게 만들어지는 형태를 나타냄

노트북, 맥을 포함해 스마트폰, 태블릿 PC, 전자책 단말기와 같이 특정 용도에 전문화 된 장치도 고성능 컴퓨터에 포함됨

  • 해당 장치들은 모두 다른 형태에 사용감도 다르지만, 내부 작동 원리는 근본적으로 동일
  • 기능면에서 자동차는 100년이 넘도록 기능이 똑같이 유지됨
  • 물리적 측면으로 자동차는 다른 재료가 사용되며, 더 빠르고 안전해지며 안정감 있고 편안해 짐
  • 컴퓨터도 동일하게 논리적 구성은 1950년대와 유사하지만, 물리적인 차이는 크게 차이가 남

컴퓨터에서
'어떻게 만들어지는지' 부분은 경의로운 속도로 변함
'얼마나 빨리 작동하는지' 부분도 마찬가지로 변함
'무엇을 하는지' 부분은 안정적으로 유지됨

[002] 프로세서 속도와 심장 박동수

일반적인 컴퓨터를 단순화한 추상적인 그림을 표현한다면 다음과 같음
(단순하게 추상화한 컴퓨터 아키첵쳐 다이어그램)

프로세서, 명령어와 데이터를 담는 메모리와 저장 장치, 입력과 출력 장치가 있는 기본 구조는 1940년대 이래 이어지는 표준

  • 프로세서는 산술 연산과 제어 기능을 제공
  • 주 기억 장치와 보조 기억 장치는 기억과 저장을 담당
  • 키보드, 마우스, 디스플레이는 운영자와 상호작용

프로세서(processor)

  • 컴퓨터에 두뇌에 해당
  • 산술 연산을 하고, 데이터를 옮김
  • 다른 구성 요소의 작업을 제어
  • 기존 계산 결과를 바탕으로 다음에 수행할 연산을 결정
  • 대부분 사용자 개입 없이 독립적으로 작동

프로세서를 언급시 '2.2GHz 듀얼 코어(dual-core) 인텔 Core i7'등으로 명시됨

  • 인텔(intel)은 프로세서 제조사
  • 'Core i7'은 인텔의 프로세서 제품군 중 하나
  • '듀얼 코어'는 하나의 패키지에 처리 장치가 두 개 포함 됬다는 의미
  • 2.2GHz는 프로세서의 처리 능력

프로세서의 속도는 1초에 수행 할 수 있는 연산이나 명령어의 개수를 어림잡아 측정

  • 프로세서는 기본 연산을 단계적으로 수행하기 위해 내부 클록(clock)을 사용
  • 클록은 심작 박동이나 시계의 째깍거림과 유사
  • 속도의 측정 단위 중 하나는 초당 째깍 거리는 횟수
  • 초당 한번 뛰거나 째깍거리는 것을 1Hz(헤르츠)라고 함
  • 즉, 헤르츠는 0과 1 신호가 한번씩 실행 되는 주기
  • 1Hz는 1초에 0, 1 신호를 한번 실행
  • 2.2GHz는 1초에 신호 처리가 22억 6천만번 수행

주 기억 장치(primary memory)

  • 프로세서와 컴퓨터의 다른 부분이 현재 사용 중인 정보를 저장
  • 프로세서가 현재 사용 중인 정보로 무엇을 해야 하는지 알려주는 명령어도 저장
  • 메모리에 다른 명령어를 로드(적재)하여 프로세서가 다른 계산을 수행하게 할 수 있음
  • 이런 원리로 프로그램 내장식(Stored-program) 컴퓨터는 범용 장치가 됨

주 기억 장치는 컴퓨터가 실행 되는 동안 정보를 저장할 장소를 제공

  • 현재 활성화 된 프로그램의 명령어를 저장

주 기억 장치를 RAM, 즉'임의 접근 메모리'라고 부르는 이유는 프로세서가 정보에 접근시 메모리에 저장된 위치와 무관하게 같은 속도로 접근 할 수 있기 때문

  • 비디오테이프로 마지막 부분을 보려면 시작부터 빨리 감기를 해야함
  • 이러한 방식은 순차적 접근(Sequential access)라고 함

대부분의 메모리는 휘발성(Volatile)을 띰

  • 전원이 꺼지면 메모리의 내용이 사라지고 현재 활성화 된 모든 정보가 사라짐

메모리 용량이 클수록 컴퓨팅 속도가 더 빠름

  • 메모리가 작으면 여러 프로그램을 실행하기에 용량이 충분치 않음
  • 비활성화 된 프로그램의 일부를 옮겨 새로운 작업을 위한 공간을 만드는 데 시간이 걸림

[003] HDD와 SSD의 차이

보조 기억 장치

  • 주 기억장치는 정보 저장 용량이 한정적이며 휘발성임
  • 보조 기억 장치는 전원이 꺼져도 정보를 유지

보조 기억 장치는 크게 두 종류가 있음

  • 하드 디스크(Hard disk)
  • SSD(Solid State Drive)
  • 두 드리아브 모두 메모리 보다 많은 정보를 저장
  • 휘발성을 띄지 않아서 전원 공급 없이 데이터가 유지됨
  • 데이터, 명령어, 다른 모든 정보는 보조 기억 장치에 장기간 저장
  • 주 기억 장치로는 일시적으로 옮겨짐

자기 디스크(하드디스크)는 회전하는 금속 표면에 있는 자성 물질의 미세한 영역이 자성을 띠는 방향을 설정하여 정보를 저장

  • 데이터는 동심원을 따라나 있는 트랙에 저장
  • 디스크는 트랙 간에 이동하는 센서를 이용하여 데이터를 읽고 씀

SSD는 회전하는 기계 장치 대신 플래시 메모리(Flash memory)를 사용

  • 플래시 메모리는 비휘발성
  • 전원이 꺼져 있어도 개별 소자에 전하(charge)를 유지하는 회로의 정보가 전하 형태로 저장

디스크 드라이브는 컴퓨터의 논리적 구조와 물리적 구현 간의 차이를 잘 보여줌

  • 윈도우의 파일 탐색기나 맥OS에 파인터 같은 프로그램은 드라이브의 내용을 폴더와 파일의 계층 구조로 표시
  • 하지만 데이터는 회전하는 기계 장치, 움직이는 부품이 없는 집적 회로, 또는 완전히 다른 형태의 장치 등에 저장됨
  • 컴퓨터의 장착된 물리적인 드라이브 종류는 중요하지 않음
  • 드라이브라는 하드웨어와 파일 시스템이라는 소프트웨어가 합작하여 조직화된 구조를 만들어 냄

데이터를 저장하는 장치라면 완전히 다른 물리적 수단을 사용해도 똑같은 구조를 제공

  • 컴퓨팅 아이디어인 추상화(absdtraction)의 좋은 예
  • 추상화는 물리적인 구현의 세부 사항을 숨김
  • 파일 시스템은 다양한 기술의 물리적 작동 방식과 상관 없이 내용을 파일과 폴더의 계층 구조로 표시

다른 장치들
다른 무수히 많은 장치가 컴퓨터에 연결되어 특별한 기능을 제공

  • 마우스, 키보드, 디스플레이, 와이파이 등...
  • 이러한 모든 구성 요소가 버스라는 여러 개의 전선으로 연결
  • 컴퓨터 내부에는 여러가지 버스가 존재하며 각각 그 기능에 적합한 속성이 존재

다양한 연결 장치들이 단일 기기로 합쳐지고 있는지에도 주목해야함

  • 스마트폰은 노트북과 추상적인 아키텍처는 같음
  • 다만 크기와 소모 전력에 제약이 있어 구현 방법은 크게 다름

[004] 가로세로 1cm 프로세서 칩

요즘 SD 카드 패키지는 몇 년 전과 똑같이 생겼지만 용량은 훨씬 크고 가격은 더 저렴함

컴퓨터 부품이 올라가 있는 회로 기판에서 발전 양상이 명확히 드러남

  • 근래에는 부품의 수가 더 적음
  • 20년 전에 비해 더 많은 회로가 부품 내부에 들어감
  • 배선은 더 미세하며, 연결 핀의 수가 더 많고 조밀하게 배치됨

컴퓨터의 전자 회로는 몇가지 기본 소자가 매우 많이 모여 만들어짐

  • 가장 중요한 기본 소자는 논리 게이트(logic gate)
  • 논리 게이트는 한 개나 두 개의 입력 값을 바탕으로 단일 출력 값을 계산
  • 전압이나 전류 같은 입력 신호를 이용해 전압이나 전류인 출력 신호를 제어

회로 소자에서 가장 핵심적인 부분은 트랜지스터(transistor)

  • 컴퓨터에서 트랜지스터는 기본적으로 스위치 역할을 함

논리 게이트는 직접회로(IC, Intergrated Circuits)상에서 만들어 짐

  • 직접 회로는 칩(Chip) 또는 마이크로칩(Microchip)이라고 함
  • 직접 회로는 모든 소자와 배선이 단일 평면(얇은 실리콘 판) 위에 들어감
  • 이는 개별 부품과 재래식 전선이 없는 회로를 만들기 위함
  • 복잡한 광학적, 화학적 공정을 거쳐 제조
  • 직접회로는 개별 부품으로 만들어진 회로보다 훨씬 작고 견고
  • 일반적인 칩은 시스템에 나머지 부분과 칩을 연결해 주는 더 큰 패키지에 장착

[005] 50년 넘게 유지된 무어의 법칙

인텔의 최고경영자 고든 무어는 직접회로에 더 많은 부품 집어넣기라는 글을 게재

  • 매우 적은 데이터 포인트를 기반으로 기술 발전을 추정
  • 기술이 향상됨에 따라 일정한 크기의 직접회로에 들어갈 수 있는 트랜지스터의 수가 매년 두배가 된다고 관측
  • 트랜지스터의 수는 컴퓨팅 성능을 간접적으로 나타내는 지표
  • 지표에 따르면 적어도 2년마다 컴퓨팅 성능이 두 배로 증가를 의미
  • 무어의 법칙(Moore's Law)은 거의 60년간 유지됨
  • 현재 직접회로에는 1965년에 비해 100만배가 넘는 트랜지스터가 들어감

회로의 규모를 특정짓는 대표적인 척도로는 직접회로의 배선 폭, 즉 회로선폭이 사용됨

  • 이 수치는 오랫동안 꾸준히 줄어들어 옴
  • 직접회로의 선폭이 1,000배 줄어들면 주어진 영역에 들어가는 소자의 수는 그 제곱만큼 늘어남(즉, 백만 배 늘어남)

무어의 법칙은 자연의 법칙이 아닌 반도체 산업에서 목표를 설정하기 위한 가이드라인

  • 미래 특정 시점에는 더 이상 이 법칙이 적용 되지 않을 수 있음
  • 현재 일부 회로에는 개별 원자가 단 몇개만 들어 갈 수 있는 수준에 이름
  • 이 수준은 제어하기에는 크기가 너무 작음

프로세서 속도는 예전만큼 빨리 증가하지 않음

  • 칩이 너무 빨라져 열을 너무 많이 발생시킴
  • 메모리 용량은 여전히 증가함
  • 프로세서는 칩 하나에 프로세서 코어를 두 개 이상 배치함으로써 더 많은 트랜지스터를 활용 가능
  • 컴퓨터 시스템에는 흔히 프로세서 칩이 여러개 들어감
  • 즉, 개별 코어의 실행 속도가 빨라진다기 보단, 장착 가능한 코어의 개수가 늘면서 성능이 향상

[006] 요약

컴퓨터 하드웨어는 모든 디지털 하드웨어를 아우름

  • 직접회로의 발명을 시작으로 60년 동안 기하급수적으로 성능이 향상
  • 일정한 기간마다 회로는 꾸준히 특정 비율로 더 작아지거나 저렴해지거나 성능이 높아짐
  • 해당 현상을 설명하는 법칙이 무어의 법칙
  • 엄청난 성능 향상이 우리의 삶을 바꿔놓은 디지털 혁명의 주된 원인

성능과 용량의 증가는 컴퓨터와 컴퓨팅에 대한 인식도 바꾸어 놓음

  • 초기: 탄도 계산, 무기 설계, 기타 과학 및 공학용 연산(고속 계산 장치)
  • ->: 급여 게산, 송장 생성 등의 사무 데이터 처리
  • ->: 개인용 컴퓨터의 등장
  • 인터넷이 나타나면서 컴퓨터는 통신 장치가 되었고 메일, 웹, SNS 기능을 제공

컴퓨터의 기본 아키텍쳐, 즉 각 부분의 형태와 하는 일 및 연결 형태는 1940년대 이후로 바뀌지 않음

컴퓨터의 물리적 부피는 계속 줄어들음

  • 노트북은 사용 가능한 범위 내에서 최대한 작아짐
  • 휴대전화에 내장된 컴퓨터도 그만큼이나 성능이 강력해짐

우린 어딘가에 있는 데이터 센터에 존재하는 '컴퓨터'와 일상적으로 상호작용함

  • 하지만 컴퓨터가 어디에 있는지 신경쓰기는 커녕 굳이 컴퓨터로 인식하지도 않음
  • 컴퓨터들은 그저 클라우드 '어딘가'에 존재

20세기 컴퓨터 과학의 위대한 통찰 중 하나는 오늘날의 디지털 컴퓨터, 최초의 PC, 휴대전화, 서버 등과 논리적 속성 및 기능적 속성이 같다는 것

  • 속도와 저장 용량 같은 실질적인 측면을 무시하면 모든 기기가 똑같은 것을 계산 가능
  • 하드웨어 성능의 향상은 우리가 무엇을 계산할 수 있는지에 큰 영향을 미침
  • 하지만 이론상 계산 가능한 것에는 어떤 근본적인 변화도 일으키지 않음
profile
달콤살벌

0개의 댓글