컴퓨터 시스템의 구조와 구성요소, 그리고 이들 간의 상호작용에 대한 설계와 구현을 다루는 분야
프로그램과 데이터가 같은 메모리 공간에서 저장되어 처리되는 구조
구성요소 : CPU, 메모리, 입출력 장치
특징 : 명령어와 데이터가 동일한 메모리에 저장되어 있기 때문에, 명령어와 데이터를 구분하기 위한 별도의 제어 신호가 필요하지 않다는 것
단점 : 위 특징 때문에 명령어와 데이터를 동시에 처리할 수 없다는 단점을 가짐 -> 현대 컴퓨터에서는 병렬 처리 기술 등을 이용해 이러한 한계를 극복하고 있다.
CPU가 메모리부터 1개의 명령어를 가져와 어떤 동작을 요구하는지 결정하고 이를 수행하는 연속적인 과정
CPU는 컴퓨터 시스템의 핵심 요소 중 하나로 프로그램의 명령어를 해석하고 실행하는 역할을 담당한다.
따라서, CPU는 모든 컴퓨터 시스템에서 필수적인 구성 요소이며, 컴퓨터의 속도와 성능에 큰 영향을 미친다.
CPU는 일반적으로 작은 실리콘 칩에 위치하며, 코어(core)라고 불리는 작은 계산 논리 회로의 집합으로 구성된다.
이 코어들은 다양한 명령어를 수행하고, 데이터를 처리하고, 메모리와 입출력 장치와의 통신을 관리한다.
최근의 CPU는 여러 개의 코어(physical core)를 가진 멀티코어 프로세서가 일반적이다.
멀티코어 CPU는 여러 가지 작업을 병렬로 처리하여 컴퓨터의 처리 속도를 향상시키는 데 도움을 준다.
또한, CPU는 클럭 속도라고 불리는 주파수로 측정되는 작업 속도를 가지고 있으며, 이 속도가 높을수록 CPU가 처리할 수 있는 명령어 수가 늘어나고, 컴퓨터의 처리 속도가 빨라진다.
- 두 기술의 차이점
1. Pipelining : 하나의 작업을 여러 단계로 분할하여 각 단계를 병렬적으로 처리
2. Parallellism : 여러 작업을 동시에 처리하여 실행 시간을 단축
컴퓨터에서 데이터와 명령어를 저장하는 계층 구조
memory capacity(저장 용량) = Register < Cache « Main «< Secondary(SSD)
컴퓨터가 작업 중인 데이터와 프로그램을 저장하는 메모리
읽기와 쓰기 모두 가능하며, 전원이 꺼지면 내용이 지워진다.
주로 컴퓨터의 BIOS(Basic Input/Output System)나 장치 드라이브 등 시스템 소프트웨어를 저장하는 메모리
읽기만 가능하며, 내용을 수정할 수 없다.
전원이 꺼져도 내용이 지워지지 않는다.
컴퓨터나 디지털 기기에서 많이 사용되는 메모리
저장하고 읽기와 쓰기 모두 가능하다.
전원이 꺼져도 내용이 지워지지 않으며, 비교적 저렴한 가격과 높은 용량을 제공 [ USB 메모리, SD 카드, SSD(Solid State Drive)등에 사용된다 ]
구조
- Platter : 여러 개의 자성 디스크가 쌓여 있으며, 고속으로 회전합니다.
- Head : 데이터를 사용하기 위한 작은 장치로, Platter 위에서 자기 신호를 감지
- Spindle : Platter 가 회전 하는걸 고정 해주는 축
- Arm : Platter의 특정 위치로 Head를 옮겨주는 역할
장점 : 비교적 저렴한 가격
단점 : 기계의 움직임으로 인하여 데이터 입출력이 비교적 느리며, 충격에 취약하다.
구조
- NAND memory : 데이터가 저장되는 비휘발성 메모리
- Controller : 데이터를 관리하는 역할을 하는 장치
- DRAM : Cache를 지원하여 더 빠른 속도를 지원할 수 있다.
장점 : 빠른 동작 속도, 기계가 아니라서 충격에 강함
단점 : NAND 메모리 성능의 한계, 비교적 비싼 가격
구성요소
- I/O port : 장치와 직접적으로 명령어 및 데이터를 주고 받는 부분
- register : 데이터, 장치의 상태, 동작의 명령어등을 저장하고 보내는 영역
역할
- 해당하는 device의 하드웨어적인 동작 제어를 함.
- 데이터를 주고 받는다.
- 작업 상태에 따른 interrupt를 CPU에 전달
구성요소
- I/O control : 운영체제와 하드웨어 장치를 관리
- buffering : 데이터를 임시저장하여 반응속도를 높여준다.
- Interrupt handler : 발생한 interrupt를 처리할 수 있다.
역할
- 장치 제어, 데이터 관련 정보를 포멧에 맞게 맞춰 보내준다.
- 장치 상태를 추적하여 오류 발생 시 운영체제에게 알려준다.
종류
- kernel mode driver : 자원을 활용하는 상태
- user mode driver : 유저가 사용하는 제한된 상태
동작 순서
- CPU가 명령어 레지스터에 명령어를 작성하고 자신이 할일을 수행
- controller가 명령어 레지스터에서 명령어를 받아서 수행
- controller가 수행완료 및 특이사항 발생시 interrupt를 유발
- CPU가 interrupt를 처리
- CPU가 controller의 결과물을 받는다.
장단점
- 장점 : 감시체계가 사라져서 리소스의 낭비가 사라졌음
- 단점 : interrupt의 발생이 많아질경우 CPU가 계속 응답해줘야 하기때문에 과부하가 발생할 수 있다.
동작 순서
- CPU가 DMA controller에 데이터를 요청
- DMA controller가 I/O에서 memory로 데이터를 전송
- memory로 전송 완료 되면 interrupt를 발생
- CPU가 interrupt와 데이터를 사용
장단점
- 장점 : CPU의 간섭없이 많은 데이터를 송수신 할 수 있다.
- 단점 : DMA controller가 지원이 되어야 하며, 적은 데이터를 사용할때는 번거로울 수 있다.
DataBase System [ 2024년12월13일 ]
Operating System Concepts [ 2024년12월11일 ]