반응형
Computer Architecture
Hardware / Software Interface
- 프로그램을 기계어로 변환하는 방법: 프로그래밍 언어로 작성된 소스 코드는 컴파일러나 인터프리터를 통해 기계어, 즉 CPU가 직접 이해하고 실행할 수 있는 기계 코드(machine code)로 변환됩니다.
- 이 과정을 통해 고수준 언어의 추상적 명령들이 하드웨어가 이해할 수 있는 구체적인 지시로 변환됩니다.
- 하드웨어가 기계 코드를 실행하는 방법: CPU는 기계 코드의 명령들을 해석하고 실행합니다.
- 이 과정에는 명령어를 인출(fetch), 해석(decode), 실행(execute)하는 단계가 포함됩니다. CPU 내부의 여러 구성 요소가 협력하여 데이터를 처리하고 결과를 생성합니다.
What is Computer?
- 단순하게 말하면 계산하는 기계입니다.
- 특히, 수학적 또는 논리적 연산을 수행하기 위한 자동 전자 장치; freq. 단어 접두사가 아날로그, 디지털, 전자 컴퓨터로 정의되어 있습니다.
- 아날로그 컴퓨터: 물리적인 양을 연속적으로 모델링하여 계산을 수행합니다.
- 디지털 컴퓨터: 이진 숫자 시스템을 사용하여 데이터를 처리하고 계산을 수행합니다.
- 전자 컴퓨터: 전자적인 부품을 사용하여 데이터를 처리하고 저장합니다.
What makes a computer a ”computer” ?
- 프로그램을 데이터로 저장하는 것의 중요성: 컴퓨터를 정의하는 가장 중요한 특성 중 하나는 프로그램을 데이터 형태로 저장할 수 있다는 점입니다.
- 이러한 개념은 "프로그램 내장 방식" 또는 "저장 프로그램 개념"이라고 불리며, 1940년대에 존 폰 노이만에 의해 제안된 컴퓨터 구조 원리인 "폰 노이만 아키텍처"의 핵심입니다.
컴퓨터의 구성요소
Desktop, Server, Embedded: 모든 컴퓨터의 동일한 구성요소 입니다.
- 입력/출력 구성 요소들을 아래의 장치들을 포함 합니다.
- User Interface 장치: 이 장치들은 사용자가 컴퓨터와 상호작용하는 데 사용됩니다. 가장 흔한 예는 디스플레이, 키보드, 마우스입니다. 이들은 사용자의 명령을 컴퓨터에 전달하고, 컴퓨터로부터의 정보를 사용자에게 보여줍니다.
- Storage 장치: 데이터 저장을 위한 장치로 HDD(하드 디스크 드라이브), SSD(솔리드 스테이트 드라이브), NVM(비휘발성 메모리) 등이 있습니다. 이들은 프로그램과 데이터를 영구적으로 저장하는 데 사용됩니다.
- 네트워크 어댑터: 컴퓨터가 네트워크를 통해 다른 컴퓨터나 장치와 통신할 수 있게 해주는 장치입니다. 이는 데이터의 전송과 인터넷 접속 등을 가능하게 합니다.
근데, 우리가 주요하게 볼건 프로세서(Processor) 입니다.
- 프로세서의 중요성: 비록 모든 컴퓨터가 입력, 출력, 저장 등의 기능을 갖추고 있지만, 이러한 모든 기능을 총괄하는 중심에는 프로세서가 있습니다. 프로세서는 컴퓨터의 "두뇌" 역할을 하며, 모든 계산, 데이터 처리, 명령 실행을 담당합니다. 프로세서의 성능은 컴퓨터의 전반적인 성능을 결정짓는 가장 중요한 요소 중 하나입니다.
Understanding Performance (Also, Our focus) - 성능에 영향을 미치는 주요 요소
- 알고리즘: 알고리즘은 작업을 수행하는데 필요한 연산의 수를 결정합니다.
- 최적화된 알고리즘은 계산 부하를 크게 줄일 수 있어 프로그램 실행 속도를 빠르게 합니다.
- 프로그래밍 언어, 컴파일러, 아키텍처:
- 이 요소들은 알고리즘에 의해 정의된 각 작업에 대해 실행되는 기계 명령의 수를 정의합니다. 고급 언어와 효율적인 컴파일러는 이러한 작업을 특정 아키텍처에서 실행되는 더 최적화된 명령 세트로 번역할 수 있어 전체 성능에 영향을 미칩니다.
- 프로세서 및 메모리 시스템:
- 이는 명령어가 얼마나 빠르게 실행되는지를 결정합니다. 더 빠른 프로세서와 더 효율적인 메모리 시스템은 각 명령어의 실행 시간을 줄여 컴퓨팅 작업의 전반적인 속도를 증가시킵니다.
- 입출력 시스템 (I/O 시스템):
- 데이터 집약적인 애플리케이션에서 특히 중요한 입력/출력 작업의 속도입니다. 빠른 I/O 시스템은 데이터 전송에 크게 의존하는 애플리케이션의 성능을 크게 향상시킬 수 있습니다.
Computer Revolution (컴퓨터의 진화)
- 컴퓨터 기술의 진보는 Moore’s Law(무어의 법칙)에 의해 뒷받침 되었습니다.
- 여기서 Moore’s Law(무어의 법칙)은 반도체 IC칩 내의 트랜지스터 수가 18개월마다 두 배로 증가한다는 이론입니다. 트랜지스터 수가 많을수록 성능이 향상됩니다.
- 또한 새로운 애플리케이션의 실현 가능성도 생겼습니다.
- 스마트폰, 자동차 내 컴퓨터, AI(인공지능), ML(머신러닝), 빅데이터, 인간 Genome 프로젝트 등과 같은 새로운 애플리케이션의 개발이 가능해짐으로써, 컴퓨터 기술은 점점 더 우리 일상에 깊숙이 통합되고 있습니다.
반응형
'⚙️ Computer Architecture' 카테고리의 다른 글
[Computer Architecture] RISC-V (0) | 2024.07.13 |
---|---|
[Computer_Architecture] Instruction Set (0) | 2024.07.11 |
[Computer_Architecture] Performance Part.2 (0) | 2024.06.24 |
[Computer_Architecture] Performance Part.1 (0) | 2024.06.15 |
[Computer Architecture] Processor, Computer System Organization (0) | 2024.04.18 |