cpu는 필요한 데이터를 메모리에서 가져와서 레지스터에 저장후 산순논리 연산장치를 통해 연산을 하여 그 결과값을 다시 메모리로 옮긴다. 이때 사용하는 레지스터들의 종류들은 사용자 프로그램에 의해 변경되기에 가시 레지스터라고 불리운다.
이름 | 내용 |
---|---|
데이터 레지스터 | 데이터 레지스터는 메모리에서 가져온 데이터를 임시로 보관할 때 사용한다. CPU에 있는 대부분의 레지스터가 데이터 레지스터이기때문에 일반레지스터 또는 범용 레지스터라고 불리운다. |
주소 레지스터 | 데이터 또는 명령어가 저장된 메모리의 주소는 주소 레지스터에 저장된다. |
위 두개의 레지스터 외에 특별한 용도로 사용되는 레지스터가 있는데이를 특수 레지스터라고 부른다.
이름 | 특징 |
---|---|
프로그램 카운터(PC) | 다음에 실행할 명령어의 위치 정보를 저장 |
명령어 레지스터 | 현재 실행중인 명령어를 저장 |
메모리 주소 레지스터(MAR) | 메모리관리자가 접근해야할 메모리 주소를 저장 |
메모리 버퍼 레지스터(MBR) | 메모리 관리자가 메모리에서 가져온 데이터를 임시로 저장 |
프로그램 상태 레지스터(PSR) | 연산 결과(양수, 음수) 등을 저장 |
제어 버스에서는 다음에 어떤 작업을 할지 지시하는 제어신호가 오고 간다.(메모리에서 데이터를 가져올지 아니면 처리한 데이터를 옮겨놓을지에 대한 지시정보가 오고 가는데, 데이터를 가져올때는 읽기 신호 데이터를 옮겨놓을때는 쓰기 신호가 간다.)
CPU,메모리 주변장치와 양방향으로 오고간다.
메모리의 데이터를 읽거나 쓸때 어느 위치에서 작업할 것인지를 알려주는 위치 정보가 오고간다. cpu에서 메모리나 주변장치로 나가는 주소 정보는 있으나 그반대는 없다.
제어버스가 다음에 어떤 작업을 할지 신호를 보내고 주소 버스가 위치 정보를 전달하면 데이터가 데이터 버스에 실려 목적지까지 이동한다. 데이터 버스는 메모리 버퍼 레지스터와 연결되어 있으며 양방향이다.
키보드, 마우스 등
CD, DVD, SD카드, SSD 등
컴퓨터의 다양한 부품은 버스로 연결된다. 버스는 일정한 규칙에 따라 각장치에 데이터를 전송하는 역할을 한다.