Chapter 7. Pentium Processor 인텔의 마이크로 프로세서 중 가장 강력한 프로세서 초기 모델 : 60/66MHz(P54) 강력한 멀티태스킹 기능과 Dual 프로세서 기능을 지원한다. PC에서 보다는 서버로의 이용에서 더 탁월한 성능을 보여준다. 기존의 x86 계열의 프로세서들과 100%코드 호환성을 유지 2018-12-05 web-space
Pentium Processor 1. Pentium CPU의 특징 가. 슈퍼스칼라 아키텍처 (Superscalar Architecture) 파이프라인과 병렬처리의 장점을 모아놓은 기술로써 여러 개의 파 이프라인에서 명령들이 병렬처리 되도록 만들어진 것이다. 여러 개의 파이프라인들이 최적화 된 채 서로 연결되어 동작하도록 해준다. 이 장치가 없으면 명령들이 한 파이프라인에만 집중되거나 반대로 여기 저기 흩어질 수 있다. 이러한 것은 곧바로 CPU의 성능 저하를 야기 시킬 수 있다. 이것은 한 개의 프로세서 내부에 두 개 이상의 파이프라인을 가짐으로써, 1개의 프로세서 클럭 사이클에 두 개 이상의 명령 수행을 가능케 한 구조이다. 2018-12-05 web-space
Pentium Processor 나. 분기 예측(Branch Prediction) 분기 : 프로세서가 명령을 수행할 때 특정한 조건이 만족되는지 점검을 할 때가 있는데 이러한 경우 점검 결과에 따라 다음 수행해야 할 명령의 내용이 달라지는 것이 일반적이다. 분기를 미리 해석하고 예측하여 다음 수행할 명령에 대한 준비를 미리 끝내는 분기 예측 기능을 가지고 있다. 분기예측 : 프로그램 실행 도중 'GO TO'와 같은 분기 명령이 발생했을 경우 메모리 상의 분기 예측할 곳을 추측하는 기능이다. 추측 실행(Speculative Execution) : 메모리에서 분기 명령이 실행된 경우 직접 분기된 곳으로 이동하지 않고 그 곳에 있을 것을 미리 예측하여 처리하고 계속해서 다른 명령을 실행하는 기능이다. 추측 실행을 이용하면 파이프라인 안에서 명령들이 끊이지 않고 연속 실행 되도록 할 수 있다. 2018-12-05 web-space
Pentium Processor 다. 8KB 데이터 캐시 (8KB Data Cache) Pentium은 또한 별도의 코드와 데이터 캐시 메모리를 8KB씩 보유하고 있다. Write back 방식 : 메모리 사이클에 대한 프로세서의 부하를 현격히 줄임으로써 성능 향상을 가져오는 강점을 살린 것이다. 라. 향상된 부동소수점 유니트 486에서의 부동소수점 처리 능력보다 4배 이상 뛰어난 것으로 판단된다. 2018-12-05 web-space
Pentium Processor 마. 동적 실행(Dynamic Execution) 분기 예측과 추측실행이 모아진 형태 메모리에 있는 프로그램을 임의로 재배치시켜 최적화 한 다음 실행 이러한 방법을 사용함으로써 CPU의 여러 부분들이 기다림 없이 연속적으로 사용될 수 있으며, 프로그램의 실행속도가 비약적으로 향상된다. 2018-12-05 web-space
Pentium Processor 바. 파이프라인 처리(Pipelining) 파이프라인 처리 : 하나의 명령어가 처리되는 동안 다른 명령어 들이 대기 상태에 있는 것이 아니라 동시에 명령어 처리 과정을 거치게 되는 것이다. 하나의 명령 처리가 진행되면서 다른 명령들의 처리 또한 가능해 진다. 병렬처리 : 이러한 파이프라인이 하나만 있는 것이 아니고 여러 개가 동시에 존재한다. 따라서, 여러 개의 명령들이 여러 개의 서로 다른 파이프와 경로를 통하여 처리되기 때문에 처리속도의 극대화를 꾀할 수 있는 것이다. 2018-12-05 web-space
Pentium Processor ( 기타 ) 향상된 명령 실행 시간 데이터 캐시에서 Write back MESI 프로토콜 지원 어드레스 파티(Address Party) 내부 파티 검사(Internal Parity Checking) 기능 과잉 검사(Functional Redundancy Checking) 동작 감시 (Performance Monitoring) 시스템 관리 모드 가상 모드 확장 (Virtual Mode Extensions) 듀얼 프로세서 지원 단편적인 버스 운용 (Fractional Bus Operation) 2018-12-05 web-space
Pentium Processor 2. MMX(MultiMedia Extension)기술을 채용한 Pentium CPU 2018-12-05 web-space
Pentium Processor Intel의 MMX 기술 : 멀티미디어와 3D 작업의 효율을 향상시키기위하여 여러 개의 pixel을 하나의 register에 저장할 수 있으며 이들을 하나의 명령어를 사용하여 조작할 수 있다. 이러한 MMX 기술은 새로운 차원의 parallelism을 x86계열의 processor에 부여한다. x86의 기본 구조에 새로운 물리적인 register를 추가하는 대신, Intel은 FPstack을 논리적인 MMX register로 사용하는 방법을 채택하였다. 2018-12-05 web-space
Pentium Processor MMX 명령어 : 80bit의 길이를 가지는 FP register에서 16bit의 여분을 제외한 64 bit만을 사용한다. 이러한 기술은 x86의 기본적인 구조를 바꾸지 않은 상태에서도 MMX가 존재할 수 있도록 해 주는 결정적인 역할을 한다. MMX 명령 : packed byte(8 bit), packed word(16 bit), packed double-word(32 Bit) 및 packed quadrable-word(64 bit)등 여러 유형의 자료를 이 64bit register에 저장할 수 있다. 2018-12-05 web-space
Pentium Processor MMX는 SIMD paradigm을 사용하는 일반 정수 명령어 집합을 제공한다. SIMD(single instruction stream multiple data stream)의 약자로 단일 명령어 흐름과 복수의 데이터 흐름을 나타낸다. 하나의 명령은 레지스터에 저장된 다수의 자료에 대한 연산을 수행한다. 이러한 병렬처리 방식은 작업의 효율을 향상시킬 수 있다. Intel은 이미 MMX 이외에도 AGP(Advanced Graphics Port)라고 불리 우는 새로운 bus 방식을 발표하였다. AGP 기술은 main memory와 graphic card간의 통신을 위하여 새로운 통로를 마련하고 있다. 2018-12-05 web-space
Pentium Processor 3. Pentium 프로의 특징 (Pentium Pro) 기존 Pentium CPU에 내장된 16K의 내부캐시 외에도 256K 2차 캐시가 내장된 Dual Chip Module 형태로 되어 인스트럭션 수행을 병렬 처리함으로써 메모리 엑세스 기능이 대폭 향상되었다. Pentium프로 200MHz CPU의 경우 Pentium 166MHz 보다 14% 성능 향상(Pentium 166MHz는 Pentium 133MHz 보다 12% 빠르다) Pentium 프로는 32비트 작업 환경에서 높은 성능을 나타낸다. 따라서 32비트 OS와 32비트 프로그램을 주로 사용하는 네트웍 서버와 그래픽 시스템에 그 활용도가 높다. Pentium프로 시스템에는 윈도 NT를 주로 사용하게 되는데 이를 위해선 Open GL을 지원하는 그래픽 카드를 사용해야 제대로 된 성능이 구현된다. 2018-12-05 web-space
Pentium Processor 4. 멀티 프로세서로서의 Pentium Pro Pentium과 다른 점이 멀티프로세서를 위한 디바이스나 로직이 Pentium프로 안에 모두 내장 최고 4개까지의 CPU를 병렬로 연결하여 사용 가능 2018-12-05 web-space
Pentium Processor Pentium의 내부 구조는 몇 개의 단위로 구분 지어 볼 수 있다. 이 장치는 64비트의 데이터 버스, 32비트의 어드레스 버스, 그리 고 컨트롤 버스들을 프로세서 내 외부로 상호 접속하며, 버스를 해석 조작하고 그에 따른 코드와 데이터 등을 접합하게 캐시에 배치한다. Pentium의 캐시는 코드와 데이터를 별도로 저장할 수 있는 캐시를 각각 8KB씩 가지고 있다. 이 캐시는 이전의 386, 486 프로세서와 호환성을 유지하기 위하여 응용 소프트웨어와 상관 관계를 가지지 않는 구조로 되어 있다. 2018-12-05 web-space
Pentium Processor 데이터 캐시 : 캐시 일치성을 유지하기 위해 라이트 백 방식을 사용 MESI 프로토콜을 100% 지원 코드 캐시 : 잘못된 코드가 침입하는 것을 막기 위하여 쓰기 방지 장치가 되어 있으며, MESI 프로토콜 중 S와 I 상태를 지원한다. 각 캐시는 최대의 성능 향상을 가져 올 수 있도록 설계되어 있다. 2018-12-05 web-space
Pentium Processor U 파이프 : 간단한 명령만 수행할 수 있다. 따라서 Pentium에서는 이것을 효율적으로 실행하기 위하여 명령 짝짓기 규칙(Instruction Pairing Rules)이라는 것을 만들어 이에 따르도록 하고 있다. 일단 짝짓기가 된 명령에서는, U파이프 다음 명령은 항상 V파이프로 들어간다. 소프트웨어의 최적화가 필요하다. 2018-12-05 web-space
Pentium Processor 파이프라인의 첫 번째 단계 : pre-fetch 단계로, 캐시나 메모리로부터 명령을 읽어 들인다. pre-fetch 단계 : 두 개의 독립된 32byte 크기의 pre-fetch 버퍼가 브랜치 타겟 버퍼(Branch Target Buffer,BTB)와 함께 동작한다. 그러나 어떤 pre-fetch를 시작할 때는 한 개의 프리 페치 버퍼만 동작하며 일단 시작된 프리 페치 동작은 분가 명령을 만날 때까지 계속한다. 2018-12-05 web-space
Pentium Processor 분기 명령을 만나면 BTB는 분기할 것인지를 예측한다. 분기하지 않을 것으로 예측되면 프리 페치 동작은 계속 진행되나, 분기할 것으로 예측되면 다른 한쪽의 프리 페치 버퍼가 동작을 시작하여 분기가 시작되는 곳부터 프리 페치 한다. 분기 예측이 잘못된 것으로 판단되면 명령 파이프라인은 모두 비워지고 프리 페치는 다시 시작되는데 이 때는 3~4클럭이 더 필요하게 된다. 2018-12-05 web-space
Pentium Processor D1 단계 : D1단계에서는 두 개의 명령 디코더가 명령을 해석하고, 연속된 다음의 두 명령을 받아들일 준비를 한다. 일단 들어온 명령은 디코더에 의하여 명령이 짝짓기 규칙을 지켰는지 어떤지 해석하여 두 개의 명령이 동시에 수행하여도 좋은 걸로 판단한다. D2 단계 : 486CPU와 마찬가지로 메모리에 상주하는 오퍼랜드의 주소로 계산한다. 다만 486CPU 에서는 오퍼랜드의 주소지정 모드에 따라 추가로 1개의 클럭을 더 필요로 하는 경유가 있는데 Pentium에서는 모두 1개의 클럭으로 끝난다. 2018-12-05 web-space
Pentium Processor D2 다음은 수행(EX) 단계 : 연산을 행하고 데이터 캐시를 액세스한다. 추가로 1개의 클럭을 필요로 한다. EX의 단계에서 조건 분기를 제외한 모든 U, V 파이프의 명령들은 올바르게 분기 예측을 위하여 검증된다. 컨트롤 ROM에 포함되어 있는 Pentium의 마이크로 코드는 두 파이프라인을 모두 활용하도록 설계되었으며 따라서 마이크로 코드를 요구하는 명령들은 486 CPU 보다 빠르게 수행된다. 파이프라인의 마지막 단계는 라이트 백(WB) 단계 : 명령의 수행이 종료되고 결과가 정리된다. 이 단계에서는 올바른 분기 예측을 위하여 V 파이프의 조건 분기가 검증된다. 2018-12-05 web-space
Pentium Processor 파이프라인의 동작이 진행되는 동안, 어떠한 조건에 의하여 명형 수행이 멎을 수도 있는데, U, V 파이프라인의 명령들은 동시에 D1, D2단계로 들어가고 동시에 마쳐야 한다. 일단 한쪽의 파이프라인에서 명령이 멎으면 다른 쪽 파이프라인의 명령 역시 같은 단계에서 멎는다. 따라서 두 파이프라인의 명령은 동시에 EX 단계로 넘어가게 된다. EX단계에서는 U파이프라인의 명령이 멎으면 V 파이프라인의 동작도 멎게 되나, V 파이프라인의 동작이 멎게되면 그것과 짝지어진 U파이프라인의 동작은 진행을 계속한다. 다만 두 파이프라인의 명령이 모두 WB단계로 진행되기 전까지는 다음 명령이 EX 단계로 진행되는 것이 허락되지 않는다. 2018-12-05 web-space
Pentium Processor ◐ 부동소수점 연산장치 Pentium의 부동소수점 연산장치는 정수 연산장치와 동일한 칩 위에 있으며 강력한 파이프라인 구조로 되어 있다. 이 장치는 한 개의 클럭에 한 개의 부동소수점 연산을 행할 수 있으며 경우에 따라서는 두 개의 부동소수점 연산을 동시에 수행할 수도 있다. 이 때는 둥 중의 하나는 반드시 교환명령(Exchange Instruction)이어야 한다. Pentium FPU는 8개의 파이프라인 단계를 가지고 있다. 이 중 처음의 4단계는 정수 연산장치를 함께 사용한다. 2018-12-05 web-space
Pentium Processor PF : 프리페치 단계 D1 : 명령디코드 단계 D2 : 어드레스 생성 단계 EX : 메모리와 레지스터 읽기, 부동소수점 데이터를 외부 메모리 포맷 으로 변환, 메모리에 쓰는 단계 2018-12-05 web-space
Pentium Processor X1 : 부동소수점 수행 단계 1(외부 메모리 포맷을 내부 부동소수점 데이터 포맷으로 변화, 오퍼랜드를 부동소수점 레지스터에기) X2 : 부동소수점 수행 단계 2 WF : 결과를 레지스터에 쓰는 단계 ER : 에러 및 상태(Status)보고 단계 이외에도 FPU의 새로운 설계 알고리즘은 특히 ADD, MUL, LOAD와 같은 일반적인 명령의 수행속도를 3배나 향상시키고 있다. 2018-12-05 web-space