" 케이스를 열고 "
이제까지 프로그램 밑에서 동작하는 소프트웨어를 살펴보았으니 컴퓨터 케이스를 열고 그 아래에 있는 하드웨어에 대해 살펴봅시다. 모든 컴퓨터의 하드웨어는 데이터 입력, 데이터 출력, 데이터 처리, 데이터 저장의 네 가지 기본 기능을 수행합니다.
컴퓨터의 주요 구성 요소 중에는 마이크 같이 입력장치(input device)와 스피커 강튼 출력장치(output device)가 있다. 입력장치는 컴퓨터에 데이터를 공급하고, 출력장치는 사용자에게 계산 결과를 보여 주는 역할을 한다.
★ 컴퓨터의 고전적 구성 요소 다섯 가지는 입력, 출력, 메모리, 데이터패스(datapath), 제어유닛이다. 이 중 뒤의 2개를 합쳐서 프로세서라고 부르기도 한다. 밑의 그림은 컴퓨터의 표준 구성을 보여 주는 그림이다. 이 구성은 하드웨어 기술과는 독립적이다. 이제까지 존재한 어느 컴퓨터의 어떤 부분이라도 이 다섯 가지 요소 중 하나에 대응시킬 수 있다.
위 사진의 작은 사각형 안에는 집적회로(integrated circuit, IC) 또는 칩(chip)이라 불리는 장치들이 있는데, 이것들이 진보하는 기술을 이끌어 가는 원동력이다. A12패키지에는 2.5GHz의 클럭으로 구동되는 2개의 큰 ARM프로세스와 4개의 작은 ARM프로세서가 있다. 프로세서는 프로그램의 지시대로 일을 하는 부분이다. 숫자를 더하고, 검사하고, 입출력 장치에 신호를 보내 작동을 지시하는 것 등이 프로세서가 하는 일이다. 프로세서를 CPU(central processer unit)라는 더 관료적 느낌의 용어로 부르기도 한다.
위 그림은 하드웨어 계층을 한 단계 더 내려가서 마이크로 프로세서를 자세하게 보여준다. 프로세서는 논리적으로 데이터패스와 제어 유닛의 두 부분으로 구성된다. 각각은 프로세서의 근육과 두뇌에 해당한다. 데이터패스(datapath)는 연산을 수행하고, 제어유닛(control unit)은 명령어가 뜻하는 바에 따라 데이터패스, 메모리, 입출력 장치가 할 일을 지시한다. 4장에서 고성능 설계의 데이터패스와 제어 유닛에 대하여 설명할 것이다.
iPhone Xs Max 패키지에는 32Gib메모리 칩 2개가 포함되어 있다. 메모리(memory)는 실행 중인 프로그램과 프로그램이 필요로 하는 데이터를 기억한다. 메모리는 DRAM칩으로 구성되어 있는데 DRAM은 dynamic random access memory의 약자이다. DRAM여러 개를 한데 묶어서 프로그램의 명령어와 데이터를 기억하는 데 사용한다. DRAM에서 RAM이란 말은 자기 테이프 같은 순차 접근 메모리와는 반대로 메모리의 어떤 부분을 읽든지 같은 시간이 걸린다는 것을 의미한다.
프로세서 내부에는 또 다른 종류의 메모리가 있는데 이것을 캐시 메모리라 한다. 캐시메모리(cache memory)는 DRAM의 버퍼 역할을 하는 작고 빠른 메모리이다. 캐시는 SRAM이라는 다른 메모리 기술을 이용한다. SRAM은 DRAM보다 빠르지만 집적도가 낮아서 가격이 비싸다. SRAM과 DRAM은 메모리 계층구조의 두 계층을 구성한다.
제일 중요한 추상화 중 하나는 하드웨어와 최하위 소프트웨어 간의 인터페이스이다. 소프트웨어는 하드웨어와 어휘를 통해 통신을 한다. 어휘를 구성하는 단어들을 명령어라고 하고, 어휘 자체는 명령어 집합 구조(instruction set architecture) 또는 단순히 구조(architecture)라고 한다.
ISA에는 제대로 작동하는 이진 기계어 프로그램 작성을 위해 프로그래머가 알아야하는것(명령어,입출력 장치 등)이 포함된다. 응용 프로그래머에게 제공되는 기본 명령어 집합과 운영체제 인터페이스를 합쳐서 ABI(application binary interface)라 한다. 명령어 집합 구조는 컴퓨터 설계자로 하여금 실행 하드웨어와 독립적으로 컴퓨터의 기능을 생각할 수 있게 해 준다. 예를들면 디지털 시계의 기능을 클럭하드웨어와 독립적으로 생각할 수 있다. 이와 같은 선상에서 컴퓨터 설계자는 구조와 구조의 구현(implementation)을 분리해서 생각한다. 구현이란 구조 추상화를 준수하는 하드웨어를 의미한다.
★ 하드웨어와 소프트웨어는 모두 추상화를 이용하여 계층적으로 구성되며, 각 하위 계층의 세세한 부분이 상위 계층에서는 보이지 않도록 한다. 여러계층 의 추상화 중에서 가장 중요한 것은 하드웨어와 하위 계층 소프트웨어 간의 인터페이스인 명령어 집합구조이다. 이렇게 인터페이스를 추상화함으로써 같은 소프트웨어를 실행하지만 가격과 성능이 다른 여러 가지 컴퓨터를 구현할 수 있다.
데이터의 안전한 저장소
이제까지 데이터를 입력하고 계산하여 그 결과를 표시하는 방법에 대해 알아 보았다. 그러나 컴퓨터 안에 기억된 내용은 전원이 끊어지면 다 없어진다. 왜냐하면 컴퓨터 내부의 메모리는 휘발성 메모리(volatile memory)이기 때문이다. 즉 전원이 끊기면 모든 기억이 지워진다. 반면에 DVD에 기록된 영화는 DVD 플레이어의 전원을 꺼도 지워지지 않는다. DVD는 비휘발성 메모리(nonvolatile memory)기술의 일종이기 때문이다.
실행되는 동안 데이터와 프로그램을 기억하는 휘발성 메모리와 다음번 실행 때까지 데이터와 프로그램을 저장하는 비휘발성 메모리를 구분하기 위해 전자를 메인 메모리라 하고 후자를 보조기억장치라 한다. 보조기억장치는 메인 메모리보다 한 단계 아래 계층에 해당한다. DRAM이 메인 메모리의 주종을 이루고 있으며, 자기 디스크는 그 전부터 보조기억장치의 주종이 되었다. 개인 휴대용기기는 자기디스크 대신 비휘발성 반도체 메모리인 플래시 메모리(flash memory)를 사용한다. DRAM보다 훨씬 싸고 비휘발성이라는 장점있다. 작고 튼튼하며 전력 소모가 적고 훨씬 소용량으로 생산 될 수 있지만 DRAM이나 자기디스크와는 달리 일정 사용후에는 못 쓰게 된다. 그러므로 파일 시스템은 쓰기의 횟수를 파악하여 저장 기능이 상실되는 것을 피하도록 하는 정책을 시행해야 한다.
컴퓨터 간의 통신
프로세서가 메모리와 입출력 장치에 연결되듯이, 컴퓨터 네트워크를 통해서 컴퓨터 전체가 서로 연결되어 사용자의 계산 능력을 확장시켜준다. 네트워크로 컴퓨터들을 연결하면 다음과 같은 장점이 있다.
- 통신 : 컴퓨터끼리 고속으로 정보를 주고받을 수 있다.
- 지원 공유 : 컴퓨터마다 입출력 장치를 따로따로 갖출 필요 없이 네트워크상의 모든 컴퓨터가 입출력 장치를 공유 할 수 있다.
- 원격 접근 : 컴퓨터들을 연결하면 멀리 떨어져 있는 컴퓨터도 쉽게 이용할 수 있다.
♣ 점검하기
Q) 반도체 DRAM과 플래시 메모리, 디스크 저장장치는 크게 다르다. 이들을 휘발성, 접근시간, 가격의 측면에서 DRAM과 비교하라.
※ 용어 정리
집적회로
- 칩이라고도 부른다. 수천만개의 트랜지스터가 결합된 부품.
CPU
- 프로세서라고도 부른다. 데이터패스와 제어유닛으로 구성된 컴퓨터의 핵심 부분으로, 숫자를 더하거나 검사하고, 입출력 장치에 신호를 보내 활성화하는 일을 한다.
데이터패스
- 산술 연산을 수행하는 프로세서 구성요소이다.
제어 유닛
- 프로그램의 명령어에 따라 데이터패스, 메모리, 입출력 장치에 지시를 하는 프로세서 구성요소.
메모리
- 실행 중인 프로그램과 프로그램 실행에 필요한 데이터의 저장소
DRAM
- 집적회로로 만든 메모리의 일종. 어떤 위치든지 임의로 접근할 수 있다.
캐시 메모리
- 느리고 큰 메모리의 버퍼로 동작하는 작고 속도 빠른 메모리
SRAM
- 집적회로로 만들어 지는것은 같지만, DRAM보다 빠르면서 집적도가 낮은 메모리
명령어 집합 구조
- 구조라고도 부른다. 하드웨어와 최하위 계층 소프트웨어 사이의 인터페이스. 명령어, 레지스터, 메모리접근, 입출력 등을 포함해서 정확히 작동하는 기계어 프로그램을 작성하기 위해서 알아야 하는 모든 정보
ABI
- 명령어 집합 중 사용자 부분과 응용 프로그래머가 사용하는 운영체제 인터페이스를 합친것. 컴퓨터 간 이진 이식성의 표준을 정의한다.
구현
- 구조 추상화를 준수하는 하드웨어
휘발성 메모리
- DRAM과 같이 전원이 공급되는 동안만 데이터를 기억하는 기억장치
비휘발성 메모리
- 전원 공급이 끊어져도 데이터를 계속 기억하는 기억장치로, 다음실행 때까지 프로그램을 저장하는 데 사용된다.
메인 메모리
- 1차 메모리라고도 한다. 실행 중인 프로그램을 저장하는 휘발성 메모리. 오늘날에는 컴퓨터는 대개 DRAM을 사용
보조기억장치
- 실행 중이 아닌 프로그램과 데이터를 저장하는 비휘발성 메모리. 오늘날 PMD에서는 대게 플래시 메모리를 쓰고, 서버 컴퓨터는 자기 디스크를 쓴다.
자기 디스크
- 하드 디스크라고도 한다. 자성 기록 매체가 코팅된 회전 원반으로 구성된 비휘발성 메모리.
플래시 메모리
- 비휘발성 반도체 메모리. DRAM보다 싸지만 느리고, 자기디스크보다는 비싸고 빠르다.
'Computer Architecture > 컴퓨터 구조' 카테고리의 다른 글
[5] CH1 컴퓨터 추상화 및 관련 기술 < Intel Core i7 벤치마킹 > (0) | 2022.01.11 |
---|---|
[4] CH1 컴퓨터 추상화 및 관련 기술 < 단일프로세서에서 멀티프로세서로의 변화 > (0) | 2022.01.11 |
[3] CH1 컴퓨터 추상화 및 관련 기술 < 성능 > (0) | 2022.01.11 |
[2] CH1 컴퓨터 추상화 및 관련 기술 < 프로세서와 메모리 생산 기술 > (0) | 2022.01.11 |
[0] 컴퓨터 추상화 및 관련 기술 < 컴퓨터구조를 왜 배워야하는 것인가 > (0) | 2022.01.11 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!