ComputerArchitecture
컴퓨터 시스템 구조
중앙처리장치 (CPU):
CPU는 컴퓨터의 핵심 부품으로, 명령어(instruction)를 해석하고 실행하여 프로그램의 동작을 제어합니다.
주요 구성 요소로는 ALU(산술 논리 장치), 제어 장치, 레지스터 등이 있습니다. ALU는 산술 및 논리 연산을 수행하며, 제어 장치는 명령어를 해석하고 실행하는 역할을 합니다.
레지스터는 CPU 내부에 위치한 고속 메모리로, 명령어 실행에 필요한 데이터를 저장하고 처리합니다.
CPU는 클럭 신호에 의해 동작하며, 클럭마다 메모리에서 하나의 명령어를 읽어와 실행합니다.
메모리
메모리는 데이터와 프로그램 명령어를 저장하는 공간으로, CPU의 작업 공간입니다.
주 기억장치와 보조 기억장치로 나뉘며, 주 기억장치는 RAM(Random Access Memory)과 ROM(Read-Only Memory)으로 구성됩니다. RAM은 읽기/쓰기가 가능한 휘발성 메모리로, 프로그램 및 데이터를 임시로 저장합니다.
ROM은 읽기 전용 메모리로, 주로 시스템의 부트스트랩 및 기본 입출력 처리 등에 사용됩니다.
DMA
Direct Memory Access, 한마디로, 컴퓨터 시스템에서 주변장치와 메인 메모리간의 데이터 전송을 위해 사용되는 기술입니다.
DMA를 사용하지 않으면, CPU가 직접 데이터 전송을 처리해야합니다.
이러한 경우, 입출력 장치와 메모리간의 데이터 전송을 직접 처리 해야 하므로 CPU의 성능이 저하될 수 밖에 없습니다.
이러한 이유로 CPU와 I/O 장치 사이에 DMA라는 컨트롤러를 추가했습니다.
이렇게 함으로써 CPU는 메모리 간의 데이터 전송에 직접 개입하는 방식이 아니라 DMA를 통해 데이터를 전송할 수 있게 되었습니다.
CPU는 이러한 데이터 전송 작업에 대해 직접적으로 개입하지 않고 다른 작업을 수행할 수 있으므로 시스템의 전체적인 성능이 향상될 수 있습니다.
Timer
타이머는 정해진 시간이 지난 후 운영체제에게 제어권을 넘기는 역할을 합니다. 주로 운영체제가 다중 프로그래밍 환경에서 CPU를 할당하기 위해 사용됩니다. 타이머는 매 클럭 틱마다 감소하며, 값이 0이 되면 인터럽트가 발생하여 CPU에게 제어권을 넘깁니다.
Device Controller
장치 컨트롤러는 해당 입출력 장치를 관리하는 일종의 작은 CPU입니다. 제어 정보를 위한 control register와 상태 정보를 위한 status register를 가지고 있습니다. 장치 컨트롤러는 입출력 작업이 완료되면 인터럽트를 발생시켜 CPU에게 알려줍니다.
입출력(I/O) 장치
입출력 장치는 컴퓨터와 외부 환경 간의 데이터 전송을 담당합니다. 주요 입출력 장치로는 디스크, 키보드/마우스, 프린터, 모니터 등이 있습니다. 각 장치는 로컬 버퍼와 장치 컨트롤러를 포함하고 있으며, 장치 컨트롤러는 해당 장치의 동작을 제어합니다.
참고 자료 :: 혼공자 [ 혼자 공부하는 컴퓨터 구조 + 운영체제 ]