티스토리 뷰

정보처리기사 2과목 전자계산기 구조에서 다뤄지는 레지스터와 버스의 개념에 대해 알아보도록 하겠습니다. 먼저 레지스터는 보통 컴퓨터의 중앙처리장치 안에 위치하여 적은 양의 데이터나 처리 중인 연산의 중간값을 임시 저장하는 메모리를 말합니다

 

산술 연산이나 논리 연산을 행할 때 중간 결과들을 일시적으로 저장하여 최종 결과를 도출하기 까지 저장해 둘 장소로서 기능하며, 전송 속도는 기억 장치 중 가장 빠릅니다. 컴퓨터의 주기억장치와의 차이점은 주기억장치는 단지 데이터나 명령을 저장할 뿐이고, 레지스터는 연산의 중간 결과값을 일시적으로 저장하여 연산을 돕는 기능을 하고 중앙처리장치에 속해있다는 것입니다. 

 

레지스터의 종류와 기능에 대해 알아보도록 하겠습니다.

 

첫번째 레지스터는 프로그램 카운터 또는 프로그램 계수기(PC; Program Counter)입니다. 컴퓨터 중앙처리장치의 제어 장치에 속하며, 다음에 실행할 명령어의 주소를 기억하는 레지스터입니다. 현재의 명령이 실행될 때마다 1이 자동으로 더하여진 뒤, 다음에 꺼낼 명령의 주소를 지시합니다.

명령 레지스터(IR; Instruction Register)는 현재 실행 중인 명령 내용을 기억하는 레지스터입니다. 역시 제어 장치의 일부이며, 기억 장치에서 내린 명령을 받아 실행하기 위해 일시적으로 기억하는 레지스터입니다.

누산기(AC; Accumulator)는 연산의 중심이 되는 장치로써, 연산된 결과를 일시적으로 저장하는 레지스터입니다. 컴퓨터가 연산 작업을 수행할 때, 누산기에 일시적으로 저장된 데이터와 주기억장치에 있는 데이터를 바탕으로 연산 장치에서 처리된 뒤, 그 결과값이 누산기에 저장됩니다. 보통 누산기에는 하나의 수치가 축적되어 있으며, 다른 곳에서 데이터가 입력되면 양쪽의 대수합으로 치환됩니다.

상태 레지스터(Status Register), PSWR(Program Status Word Register), 플래그 레지스터는 컴퓨터 시스템이 순간 순간의 상태를 기록하는 레지스터입니다. 오버플로(overflow), 언더 플로(underflow), 자리올림, 계산 상태(0, -, +), 인터럽트(interrupt) 등의 PSW를 저장하는 레지스터입니다.

메모리 주소 레지스터(MAR; Memory Address Register)는 중앙처리장치에서 기억 장치를 출입하는 데이터의 주소를 기억하고 불러오는 레지스터입니다.

 

메모리 버퍼 레지스터(MBR; Memory Buffer Register)는 중앙처리장치에서 기억장치를 출입하는 데이터가 일시적으로 기억되는 레지스터입니다. 잠시 저장된 뒤 출력되는 과정은 CPU가 데이터를 처리하기 위해서는 필수적인 과정입니다.

인덱스 레지스터(Index Register)는 레지스터에 기억된 데이터에 의해 실행하는 명령의 주소를 변경하고, 서브루틴을 연결하고, 프로그램에서 반복 연산의 횟수를 세는데 사용되는 레지스터입니다. 인덱스 레지스터는 사용자가 레지스터 내용을 변경할 수 있다는 특징이 있습니다.

 

데이터 레지스터(Data Register)는 연산 작업에 사용될 데이터를 기억하는 레지스터입니다. 중앙처리장치에서 자료의 일시적 저장에 보편적으로 사용되는 레지스터입니다.

시프트 레지스터(Shift Register)는 각각의 클록을 주기로 저장된 데이터 값을 왼쪽 또는 오른쪽으로 1Bit씩 자리 이동시키는 역할을 하는 레지스터입니다. 이러한 기능을 하는 시프트 레지스터는 병렬 데이터를 직렬 데이터로 변환하는 데 유용합니다.

 

메이저 스테이터스 레지스터(Major Status Register)는 CPU의 메이저 상태를 저장하고 있는 레지스터입니다.

다음으로 버스(Bus)란 무엇이며 어떤 기능을 수행하는지에 대해 알아보겠습니다. 대중 교통 수단으로 널리 사용되는 버스처럼 CPU, 메모리, I/O(Input/Output) 장치 등과 상호 필요한 정보를 교환하기 위해 연결시킨 공동 전송선입니다. 

버스의 종류는 크게 전송하는 정보의 종류에 따라 구분된 버스와 구성된 위치에 따라 구분된 버스가 있습니다. 버스는 전송하는 정보가 무엇인지에 따라 번지 버스(Address Bus), 자료 버스(Data Bus), 그리고 제어 버스(Control Bus)로 나뉩니다. 번지 버스는 CPU가 메모리나 입·출력 장치의 주소를 지정할 때 사용하는 단방향 전송선입니다.

자료 버스는 CPU, 메모리, 입·출력 장치 사이에서 데이터를 전송하는 양방향 전송선입니다. 마지막으로 제어 버스는 CPU의 현재 상태나 상태 변경을 메모리나 입·출력 장치에 알리는 제어 신호를 전송하는 양방향 전송선입니다. 위치에 따라서 구분되는 버스의 종류는 크게 내부 버스와 외부 버스가 있습니다. 내부 버스는 CPU나 메모리 내부에 구성된 버스를 말하고, 외부 버스는 주변 입·출력 장치에 구성된 버스를 의미합니다.

이번 포스팅에서는 정보처리기사 필기 2과목 전자계산기 구조에서 중요하게 다루는 개념인 레지스터와 버스의 개념과 종류에 대해 알아보았습니다. 중앙처리장치의 구성요소로서 일시적인 저장을 수행하는 레지스터는 출제 가능성이 높으니 꼭 내용을 숙지하시기 바랍니다. 

감사합니다.:)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday