컴퓨터 시스템의 구성과 기본 기능
컴퓨터는 다양한 하드웨어 요소들이 조합되어 동작하는 복잡한 시스템입니다. 이 글에서는 컴퓨터 시스템의 구성과 기본 기능에 대해 알아보겠습니다. 시스템 버스의 역할과 구성 요소인 주소 버스, 데이터 버스, 제어 버스에 대해서도 알아보겠습니다.
시스템 버스(system bus)
시스템 버스는 CPU와 시스템 내의 다른 요소들 사이에서 정보를 교환하는 통로입니다.
기본 구성 요소로는 주소 버스, 데이터 버스, 제어 버스가 있습니다.
주소 버스
CPU가 외부로 발생하는 주소 정보를 전송하는 신호 선들의 집합입니다.
주소 버스의 비트 수는 CPU와 접속될 수 있는 최대 기억장치 용량을 결정합니다.
데이터 버스
CPU가 기억장치나 I/O 장치와 데이터를 전송하기 위한 신호 선들의 집합입니다.
데이터 버스 폭은 CPU가 한 번에 전송할 수 있는 비트 수를 결정합니다.
제어 버스
CPU가 시스템 내의 각종 요소들의 동작을 제어하기 위한 신호 선들의 집합입니다.
예를 들어, 기억장치 읽기/쓰기 신호, I/O 읽기/쓰기 신호 등이 있습니다.
CPU와 기억장치의 접속
기억장치 쓰기 동작과 읽기 동작
CPU가 데이터를 저장할 기억 장소의 주소와 저장할 데이터를 각각 주소 버스와 데이터 버스를 통하여 보내면서 동시에 쓰기 신호를 활성화함
기억장치 쓰기 시간(memory write time)은 CPU가 주소와 데이터를 보낸 순간부터 저장이 완료될 때까지의 시간을 의미합니다.
CPU가 기억장치 주소를 주소 버스를 통하여 보내면서 읽기 신호를 활성화함
기억장치 읽기 시간은(memory read time) 주소를 해독하는 데 걸리는 시간과 데이터를 읽는 데 걸리는 시간을 합한 시간을 의미합니다.
CPU와 I/O 장치의 접속
CPU와 I/O 장치는 시스템 버스를 통해 연결됩니다.
I/O 장치 제어기는 CPU로부터 명령을 받아 해당 I/O 장치를 제어하고 데이터를 이동시키는 역할을 합니다.
상태 레지스터와 데이터 레지스터는 제어기 내부에 존재하여 I/O 장치의 상태와 데이터를 저장합니다.
CPU와 보조저장장치의 접속
보조저장장치들인 디스크, 플로피 디스켓, CD-ROM 등도 제어기를 통해 CPU와 접속합니다.
데이터 전송 단위가 다르기 때문에 데이터 버퍼가 필요합니다.
키보드나 프린터는 바이트(8 비트) 단위로 데이터를 전송하지만, 보조저장장치는 블록(512/1024/4096 바이트) 단위로 전송됩니다.
이를 위해 제어기 내에는 데이터 버퍼인 트랙 버퍼가 존재합니다. 트랙 버퍼는 디스크 제어기 내에 한 트랙의 내용을 저장할 수 있는 데이터 버퍼입니다.
컴퓨터의 기본적인 기능과 작동 원리
프로그램 실행
컴퓨터의 핵심 부품인 중앙 처리 장치(CPU)는 주기억장치로부터 프로그램 코드를 읽어와 실행합니다. 프로그램은 일련의 명령어로 구성되어 있으며, CPU는 이런 명령어를 하나하나씩 해석하고 실행합니다.
데이터 저장
프로그램 실행 결과로 얻어진 데이터는 주기억장치에 저장됩니다. 주기억장치는 CPU가 데이터에 빠르게 접근할 수 있는 공간으로, 임시적인 데이터나 프로그램의 실행에 필요한 정보들이 저장됩니다.
데이터 이동
컴퓨터는 디스크나 CD-ROM과 같은 보조저장장치에 저장된 프로그램과 데이터 블록을 주기억장치로 이동시킵니다. 이렇게 데이터를 주기억장치로 이동시키면 CPU가 더 빠르게 접근하여 처리할 수 있습니다.
데이터 입력/출력
사용자는 키보드를 통해 명령이나 데이터를 입력하고, CPU는 이를 읽어 처리합니다. 또한, CPU가 처리한 결과값이나 주기억장치의 내용은 프린터나 모니터와 같은 출력 장치를 통해 사용자에게 출력됩니다.
제어
컴퓨터는 프로그램이 순서대로 실행되도록 제어되며, 필요에 따라 실행 순서를 변경할 수 있습니다. 이를 위해 CPU는 각종 제어 신호를 발생시켜 프로그램의 흐름을 조정합니다.
이번 글은 컴퓨터 시스템의 구성과 기본 기능과 시스템 버스의 역할과 주요 구성 요소인 주소 버스, 데이터 버스, 제어 버스에 대해서 알아보았습니다. 또한, CPU와 기억장치, I/O 장치, 보조저장장치와의 접속 방식에 대해서도 알아보았습니다. 이러한 이해를 바탕으로 컴퓨터 시스템이 프로그램 실행, 데이터 저장, 데이터 이동, 데이터 입력/출력, 제어 등의 기능을 수행하는 것을 이해하는데 도움이 될 수 있습니다.
이미지 출처 – awai’s