X86, 그리고 CPU

2021. 8. 11. 10:49잡다한 IT/개발자도 궁금한 IT인프라

x86이란 명칭이 왜 유행하고 명사가 되었는가?

바로 인텔사의 cpu 80286을 기반으로 점차 기술을 개선하며 386,486,586이라는 명칭으로 명명하여 불렀다. 특히 586펜티엄은 전 세계적으로 히트를 기록했고 이때 x86이라는 인텔의 cpu아키텍처 명칭이 사람들의 인식에 박히게 된 것이다.

 

* 대한민국에서 세대를 나누는 386세대, 486세대 등은 조금 명확하게 구분하면 1990년대 30대이고 80대인 학번 그리고 60년대 출생을 의미하는 386세대를 시작으로 앞자리가 바뀌는 486로 바뀐다. 이런 n86을 나눠 부르는 것은 인텔사의 n86시리즈가 상당한 영향을 주었다고 한다.

 

최초의 x86은 16비트에서 시작하여 32, 64비트까지 점점 성장해 왔다.

2000년대 초반은 가정용 pc는 32비트, 기업용 pc는 64비트로 나누어서 출시하는 전략을 새웠고 이 전략을 바탕으로 자연스레 SW시장도 나누어져 갔다. 하지만 기술의 발전에따라 32비트의 pc가 모든것을 수용하지 못하게 되며 AMD사가 32비트와 64비트를 동시에 처리할 수 있는 기술인 AMD64를 2003년에 개발함에 따라 인텔사도 2005년 EM64T라는 기술을 개발해 64비트 처리 기술을 개발하게 된다.

 

이 두가지 처리 기술을 기반으로 동작하는 CPU를 x64라고 하는데 이런 파일은 아직까지도 윈도우 파일, 혹은 다른SW에서도 '파일이름x86_64'라거나 '파일이름x86'이라는 잔제로 확인할 수 있다.

 

*당장 내 컴퓨터 - c드라이브or d드라이브 에 들어가더라도 Program Files(x64) 라는것을 확인할 수 있다.

*국내 유명게임인 단풍이야기는 이 당시 가정용 pc인 32비트를 맞추어 출시를 했지만 2021년 8월 기준 대다수의 가정용 pc가 64비트임에도 기술 개발, 혹은 이전을 하지 않아서 '호환성'이 부족하다고 한다.

 

계속 나오는 32비트 64비트, 여기서 말하는 비트란 무엇일까?

이 비트를 이해할려면 CPU에 대해서 조금 알아볼 필요가 있다. cpu의 구성요소는 3가지가 있는데 산술논리장치로 논리연산을 해 주는 장치, 주변기기(그래픽카드, 메모리 등)을 제어하는 제어장치, 기억장치인 레지스터가 있다. 이 중 레지스터를 통해서 cpu는 메인보드에 장착된 메모리와 정보를 주고 받는데 이 경로가 넒을 수록(비트가높을수록)한번에 처리할 수 있는 데이터 양이 많아져서 성능이 높아진다.

이때 처리 비트에 따라서 최대 램 크가기 차이가 나는데 윈도우 7과 윈도우 10을 비교해 보면 알 수 있다.

 

os종류 32비트 64비트
윈도우7스타터 2GB 해당없음
윈도우7홈베이직 4GB 8GB
윈도우10홈 4GB 128GB
윈도우10프로 4GB 2TB

표1. 운영체제별 RAM 최대 크기

 

 ==> 동시에 100대의 자동차가 3차선을 통해서 목적지에 도달하는것과 6차선으로 목적지에 도달하는것에 대한 속도차이는 확연히 들어나는것 처럼 처리 비트의 수가 높을수록 더 빠르고 많이 처리할 수 있다.

 

pc가 본연의 성능을 온전히 발휘하기 위해서는 cpu, 운영체제, 에플리케이션이 같은 비트로 구성되는것이 중요하다. 본인의 윈도우 운영체제가 32비트라면 렘카드를 수십개를 장착하게 되더라도 사용할 수 있는 메모리는 4GB이상으로는 사용할 수 없다. 하지만 64비트의 고급 운영체제의 경우 최대 2TB까지도 사용할 수 있다.

 

x86서버의 주요 부품으로는 메모리는 DDR3,4타입이 주로 이루며 디스크는 internal disk(서버 내부 디스크, 인터너 디스크), PSU(파워 서플라이 유닛)이 있다. 

서버에 장착되는 메모리는 4GB~128GB까지 다양하며 서버의 규모가 클수록 더 많은 메모리를 사용한다. 이런 메모리를 증설하는것은 가격대비 효율이 가장 높은, 최소비용으로 최대의 효과를 누릴 수 있는 부품이다. 

신규 서비스 개발 비용을 100이라고 한다면 하드웨어 비용은 30, 소프트웨어 라이센스 비용은 약 70이다. 이럴때 라이센스 비용은 cpu 혹은 코어의 수에 따라 가격이 책저오디므로 cpu를 증설하면 소프트웨어 라이센스 비용이 그 만큼 증가한다. 그렇기에 메모리 증설을 통한 성능 향상이 더욱 효율적이다.(메모리가 더욱더 싸기때문이다.)

 

그럼 메모리를 증설하기 위해서는 어떻게 해야할까?

3가지 규칙을 지키며 증설하면 된다.

 

1. 모든 cpu에는 1개 이상의 메모리가 장착되어 있어야 한다.

2. 1개의 cpu가 인식할 수 있는 메모리 슬롯의 수에는 제한이 있다.

3. 다른 규격의 메모리를 섞어 사용할 수 없다.

 

디스크는 크게 서버용과 일반용 디스크로 나뉜다. 이 둘의 차이는 연결방식, 디스크의 속도, 디스크의 용량의 차이를 나타난다.

  연결방식 속도 용량
서버용 SAS 10,000~15,000rpm 디스크당 용량이 작다
가정용 SATA 5,400~7,200rpm 디스크당 용량이 크다.

표2. 가정용과 서버용 디스크의 비교

 

일반적으로 서버는 10개의 디스크를 장착할 수 있으나 24~48개까지도 장착되는 서버도 있으니 사용자의 용도에 맞게 도입하면 된다.

 

파워는 컴퓨터의 전원부를 의미하는데 일반적으로 부하가 많이 몰리는 서버일수록 전원부가 튼튼해야 사고를 방지할 수 있다. 그렇기에 보통 서버는 2~4개의 전원이 장착되어 있고 이것들은 상호간 백업이 가능하다.

 

그런데 서버는 왜 이렇게 많은 확장 슬롯을 가지고 있고 이것이 필요할까?

1. 용도별로 당야한 카드 제품이 존재하고 연갈할 장비들이 많기 때문이다.

2. 안정적인 서비르르 위해 서비스용 포트와 백업, 서버 작업용 관리 포트를 별도로 구성하고 nic카드나 특정 포트에오류가 나더라도 서비스 중단 없이 이중으로 구성하기 위함이다.

3. 가정이나 소규모 회사는 pc나 소형 서버 내부에 필요한 데이터를 모두 보관할 수 있지만 수백~수천만개의 데이터를 저장해야 하는 대형 서비스의 경우 대량의 데이터 보관, 빠른 데이터 검색/기록이 필요한데 이런 상황에서 별도의 전용 저장장치를 사용해야한다.

 

x86의 서버 타입별 형태와 용도

x86 cpu를 사용하는 서버는 3가지 형태가 있는데 각각 타워형, 랙(rack)형, 블레이드형 3가지가 있다.

타워형은 일반적인 pc와 매우 유사하지만 조금더 큰 형태로 일반적으로 워크스테이션이라 부른다. 랙형의 경우 IT회사의 데이터 센터 사전에서 가장 많이 볼 수 있는데 it관련 뉴스 등에서 자주 자료화면으로 나오는 서버들이다. 마지막으로 블레이드 형은 좁은 공간을 활용하기 위해서 i/o카드, 제어부, 저원부 등의 공통 부분을 통합한 극도로 얇은 크기의 서버 이다.

 

타워형 서버는 일반적으로 소규모 회사에서 사용하기 적합하다. 표준적으로는 랙 서버를 가장 많이 사용하는 추세이며 블레이드 서버는 클라우드를 초기에 구성할때 많이 사용했었다. 하지만 랙 서버도 슬림화, 고성능화가 이루어지면서 과거에 비해 많이 사용하지는 않는다.