1 / 35

3 장 인텔 프로세서의 내부구조

3 장 인텔 프로세서의 내부구조. 32 비트 인텔 프로세서 16 비트 인텔 프로세서 기억장치 레지스터 데이터표현. 학습내용. 내부적으로는 32 비트 데이터 버스 외부적으로는 64 비트 데이터 버스 수퍼스칼라 구조. 펜티엄 프로세스. 주소 공간. 기본 프로그램 실행 레지스터. 2 32 -1. 8 개의 32 비트 레지스터. 범용 레지스터. 6 개의 16 비트 레지스터. 세그먼트 레지스터. EFLAGS 레지스터. 32 비트. EIP ( 명령어 포인터 레지스터 ).

dinah
Télécharger la présentation

3 장 인텔 프로세서의 내부구조

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3장 인텔 프로세서의 내부구조

  2. 32비트 인텔 프로세서 16비트 인텔 프로세서 기억장치 레지스터 데이터표현 학습내용

  3. 내부적으로는 32비트 데이터 버스 외부적으로는 64비트 데이터 버스 수퍼스칼라 구조 펜티엄 프로세스

  4. 주소 공간 기본 프로그램 실행 레지스터 232-1 8개의 32비트 레지스터 범용 레지스터 6개의 16비트 레지스터 세그먼트 레지스터 EFLAGS 레지스터 32 비트 EIP (명령어 포인터 레지스터) 32 비트 FPU 레지스터 8개의 80비트 레지스터 실수 포인터 데이터 레지스터 0 제어 레지스터 16 비트 상태 레지스터 16 비트 태그 레지스터 16 비트 연산 부호 레지스터 11 비트 FPU 데이터 연산 포인터 레지스터 48 비트 FPU 명령어 포인터 레지스터 48 비트 SSE 와 SSE2 레지스터 MMX 레지스터 MXSCR 레지스터 32 비트 8개의 64비트 레지스터 8개의 128비트 레지스터 MMX 레지스터 XMM 레지스터 32비트 프로세스의 기본 실행 환경

  5. Beginning with the Pentium II and Pentium with Intel MMX technology processor families, four extensions have been introduced into the IA-32 architecture to permit IA-32 processors to perform single-instruction multiple-data (SIMD) operations These extensions include the MMX technology, SSE extensions, SSE2 extensions, and SSE3 extensions Each of these extensions provides a group of instructions that perform SIMD operations on packed integer and/or packed floating-point data elements contained in the 64-bit MMX or the 128-bit XMM registers Single-Instruction Multiple-Data(SIMD)

  6. Single-Instruction Multiple-Data(SIMD) Pentium II Pentium with MMX Pentium III Pentium 4 Intel Xeon

  7. 범용 레지스터(8개) : 연산항, 포인터 저장 세그먼트 레지스터 : 메모리 세그먼트 식별 EFLAGS 레지스터 : 실행 되고 있는 프로그램 상태보고 및 애플리케이션 레벨로 제한된 프로세서 제어를 한다. EIP: 다음에 실행될 명령어를 가리킨다. 기본 프로그램 실행 레지스터(16개)

  8. EAX : 연산항과 결과에 대한 누산기 EBX : 함수나 변수의 주소 저장 (특히 DS 세그먼트의 데이터에 대한 포인터) ECX : 문자열과 반복문에 대한 계수기 (카운터 역활을 수행하며 반복될 때마다 ECX 값이 자동 감소) EDX : 입출력에 대한 포인터 ESI : 문자열 연산에 대한 출발항 또는 DS 레지스터가 가리키고 있는 세그먼트의 데이터에 대한 포인터 EDI : 문자열 연산에 대한 목적항 또는 ES 레지스터가 가리키고 있는 세그먼트의 데이터에 대한 포인터 ESP : 스택 포인터 (SS를 기반으로 스택의 스택의 최상위 주소를 유지하는 용도로 사용) EBP : 스택에 있는 데이터에 대한 포인터 (SS를 기반으로 스택의 최상위 주소를 유지하는 용도로 사용) 범용 레지스터의 특별한 사용

  9. 31 7 8 0 16-bit 16 15 32-bit AH AL AX EAX BH BL EBX BX CH CL CX ECX DH DL DX EDX BP EBP SI ESI DI EDI SP ESP 범용 레지스터 이름

  10. 코드 세그먼트 데이터 세그먼트 스택 세그먼트 CS DS SS ES FS GS 데이터 세그먼트 데이터 세그먼트 데이터 세그먼트 세그먼트 레지스터

  11. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 ID VIP VIF AC VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 C F X ID FLAG (ID) X Virtual Interrupt Pending (VIP) X Virtual Interrupt Flag (VIF) X Alignment Check (AC) X Virtual-8085 Mode (VM) XResume Flag (RF) X Nested Task (NT) X I/O Privilege Level (IOPL) S Overflow Flag (OF) C Direction Flag (IF) X Interrupt Enable Flag (IF) X Trap Flag (TF) S Sign Flag (SF) S Zero Flag (SF) S Auxiliary Carry Flag (AF) S Parity Flag (PF) S Carry Flag (CF) S 상태 (Status) Flag C 제어 (Control) Flag X 시스템 (System) Flag 예약 비트 현재 사용하지는 않는다.

  12. 8086 프로세서 구조 AH . . DH AL . . DL (EU) (BIU) Adder SP,BP,SI,DI CS DS SS ES IP 명 령 어 실 행 버스 제어 로직 임시 레지스터 내부 커뮤 니케이션 레지스터 EU 제어 시스템 ALU 명령큐 버퍼 플래그레지스터

  13. 명령어의 형태 명령어 코드 오퍼랜드 } 주소지정방식 레지스터

  14. 1 1 0 1 0 1 1 0 명령어의 구성 예 7 0 명령어 코드(25=32) 4가지의 주소지정 방식 2개의 레지스터 명령어의 길이는 레지스터의 개수, 주소지정 방식의 종류,명령어의 종류에 따라 결정

  15. 1 1 0 1 0 1 1 0 명령어의 구성 예 7 0 명령어 코드(25=32) } 4주소지정방식 00 = 직접 01 = 베이스 10 = 인덱스 11 = 베이스+인덱스

  16. 1 1 0 1 0 1 1 0 명령어의 구성 예 7 0 명령어 코드(25=32) } 4주소지정방식 00=직접 01=베이스 10=인덱스 11=베이스+인덱스 } 1=레지스터 A 0=레지스터 B

  17. 14개의 기본레지스터 범용레지스터 : 8개 세그먼트 레지스터 : 4개 명령어 포인트 : 1개 플래그 레지스터 : 1개 명령어에 따라서 범용레지스터를 사용하는 것이 있고 이 경우, 필요한 레지스터를 명시하기 위하여 3비트 필요 8086 명령어의 형태

  18. 레지스터와 데이터버스 : 16비트 레지스터 기록 : 1 사이클 명령어의 일반적 크기 : 1단어 데이터의 크기를 나타내기 위하여 1 비트 필요 (0: 바이트 표시, 1: 워드 단위 표시) 주소 지정 방식을 나타내기 위해 5비트 이용 (4장에서 수업) 주소버스의 크기 : 20비트 8086 명령어의 형태

  19. 8086 프로세서의 예 0 0 1 바이트 0 바이트 바이트 0 1 3 2 1 2 . . . . N N+1 N-1 N-1 N N N+2 N+3 N N+2 . . . . FFFFE FFFFF FFFFE FFFFF 기억장치의 모델 바이트주소 단어주소 좌 측 바 이 트 짝 수 우 측 바 이 트 홀 수 ( ( ( ( 7 0 15 8 7 0

  20. 기억장치의 실제구성 홀수 뱅크 짝수 뱅크 1048574 1048575 . . . . . . 4 5 2 3 0 1 16비트 데이터 8086 프로세서

  21. 주소지정에 의한 액세스 효율 기억장치 번지 41 0000 짝수,홀수 번지의 조합(1번 액세스) 68 0001 64 0002 . . . C1 00011 홀수,짝수 번지의 조합(2번 액세스) B4 00012 41 00013

  22. 기억장소 주소는 바이트 단위 바이트 주소는 1씩 증가 단어 주소는 2씩 증가 N번지의 단어에 접근 → N,N+1 바이트에 접근 N번지의 긴 단어에 접근 → N,N+1,N+2,N+3에 접근 데이터 기록시 일반적인 규칙

  23. 기억장치에서 단어 배열 레지스터 51 2A 15 7 0 기억장치 0 . . . 단어의 하위 바이트 단어의 상위 바이트 2A N 51 N+1 N+2 . . .

  24. 데이터 레지스터 일시적인 결과 기록 포인터 레지스터 스텍 포인터와 베이스 포인터 인덱스 레지스터 데이터의 주소저장 플래그 레지스터 연산결과의 정보저장 세그먼트 레지스터 세그먼트의 시작 주소저장 레지스터의 종류

  25. 데이터 레지스터 32비트 16비트 8비트 8비트 EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX DH DL

  26. 포인터와 인덱스 레지스터 32비트 16비트 ESP Stack Pointer SP Base Pointer EBP BP Source Index SI ESI Destination Index EDI DI

  27. 세그먼트 레지스터 Code Segment : CS Data Segment : DS Stack Segment : SS Extra Segment : ES

  28. 플래그 레지스터의 구성 상위 하위 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O D S Z A P C I T × × × × × × × 오 버 플 로 우 트 랩 보 조 캐 리 패 리 티 디 렉 션 제 로 인 터 럽 트 인 에 이 블 사 인 캐 리

  29. 세그먼트레지스터와 물리주소 16비트 4비트 세그먼트 레지스터값 오프셋(offset)값 CPU로부터 출력되는 실제주소값

  30. 메모리 공간에서 세그먼트 영역 FFFFFH DS EFFFFH ×16 E000 데이터 세그먼트 E0000H CS C3FEFH ×16 코드 세그먼트 B3FF B3FF0H 7D260H SS 스텍 세그먼트 ×16 6D26 6D260H 6288FH ES 엑스트라 세그먼트 ×16 52B90H 52B9 00000H

  31. 논리주소와 물리주소의 관계 1F2A5 물리주소 세그먼트값 세그먼트 베이스주소 1F000 1F00 세그먼트 레지스터값×16 =세그먼트 물리번지 02A5 + 02A5 0 1 F 0 0 논리주소 A 5 2 0 + 1 F 2 A 5

  32. 명령어 포인터의 동작 8086 CPU 기억장치 코드 세그먼트 EU : F0201 주소의 명령 실행 F0000 ×16 CS F0001 F0202 F0203 F0204 F0205 F000 . . . 명 령 큐 F0204 IP F0205 F0206 F0206 F0207 BIU

  33. 직접 엑세스 가능한 레지스터 AX, BX, CX, DX AH, BH, CH, DH AL, BL, CL, DL SI, DI DS, ES, SS BP, SP 직접 수정이 가능한 플래그 CF, DF, IF 레지스터의 특성

  34. 부호있는 숫자의 표현 데이터의 표현 15 0 0 ~ 32,767 0 15 0 -32,768 ~ -1 1 부호없는 숫자의 표현 15 0 0 ~ 65,535

  35. 32비트 인텔 프로세서 이해 8086 프로세서구조 이해, 명령어길이 명령어의 길이와 구성형태를 이해 기억장치 모델과 구성형태를 이해 주소지정과 데이터 기록을 이해 데이터, 포인터, 인덱스, 세그먼트, 플래그레지스터 이해 논리주소는 물리주소로 변환됨 데이터 표현시 부호비트 사용 유무 제 3 장 요약

More Related