VNA(폰 노이만 아키텍쳐)에서는 다양한 요소가 시스템 버스를 통해 연결된다. 전기적 신호를 이용해 시스템 요소를 이어주는 버스는 데이터 버스, 주소 버스, 컨트롤 버스. 세 가지가 CPU에 포함된다.
데이터 버스는 CPU와 다른 시스템 요소 사이에서 데이터를 전달한다. 또한 데이터 버스의 크기가 CPU의 처리 성능을 결정한다. 현대 대부분의 CPU는 32 혹은 64비트의 데이터 버스를 사용한다.
프로세서의 크기는 프로세서의 데이터 라인수(number of data lines) 또는 범용 정수 레지스터(general purpose integer register)의 수 중 작은 값을 기준으로 정해진다. 80x86 CPU의 데이터 버스는 64비트이고 정수 레지스터가 32비트이기 때문에 32비트 프로세서이며, x86-64 프로세서는 64비트 데이터 버스와 정수 레지스터를 사용하여 64비트 프로세서이다.
특정 비트 데이터 버스를 탑재한 프로세서는 해당 비스 수 만큼의 최대 대역폭으로 처리할 수도 있고, 보다 작은 메모리 유닛에 접근하는 것 또한 가능하다.
80x86프로세서의 데이터 버스는 특정 메모리 위치 또는 IO에서 CPU로 정보를 전송하며, 어떤 위치/장치 에서 정보를 가져오는지는 해당 정보가 어떤 주소 버스에서 유입되는지에 따라 달라진다.
개별 메모리 위치와 IO장치는 유일한 메모리 주소를 할당 받는다. 소프트웨어가 특정 메모리에 접근하는 경유, 주소 버스에 해당 주소를 전달하고, 회로는 해당 주소를 확인한 후 요청 받은 주소와 일치하면 데이터를 송하고 요청받은 주소와 일치하지 않는 모든 메모리 위치는 무시한다.
n개의 주소 버스라인이 있는 경우 프로세서는 2^n개의 주소에 접근 할 수 있다.
주소 버스의 비트 수는 메모리와 IO에 접근할 수 있는 최대치를 결정한다.
컨트롤 버스는 프로세서와 다른 시스템 요소의 소통 방식을 전기적 신호로 제어한다. 시스템은 컨트롤 버스를 이용해 CPU에서 메모리로의 데이터 흐름, 메모리에서 CPU로의 데이터 흐름을 제어한다. 예를 들어 CPU가 메모리에 어떤 내용을 쓰는 경우 wirte 컨트롤 라인에 신호를 보내고, CPU가 메모리에서 어떤 내용을 읽어오길 원하는 경우 read 컨트롤 라인에 신호를 보낸다. 80x86 CPU의 겨우 컨트롤 버스는 주소 공간을 구분하는 신호를 포함하여, 메모리 주소 공간과 IO 장치주소 공간이라는 두개의 주소 공간을 제공한다.