처 프로세서 모드 명령 집합 x86 또는 80x86은 인텔이 개발한 마이크로프로세서 계열을 부르는 말이자, 이들과 호환되는 프로세서들에서 사용한 명령어 집합 구조들을 통칭하는 말이다. x86 아키텍처는 데스크톱 컴퓨터 시장에서 매우 널리 쓰이며, PowerPC 같이 좀 더 근대적인 아키텍처를 사용한 프로세서들이 x86과 경쟁했으나 그다지 많은 시장 점유율을 확보하지는 못했다. x86 또는 80x86이라는 이름은 여기에 속하는 초기의 프로세서들 이름이 모두 80으로 시작해서 86으로 끝났기 때문에 붙여졌다. 여기에는 8086, 80186, 80286, 386, 486이 포함되며, 숫자로 상표를 등록할 수 없었기 때문에 그 뒤로는 펜티엄과 같은 별도의 이름을 사용하게 되었다. 그러나 586, 686
x86 - 위키백과, 우리 모두의 백과사전 x86 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 x86 아키텍처 16비트 1978 IA - 16 1982 실제 모드 비실제 모드 보호 모드 32비트 1986 IA - 32 가상 8086 모드 1989 부동 소수점 장치 내장 1995 물리 주소 확장 ( PAE ) 1997 MMX 1997 3DNow! 1999 SSE 2000 SSE2 2001 3DNow! 프로페셔널 2004 SSE3 2006 SSE4 64비트 ( x64 ) 2003 AMD64 ( x86 - 64 ) 롱 모드 NX 비트 2004 EM64T ( IA - 32e ) 범례 : 아키텍처 프로세서 모드 명령 집합 x86 또는 80x86은 인텔이 개발한 마이크로프로세서 계열을 부르는 말이자, 이들과 호환되는 프로세서들에서 사용한 명령어 집합 구조들을 통칭하는 말이다.
80286, 386, 486이 포함되며, 숫자로 상표를 등록할 수 없었기 때문에 그 뒤로는 펜티엄과 같은 별도의 이름을 사용하게 되었다. 그러나 586, 686과 같은 이름은 아직까지도 ( 비공식적으로 ) 사용되며, 전체 아키텍처를 나타내는 말에도 그 흔적이 남아 있다. x86 아키텍처를 사용하는 최초의 프로세서는 1978년에 발표된 인텔 8086으로, 이전 프로세서인 인텔 8080과 어셈블리어 단에서 호환되도록 설계되었다. [ 1 ] [ 2 ] 인텔 8086은 3년 후에 IBM PC의 표준 프로세서로 채택되었다. IBM PC는 그 후로 계속 성장하여 개인용 컴퓨터 업계의 표준이 되었으며, 그에 따라 x86 아키텍처는 매우 성공적인 명령 집합 아키텍처가 되었다. 사이릭스,
로 채택되었다. IBM PC는 그 후로 계속 성장하여 개인용 컴퓨터 업계의 표준이 되었으며, 그에 따라 x86 아키텍처는 매우 성공적인 명령 집합 아키텍처가 되었다. 사이릭스, 일본 전기 주식회사 ( NEC ), IBM, 트랜스메타 등의 회사들이 x86 아키텍처를 사용하는 프로세서를 생산했으며, 그중 AMD의 애슬론 계열 프로세서들은 펜티엄에 미치지는 못 하지만 상당한 시장 점유율을 차지하고 있다. x86 아키텍처는 가변 길이 명령을 쓰는 CISC 설계를 채용했으며, 하위 호환성에 중점을 두고 있다. x86 아키텍처는 다른 아키텍처와 같이 워드 경계에 맞춰서 메모리를 읽는 것이 효율적이긴 하지만, 워드 경계에 걸치는 메모리도 한 번에 접근할 수 있다. 워드들은 최하위 바이트부터 최상위 바이
다. 이에 따라 IA - 32의 64비트 확장이 여럿 제안되었는데, 보통 이들을 통칭하여 x64라 부른다. 대표적으로 완전히 새로운 설계를 사용하며 하위 호환성이 보장되지 않는 인텔의 IA - 64와, IA - 32와 호환되면서 64비트 명령을 추가한 AMD의 AMD64가 있다. IA - 64를 사용하는 아이테니엄 계열 프로세서들은 IA - 32를 하드웨어적으로 지원하기는 하지만 상당히 느리다. 2004년에 인텔은 AMD64의 구현인 EM64T를 발표했으며, 데스크톱 환경에서는 펜티엄 4부터 지원하고 있다. 같이 보기 [ 편집 ] IA - 32 각주 [ 편집 ] ↑ Stephen P. Morse ( 1980 ), 《 Intel Microprocessors : 8008 to 8086 》 ↑ 인텔 8080의 어셈블리어 코드를 그대로 어셈블하면
서로 전환할 수 있도록 고쳐졌고, 명령 앞에 특수한 접두어를 붙여서 16비트 상태에서 32비트 명령을 쓰거나 32비트 상태에서 16비트 명령을 사용할 수도 있다. 인텔 80386은 세그먼트 메모리 모델과 페이징을 지원한 첫 프로세서였으며, 이 기능들은 멀티태스킹 운영 체제에 필수적이었다. 리눅스, 386BSD, 윈도 NT 등이 386 이상의 프로세서를 대상으로 개발되었고, 그 이후로 386 아키텍처는 x86 아키텍처의 기반이 되었다. 인텔 80486에서는 기존의 인텔 80387 같은 코프로세서가 부동 소수점 장치 ( FPU ) 로 통합되었다. 예외적으로 인텔 80486SX는 비용 절감을 위해 FPU를 지원하지 않았다. SIMD 명령 집합 [ 편집 ] 80486 이후
었다. 보호 모드에서 각각의 프로그램은 4 GiB의 메모리를 접근할 수 있으며, 페이징을 지원하기 때문에 가상 메모리를 하드웨어적으로 구현할 수 있다. 예외적으로 인텔 80386SX는 비용 절감을 위해 24비트 주소와 16비트 데이터 버스를 사용한다. 새로운 일반 레지스터가 추가되지는 않았으나, 모든 16비트 레지스터는 32비트로 확장되었다. 확장된 32비트 레지스터는 원래 16비트 레지스터 이름 앞에'E'를 붙여서 EAX, ESI 등의 이름을 사용한다. 명령 집합은 하위 호환성을 위해 16비트와 32비트 명령을 서로 전환할 수 있도록 고쳐졌고, 명령 앞에 특수한 접두어를 붙여서 16비트 상태에서 32비트 명령을 쓰거나 32비트 상태에서 16비트 명령을 사용할 수도 있다. 인텔 8038
X86 ( 16비트 ) 8086 ( 1978 ) 8088 ( 1979 ) 80186 ( 1982 ) 80188 ( 1982 ) 80286 ( 1982 ) X87 ( 외부 FPU ) 8 / 16비트 데이터버스 8087 ( 1980 ) 16비트 데이터버스 X87 80287 80387SX 32비트 데이터버스 80387DX 80487 IA - 32 ( 32비트 ) 80386 SX 376 EX 80486 SX DX2 DX4 SL RapidCAD 오버드라이브 A100 / A110 셀러론 ( 1998 ) M D ( 2004 ) 펜티엄 오리지널 오버드라이브 Pro II II 오버드라이브 III 4 M 듀얼 코어 코어 솔로 듀오 톨라파이 X86 - 64 ( 64비트 ) 셀러론 D 듀얼 코어 펜티엄 4 D 익스트림 에디션 듀얼 코어 코어 2 i7 ( 일부 ) 기타 CISC iAPX 43
서가 부동 소수점 장치 ( FPU ) 로 통합되었다. 예외적으로 인텔 80486SX는 비용 절감을 위해 FPU를 지원하지 않았다. SIMD 명령 집합 [ 편집 ] 80486 이후 x86 아키텍처에는 처리를 위한 SIMD 명령 집합과 이를 위한 레지스터들이 추가되었다. 이 중 처음으로 도입된 것은 펜티엄 MMX에서 소개된 MMX로, 부동 소수점 레지스터와 공유되는 64비트 정수 레지스터 8개 ( MM0부터 MM7까지 ) 와 이들을 다루는 명령들이 추가되었다. 또한 중앙처리장치의 벡터 처리가 중요해지면서 AMD에서는 부동 소수점 실수를 처리하기 위한 3DNow! 확장을 만들었으며, 새로운 128비트 정수 및 실수 레지스터를 사용하는 SSE, SSE2, SSE3 등의 확장도
- 32 각주 [ 편집 ] ↑ Stephen P. Morse ( 1980 ), 《 Intel Microprocessors : 8008 to 8086 》 ↑ 인텔 8080의 어셈블리어 코드를 그대로 어셈블하면 x86에서 작동하는 코드가 출력된다는 말이 아니다. 외부 링크 [ 편집 ] 공용에 분류가 있습니다. X86 ( 영어 ) IA - 32와 AMD64 명령 목록 vdeh명령어 집합 확장SIMD ( RISC ) 알파 MVI ARM NEON MIPS MDMX MIPS - 3D MXU MIPS SIMD PA - RISC MAX 파워 아키텍처 AltiVec SPARC VIS SIMD ( X86 ) MMX ( 1996 ) 3D나우! ( 1998 ) SSE ( 1999 ) SSE2 ( 2001 ) SSE3 ( 2004 ) SSSE3 (
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와 비슷한 내부 아키텍처에서 수행한다.