메모리
위의 그림에서 피라미드의 꼭대기와 가까울 수록 CPU에 가까운 기억장치이다.
주기억장치
📍 현재 실행되고 있는 데이터와 명령어를 저장, 크게 ROM과 RAM으로 분류
소프트웨어 등의 기본 정보들은 ROM에 저장되고 이 소프트웨어가 실행된 동안은 RAM에서 실행된다.
📍 ROM은 읽기 전용 메모리로 읽기만 가능 !
ROM은 전원이 꺼져도 저장된 데이터가 보존되는 비휘발성 메모리 로 오직 기억된 데이터를 읽기만 가능한 장치를 말한다. 제조 단계에서 시스템에 기억시키고 변화시키면 안 되는 BIOS와 같은 퓨터 구동을 위한 기본적인 데이터들을 ROM에 저장한다. ROM은 RAM에 비해 처리 속도가 느리고 가격이 싸다. ROM은 Mask ROM → PROM → EPROM → EEPROM 으로 발전했다.
📍 RAM은 랜덤 액세스 메모리로 읽기 쓰기가 자유롭게 가능 !
RAM은 전원이 꺼지면 데이터가 사라지는 휘발성 메모리로 시스템의 단기 데이터를 저장하는 스토리지이다. ROM보다 처리 속도가 빠르므로 컴퓨터가 실시간으로 사용하는 데이터들 즉 실행된 소프트웨어들은 빠른 접근과 처리를 위해 RAM에 저장된다. 많은 애플리케이션을 실행할 수록 더 많은 메모리가 사용된다. RAM은 ROM에 비해 처리 속도가 빠르고 가격이 비싸다. RAM은 SRAM, DRAM, SDRAM이 있다.
💡 컴퓨터는 메모리에 저장된 데이터들의 주소를 참조에서 데이터를 식별한다 !
보조기억장치
보조기억장치란 컴퓨터의 CPU에 직접 연결된 주기억장치가 아닌 디스크, 테이프 등 외부의 기억장치이다.
CPU
📍 Central Processing Unit, Processor
CPU는 데이터와 명령어를 처리하는 처리 장치이다. CPU는 클럭과 코어에 의해 성능이 결정된다. CPU는 '산술 논리 연산 장치(ALU, Arithmetic and Logical Unit)'와 '레지스터(Register): 기억장치', '제어 장치(Control Unit)'로 구성되어 있다.
산술 논리 연산 장치( ALU )
📍 다양한 산술 연산을 계산하는 디지털 회로
산술 논리 연산 장치는 '논리 회로로 구성된 다양한 연산 장치'와 '레지스터'로 구성되어 있다. 각각은 가산기, 보수기, 누산기 등으로 구성된다.
제어 장치
📍 처리할 명령어를 해독 및 실행하며 CPU의 전체적인 흐름을 제어
제어 장치는 제어 신호를 만들어 명령어를 해독하고 이를 통해 다른 장치들이 실행될 수 있도록 제어한다. 제어장치는 '명령어 레지스터', '디코드', '메모리 주소 레지스터', '메모리 버퍼 레지스터', '프로그램 카운터' 등으로 구성된다.
레지스터
📍 CPU가 처리할 데이터를 일시적으로 보관하는 기억 장치
기타 장치
입출력 장치
입력 장치란 사용자가 원하는 데이터와 명령어를 컴퓨터에 전달해주는 마우스나 키보드, 마이크 등을 말하고 출력 장치란 사용자에게 컴퓨터가 결과를 출력해주는 모니터, 스피커, 프린터 등을 말한다.
보조기억장치
전원이 꺼지면 데이터가 사라지는 주기억장치의 단점을 보완한 기억장치 이다.용량이 크고 주기억장치에 비해 상대적으로 저렴하지만 속도가 느리다. 보조기억장치의 종류에는 HDD( Hard Disk Driver ), SSD( Solid State Drive ), CD-ROM, USB 플래시 드라이브 등이 있다.
컴퓨터 동작 흐름
시스템 버스
📍 컴퓨터 시스템 내에서 신호를 전송하는 경로
CPU와 메모리, 입출력 장치 등 모든 장치는 시스템 버스를 통해 데이터를 주고 받는다. 시스템 버스는 기억 장치들을 연결해 주는 중심 통로로 하드웨어를 물리적으로 연결하고 서로 데이터를 주고 받을 수 있게 하는 역할을 한다. 각 장치들이 다른 장치로 데이터를 보낼 수 있도록 해 준다. 즉, 컴퓨터 장치들은 메인보드( 마더보드 )에 있는 시스템 버스를 통해 서로 연결되어 있는 것이다. 시스템 버스에는 제어 버스, 주소 버스, 데이터 버스 등이 있다.
전체 동작 흐름
📍 입력 → 산술/연산 처리 → 출력
먼저 컴퓨터는 입력 장치로 데이터와 명령어를 입력받는다. 이렇게 입력 받은 데이터를 CPU에서 산술 논리 연산 장치와 레지스터를 통해 명령어를 처리하고 처리된 결과는 메모리에 저장되거나 출력 장치를 통해 출력된다.
CPU 동작 흐름
Fetch( 인출 )
Decode( 해석 )
Execute( 실행 )