4월 19일 (금) 오후 10:07

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...
조회 수 4027

x86 또는 80x86은 인텔이 개발한 마이크로프로세서 계열을 부르는 말이자, 이들과 호환되는 프로세서들에서 사용한 명령 집합 아키텍처들을 통칭하는 말이다. x86 아키텍처는 데스크톱 컴퓨터 시장에서 매우 널리 쓰이며, PowerPC 같이 좀 더 근대적인 아키텍처를 사용한 프로세서들이 x86과 경쟁했으나 그다지 많은 시장 점유율을 확보하지는 못 했다.

 

x86 또는 80x86이라는 이름은 여기에 속하는 초기의 프로세서들 이름이 모두 80으로 시작해서 86으로 끝났기 때문에 붙여졌다. 여기에는 8086, 80186, 80286, 386, 486이 포함되며, 숫자로 상표를 등록할 수 없었기 때문에 그 뒤로는 펜티엄과 같은 별도의 이름을 사용하게 되었다. 그러나 586, 686과 같은 이름은 아직까지도 (비공식적으로) 사용되며, 전체 아키텍처를 나타내는 말에도 그 흔적이 남아 있다.

x86 아키텍처를 사용하는 최초의 프로세서는 1978년에 발표된 인텔 8086으로, 이전 프로세서인 인텔 8080로 만든 프로그램을 기계적으로 번역하면 동작하도록 설계되었다. 인텔 8086은 3년 후에 IBM PC의 표준 프로세서로 채택되었다. IBM PC는 그 후로 계속 성장하여 개인용 컴퓨터 업계의 표준이 되었으며, 그에 따라 x86 아키텍처는 매우 성공적인 명령 집합 아키텍처가 되었다. 사이릭스, 일본 전기 주식회사(NEC), IBM, 트랜스메타 등의 회사들이 x86 아키텍처를 사용하는 프로세서를 생산했으며, 그중 AMD의 애슬론 계열 프로세서들은 펜티엄에 미치지는 못 하지만 상당한 시장 점유율을 차지하고 있다.

 

x86 아키텍처는 가변 길이 명령을 쓰는 CISC 설계를 채용했으며, 하위 호환성에 중점을 두고 있다. x86 아키텍처는 다른 아키텍처와 같이 워드 경계에 맞춰서 메모리를 읽는 것이 효율적이긴 하지만, 워드 경계에 걸치는 메모리도 한 번에 접근할 수 있다. 워드들은 최하위 바이트부터 최상위 바이트까지 순서대로 (리틀 엔디안) 저장된다. 현재의 x86 프로세서들은 명령들을 내부적으로 더 작은 단위로 쪼개서 RISC와 비슷한 내부 아키텍처에서 수행한다.


IA-16 (Intel Architecture, 16-bit) 

 

인텔 8086과 8088은 14개의 16비트 레지스터를 지원했다. 네 개(AX, BX, CX, DX)는 일반 레지스터로, 실제로는 명령에 따라서 특수하게 쓰이기도 한다. (예를 들어 LOOP 명령은 항상 CX 레지스터를 사용한다.) 일반 레지스터는 상위 8비트(AH, BH, CH, DH)와 하위 8비트(AL, BL, CL, DL)를 따로 접근할 수도 있다. 네 개의 세그먼트 레지스터(CS, DS, SS, ES)는 메모리 주소의 기준을 정하는 데 사용하며, 두 개의 포인터 레지스터(SP, BP)는 메모리 주소를 담는 데 쓰인다. 두 개의 레지스터(SI, DI)는 배열을 참조하는 데 쓰이고, FLAGS 레지스터는 자리올림, 오버플로우 등의 상태 비트를 담고 있으며, 마지막으로 IP 레지스터는 현재 세그먼트에서 다음에 실행될 명령어의 offset을 저장한다.

 

당시 8086은 64 KiB(65,536 바이트)의 메모리 공간과 64 KiB의 스택 공간을 지원했다. 스택에는 한 워드 단위로 값을 넣거나 뺄 수 있으며, 스택의 꼭대기는 SS:SP에 저장된다. 스택에 값을 넣으면 SS:SP는 줄어들며, 따라서 스택의 꼭대기는 실제로는 전체 스택에서 가장 주소가 작은 곳에 있다. 256개의 하드웨어 및 소프트웨어 인터럽트가 지원되며, 반환 주소를 스택에 저장하기 때문에 한 인터럽트가 처리되는 도중에 다른 인터럽트가 걸릴 수도 있었다.

 

실제 모드


인텔 80286부터는 실제 모드(real mode)라는 프로세서 모드가 부팅시 기본으로 활성화되었다. 실제 모드는 20비트의 주소를 사용할 수 있으며, 따라서 1MiB의 메모리를 접근할 수 있다. 또한 바이오스 루틴과 주변 장치를 소프트웨어적으로 직접 접근할 수 있으나, 멀티태스킹과 같은 개념을 하드웨어적으로 지원하지는 않는다.

 

실제 모드에서는 메모리를 접근할 때 해당하는 16비트 세그먼트와 실제로 사용되는 16비트 주소를 합쳐서 20비트 주소를 만드는데, 예를 들어 DS가 A000h이고 SI가 5677h이면 DS:SI는 DS × 16 + SI = A5677h라는 주소를 가리키게 된다. 메모리 접근에 사용할 수 있는 세그먼트는 네 개(CS, DS, ES, SS) 있으며, 그중 CS와 SS는 프로그램 실행에 밀접한 연관이 있기 때문에 실제로는 DS와 ES만을 사용했다.

실제 모드는 프로그래밍과 컴파일러 설계를 어렵게 했는데, 현재 세그먼트 안에서 접근할 수 있는가 없는가를 검사해서 다른 명령을 만들어야 했기 때문이다. 이때 세그먼트 안에서 접근할 수 있는 포인터를 가까운 포인터(near pointer)라 하고, 그렇지 않으면 먼 포인터(far pointer)라 한다. 이런 종류의 전환 과정은 그 뒤의 아키텍처에서도 종종 나타나는데 (예를 들어 MMX의 EEMS 명령) 결과적으로 프로그래밍을 더 어렵게 했다.

 

보호 모드


인텔 80286은 실제 모드 외에도 보호 모드(protected mode)라는 별도의 모드를 하나 더 제공했다. 이 모드에서는 16 MiB의 물리 메모리와 1 GiB의 가상 메모리를 접근할 수 있으며, 세그먼트 레지스터를 별도의 세그먼트 테이블에 있는 기준 주소를 가리키도록 하였다. 이러한 테이블은 전역 기술 테이블(GDT)과 지역 기술 테이블(LDT)의 두 개로 나뉘는데, 각각 8192개의 24비트짜리 세그먼트 기술자를 담고 있으며 한 세그먼트는 64 KiB의 메모리를 담고 있다. 각 세그먼트 별로 네 개의 보호 단계(ring) 중 하나가 부여되며, 이를 통해 해당 세그먼트에서 실행되는 코드의 권한을 설정할 수 있다.

 

OS/2와 같은 운영 체제는 실제 모드와 보호 모드를 전환하면서 함께 쓰려는 시도를 했으나, 느릴 뿐만 아니라 실제 모드의 프로그램이 자주 컴퓨터를 중단시켰기 때문에 안전하지도 않았다. 윈도 3.0에서는 실제 모드에서 만들어진 프로그램을 보호 모드에서 돌려야 했는데, 이는 윈도 3.0이 소프트웨어적으로 가상 메모리를 구현했으며, 따라서 실제 모드에서 절대 주소를 접근하면 위험했기 때문이다. 윈도 3.1에서는 실제 모드를 사용하지 않는다.

 

IA-32 (Intel Architecture, 32-bit)

 

인텔 80386은 이전 아키텍처를 32비트 환경으로 확장했다. 모든 레지스터와 명령, I/O 공간 및 메모리는 32비트로 확장되었으며, 보호 모드 역시 32비트 보호 모드로 확장되었다. 보호 모드에서 각각의 프로그램은 4 GiB의 메모리를 접근할 수 있으며, 페이징을 지원하기 때문에 가상 메모리를 하드웨어적으로 구현할 수 있다. 예외적으로 인텔 80386SX는 비용 절감을 위해 24비트 주소와 16비트 데이터 버스를 사용한다.

 

새로운 일반 레지스터가 추가되지는 않았으나, 모든 16비트 레지스터는 32비트로 확장되었다. 확장된 32비트 레지스터는 원래 16비트 레지스터 이름 앞에 ‘E’를 붙여서 EAX, ESI 등의 이름을 사용한다. 명령 집합은 하위 호환성을 위해 16비트와 32비트 명령을 서로 전환할 수 있도록 고쳐졌고, 명령 앞에 특수한 접두어를 붙여서 16비트 상태에서 32비트 명령을 쓰거나 32비트 상태에서 16비트 명령을 사용할 수도 있다.

 

인텔 80386은 세그먼트 메모리 모델과 페이징을 지원한 첫 프로세서였으며, 이 기능들은 멀티태스킹 운영 체제에 필수적이었다. 리눅스, 386BSD, 윈도 NT 등이 386 이상의 프로세서를 대상으로 개발되었고, 그 이후로 386 아키텍처는 x86 아키텍처의 기반이 되었다. 인텔 80486에서는 기존의 인텔 80387 같은 코프로세서가 부동 소수점 장치(FPU)로 통합되었다. 예외적으로 인텔 80486SX는 비용 절감을 위해 FPU를 지원하지 않았다.

 

SIMD 명령 집합 

 

80486 이후 x86 아키텍처에는 멀티미디어 처리를 위한 SIMD 명령 집합과 이를 위한 레지스터들이 추가되었다. 이 중 처음으로 도입된 것은 펜티엄 MMX에서 소개된 MMX로, 부동 소수점 레지스터와 공유되는 64비트 정수 레지스터 8개(MM0부터 MM7까지)와 이들을 다루는 명령들이 추가되었다. 또한 중앙처리장치의 벡터 처리가 중요해지면서 AMD에서는 부동 소수점 실수를 처리하기 위한 3DNow! 확장을 만들었으며, 새로운 128비트 정수 및 실수 레지스터를 사용하는 SSE, SSE2, SSE3 등의 확장도 등장했다.

 

IA-64 (Intel Architecture, 64-bit)


IA-32는 4 GiB의 메모리만 접근할 수 있으며, 따라서 대규모의 처리가 필요한 멀티미디어 작업이나 데이터베이스 등에 한계를 드러냈다. IA-32에서 최대 64 GiB의 메모리를 접근할 수 있게 한 물리 주소 확장(PAE) 등도 등장했지만 근본적인 해결책은 되지 못 했다.

이에 따라 IA-32의 64비트 확장이 여럿 제안되었는데, 보통 이들을 통칭하여 x64라 부른다. 대표적으로 완전히 새로운 설계를 사용하며 하위 호환성이 보장되지 않는 인텔의 IA-64와, IA-32와 호환되면서 64비트 명령을 추가한 AMD의 AMD64가 있다. IA-64를 사용하는 아이테니엄 계열 프로세서들은 IA-32를 하드웨어적으로 지원하기는 하지만 상당히 느리다. 2004년에 인텔은 AMD64의 구현인 EM64T를 발표했으며, 데스크톱 환경에서는 펜티엄 4부터 지원하고 있다.






  1. 라우터(ROUTER) 명령어 모음

    backspace : 한 문자를 삭제 bandwidth : 시리얼 인터페이스에 대역폭을 세팅 banner : 라우터에 로그인하는 사용자를 위한 배너 생성 clear counters : 인터페...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  2. 유용한 리눅스 명령어 모음

    adduser : 유저를 만들때 사용하는 명령 cd (change directory) : 디렉토리(윈도우에선 폴더) 변경할때 사용 chmod (change mode) : 파일의 허가상태 변경 chown (change owner) : 파일 소유권 병경 cp...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  3. 윈도우 텔넷(telnet) 명령어 모음

    ■ ls : 현재 파일을 보여줍니다. 일반적으로 여러 옵션을 줄수 있습니다 ■ ls -al : 파일의 크기부터 파일의 퍼미션, 그리고 히든 파일까지 보여줍니다 ■ ls -at : 파일이 생성된 시간까지 보...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  4. L4/L7 스위치의 대안, 오픈 소스 로드 밸런서 HAProxy

    Ncloud에서 하드웨어로 구성된 기존의 로드 밸런서(load balancer)를 대체할 수 있는 솔루션을 찾던 중 소프트웨어 로드 밸런서인 HAProxy를 검토하게 됐습니다. HAProxy를 검토하면서 정리한 자료와 사내 ...
    Date2015.09.25 CategoryIT KNOWLEDGE
    Read More
  5. 인 메모리 (In-memory Database)

    인메모리 데이터베이스(In-memory Database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템이다. 디스크에 설치되는 방식에 비해 처리 속도가 빠르...
    Date2015.08.28 CategoryIT KNOWLEDGE
    Read More
  6. MySQL(Structured Query Language)

    1.MySQL 이란 무엇인가? 표준 데이터베이스 질의 언어인 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 시스템(RDBMS). 매우 빠르고, 유...
    Date2015.08.03 CategoryIT KNOWLEDGE
    Read More
  7. NUMA와 SMP(Symmetric Multi Processing)

    하드웨어가 발전하면서 하나의 메인보드에 여러개의 CPU, 버스, 메모리 컨트롤러를 구성할 수 있게 되었습니다. Numa는 간단하게 CPU와 메모리가 한 Set를 이루는 것을 의미합니다. [그림1] Numa 관...
    Date2015.06.15 CategoryIT KNOWLEDGE
    Read More
  8. 프로비저닝과 멀티테넌트 (Provisioning,Multi Tenant)

    프로비저닝(Provisioning)이란? 사전적의미 - 준비, 예비, 설비 make provisioning=준비하다 [IT에서 사용하는 의미] 무엇인가 여럿 중에 최적인 것을 찾기 위해 필요한 지...
    Date2015.05.29 CategoryIT KNOWLEDGE
    Read More
  9. QoS 이론 및 기초

    1. 트래픽 관리의 기초 "인터넷이 왜 이렇게 느려요?" "네트워크 접속이 잘 안되거든요?" 이 말은 네트워크 관리자들이 가장 듣기 싫어하는 말 중의 하나죠. ^^ 하지만 아무리 골치아픈 상...
    Date2015.05.11 CategoryIT KNOWLEDGE
    Read More
  10. NPS / RADIUS 서버

    NPS ( Network Policy Server ) 네트워크 정책 서버는 MS사에서 부른 명칭으로서 일반적으로 정식 명칭은 RADIUS ( Remote Authentication Dial-In User Service ) Server이다. @ RADIUS Server 구성 ...
    Date2015.04.18 CategoryIT KNOWLEDGE
    Read More
  11. DNS 정의와 계층 구조

    DNS 개관, 역사, 표준 초기 DNS의 개발과 계층 도메인으로의 이동1981년 9월 발표된 RFC 799, "Internet name domains"이 처음으로 이 개념을 도입실제로 도메인 자체보다는 도메인 간의 이메일 전송 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  12. MBR & GPT 구조적 차별성

    MBR(Master Boot Record)와 GPT(GUID Partition Table)의 구조적 차이 - 윈도우에서 사용할 수 있는 디스크 종류는 크게 2가지가 있다. : 전통적인 BIOS 방식의 시스템에서 사용되는 디스크 형식인 MBR 디...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  13. 서브넷 마스크 정의 및 나누기

    비트 서브넷 갯수 호스트 갯수 서브넷 주소 서브넷 표기/25 2 128 0,128 128/26 4 64 0,64,128,192 192/27 8 32 0,32,64,96,128,160,192,224 224/28 16 16 0,16,32,48,64,80,96,11...
    Date2015.04.09
    Read More
  14. OFDM (Orthogonal Frequency Division Multiplexing)

    OFDM (Orthogonal Frequency Division Multiplexing) => OFDM이란 주파수 분할 다중화 방식(FDM)보다 진보된 기술로 직교성을 갖고 있다. OFDM을 설명하기 앞서서 Single Carrier와 Multi Car...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  15. 4G 이야기 - IEEE 802 무선 기술의 흐름

    광대역 통합망인 BcN은 무선 가입자망, 유선 가입자망, 방송 가입자망으로 크게 나눕니다. 무선 가입자망은 WiBro, WCDMA, HSDSPA, CDMA, 4G 등이 있을 것입니다. 향후 BcN에서는 유무선 통합망, 유무선 통...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  16. 무선 인터넷 망의 종류와 특성 (HSPDA,EV-DO,LTE-A 등)

    국내 무선 망의 현황 현재 한국은 CDMA-2000 의 무선 기술로 3G (3세대)에 이어 4G LTE가 보급되었다. ITU-T 4세대 표준은 Wi-Bro를 개선한 Wibro Advanced 와 LTE를 개선한 LTE-A 을 말한다. ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  17. WINS(Windows Internet Name Service) 정의 / 서버 설치

    마이크로소프트의 네트워크 환경에서 여러 가지 서비스를 하는 서버들이 있지만, 역시 빼 놓을 수 없는 서비스가 하나 있다. Windows NT4.0 에 비하면 Windows 2000 환경에서는 그 역할이 많이 줄어들었지...
    Date2015.04.09
    Read More
  18. 스토리지 레이드 구성 정의 (RAID0,1,2,3,4,5,6,10)

    정의 Redundant Array of Inexpensive/Independent Disk 저장장치 여러 개를 묶어 고용량·고성능 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다. 초기에는 업그레이드 후 '폐기하기엔 아깝...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  19. Iaas, Paas, SaaS, HaaS, BaaS 개념

    클라우드 서비스에 사용되는 as a Service 개념에 대해서 알아 본다. [그림 : https://www.simple-talk.com/cloud/development/a-comprehensive-introduction-to-cloud-computing/] [IaaS ...
    Date2015.04.09
    Read More
  20. EIGRP(Enhanced Interior Gateway Routing Protocol) 이론 정리

    EIGRP(Enhanced Interior Gateway Routing Protocol)은 시스코에서 개발한 Distance Vector 라우팅 프로토콜이다. 단, Distance Vector 라우팅 프로토콜과 Link State 라우팅 프로토콜의 장점만을 채택했다...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  21. TCP/UDP 이더넷 패킷 구조

    - 크기 : 바이트 (실제값 설명) * Ethernet header : 14 - 목적지 MAC 주소 : 6 - 출발지 MAC 주소 : 6 - 타입 : 2 (0x0800=이더넷) - 데이터 : 46~1500 (IP Header + TCP 헤더 + TCP ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  22. SSD 구조 및 원리, 기술 설명

    타이틀 세부설명 Alignment (정렬) Alignment는 저장 장치의 파티션 정렬을 의미합니다. 이것은 최적의 성능을 만들기 위하여 파티션의 시작점을 결정하는 것...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  23. 리눅스(linux)vs유닉스(unix) 역사 및 차이 비교

    History of Unix 1960년대 GE(General Electrics) 는 MIT, AT&T Bell Labs 과 컴퓨터 개발을 시작하였다. 그들이 만든 GE645로 알려진 컴퓨터와 OS 인 Multics 는 멀티 태스크 기능에서 뛰어난 성능을 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  24. DAS, NAS, SAN 스토리지

    Chris Evans 09.28.2009 www.nextreme.co.kr 데이터센터 통합과 비용절감은 엔터프라이즈 데이터 스토리지 환경에서 가상서버 기술의 지속적인 도입을 가져왔다. 주요 벤더 Microsoft, VMWARE, Xe...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  25. iSCSI란 무엇이며 어떤 이점이 있습니까?

    iSCSI(Internet Small Computer System Interface)는 인터넷 프로토콜(IP) 기반의 스토리지 네트워킹 표준이며 데이터 스토리지 장치의 연결에 사용됩니다. SCSI 명령을 IP 네트워크를 이용해 전달함으로써...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  26. PCI 익스프레스 1.0/2.0/3.0/4.0

    PCI 익스프레스(PCI Express)는 2002년 PCI SIG가 책정한 입출력을 위한 직렬 구조의 인터페이스이며 인텔 주도하에 만들어졌다. 공식적인 약어로 PCIe로 표기한다. 옛 PCI, PCI-X와 AGP 버스를 대체하기 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  27. DB(데이터베이스) / SQL

      [ DB ] 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높...
    Date2015.04.09
    Read More
  28. TCP 통신 방식 3way handshake (SYN, SYN/ACK, ACK)

    Client와 Server 또는 P2P Socket 통신 등, 네트워크를 사용한 통신시 TCP 통신을 많이 사용한다. TCP 통신을 위한 네트워크 연결은 3 way handshake 라는 방식으로 연결된다. 쉽게 이야...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7