pentium 1 2 3 4 5 6 7

  • Slides: 39
Download presentation

pentium 기계어 프로그램 1. 2. 3. 4. 5. 6. 7. int n, sum; n

pentium 기계어 프로그램 1. 2. 3. 4. 5. 6. 7. int n, sum; n = 1; sum = 0; while (n <= 100) { sum = sum + n; n = n + 1; } address machine code assembly language -------------------------1. 0041138 E c 745 f 800000001 mov dword ptr [n], 1 2. 00411395 c 745 ec 0000 mov dword ptr [sum], 0 3. 0041139 C 837 df 864 cmp dword ptr [n], 64 h 4. 004113 A 0 7 f 14 jg wmain+46 h (4113 B 6 h) 5. 004113 A 2 8 b 45 ec mov eax, dword ptr [sum] 6. 004113 A 5 0345 f 8 add eax, dword ptr [n] 7. 004113 A 8 8945 ec mov dword ptr [sum], eax 8. 004113 AB 8 b 45 f 8 mov eax, dword ptr [n] 9. 004113 AE 83 c 001 add eax, 1 10. 004113 B 1 8945 f 8 mov dword ptr [n], eax 11. 004113 B 4 ebe 6 jmp wmain+2 Ch (41139 Ch) address machine code assembly language -----------------------1. 000067 e 001 LDI R 16, LOW(1) 2. 000068 e 010 LDI R 17, HIGH(1) 3. 000069 e 020 LDI R 18, LOW(0) 4. 00006 a e 030 LDI R 19, HIGH(0) 5. 00006 b 3605 _0 x 3: CPI R 16, LOW(101) 6. 00006 c e 0 e 0 LDI R 30, HIGH(101) 7. 00006 d 071 e CPC R 17, R 30 8. 00006 e f 42 c BRGE _0 x 5 9. 00006 f 0 f 20 ADD R 18, R 16 10. 000070 1 f 31 ADC R 19, R 17 11. 000071 5 f 0 f SUBI R 16, LOW (-1) 12. 000072 4 f 1 f SBCI R 17, HIGH (-1) 13. 000073 cff 7 RJMP _0 x 3 _0 x 5: Atmega 28 기계어 프로그램 14. 000074

Memory-Mapped I/O 사례 16 1023 0 Memory CPU MEMR 또는 MEMW 2000 2001 2002

Memory-Mapped I/O 사례 16 1023 0 Memory CPU MEMR 또는 MEMW 2000 2001 2002 하드 디스크 제어기 2003 2004 2200 2201 2202 v 네트워크 제어기 그래픽 제어기

Isolated I/O 사례 17 1023 0 Memory CPU MEMR 또는 MEMW IOR 또는 IOW

Isolated I/O 사례 17 1023 0 Memory CPU MEMR 또는 MEMW IOR 또는 IOW 0 1 2 하드 디스크 제어기 3 4 200 201 202 v 네트워크 제어기 그래픽 제어기

예제 프로그램 34 D=A+B-C 주소 어셈블리어 기계어 코드 (이진수) 16진수 ----------------------------------00 h load R

예제 프로그램 34 D=A+B-C 주소 어셈블리어 기계어 코드 (이진수) 16진수 ----------------------------------00 h load R 1, A 0010_0001_1000_0000 2180 h 02 h load R 2, B 0010_1000_0001 2281 h 04 h add R 3, R 1, R 2 1000_0011_0001_0010 8312 h 06 h load R 1, C 0010_0001_1000_0010 2182 h 08 h sub R 3, R 1 1001_0011_0001 9331 h 0 ah store R 3, D 0011_1000_0011 3383 h … 80 h A 4 h 81 h B 6 h big endian vs. little endian (현재 little endian) 82 h C 3 h 83 h D 0 h

초기 상태 35 big endian vs. little endian (현재 little endian) 중앙처리장치 R 0

초기 상태 35 big endian vs. little endian (현재 little endian) 중앙처리장치 R 0 00 h PC R 1 00 h IR R 2 00 h R 3 00 h 00 h 제어장치 00 h 80 h 06 h 82 h 80 h(A) 04 h 01 h 21 h 07 h 21 h 81 h(B) 06 h 02 h 81 h 08 h 31 h 82 h(C) 03 h 22 h 09 h 93 h 83 h(D) 00 h 04 h 12 h 0 ah 83 h 05 h 83 h 0 bh 33 h

명령어 사이클 36 중앙처리장치 R 0 00 h PC R 1 00 h IR

명령어 사이클 36 중앙처리장치 R 0 00 h PC R 1 00 h IR R 2 00 h R 3 00 h 02 h 2180 h Load R 1, A 중앙처리장치 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 00 h R 0 00 h PC R 1 04 h IR R 2 00 h R 3 00 h 02 h 2180 h Load R 1, A (a 1) load R 1, A 인출 단계 (a 2) load R 1, A 실행 단계 중앙처리장치 R 0 00 h PC R 1 04 h IR R 2 00 h R 3 00 h 04 h 2281 h Load R 2, B (b 1) load R 2, B 인출 단계 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 00 h R 0 00 h PC R 1 04 h IR R 2 06 h R 3 00 h 04 h 2281 h Load R 2, B (b 2) load R 2, B 실행 단계 (메모리 액세스 과정이 보이지 않음. 설명 필요)

명령어 사이클 37 중앙처리장치 R 0 00 h PC R 1 04 h IR

명령어 사이클 37 중앙처리장치 R 0 00 h PC R 1 04 h IR R 2 06 h R 3 00 h 06 h 8312 h add R 3, R 1, R 2 중앙처리장치 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 00 h (c 1) add R 3, R 1, R 2 인출 단계 R 0 00 h PC R 1 04 h IR R 2 06 h R 3 0 ah 08 h 2182 h Load R 1, C (d 1) load R 1, C 인출 단계 8312 h add R 3, R 1, R 2 (c 2) add R 3, R 1, R 2 실행 단계 중앙처리장치 R 0 06 h 중앙처리장치 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 00 h R 0 00 h PC R 1 03 h IR R 2 06 h R 3 0 ah 08 h 2182 h Load R 1, C (d 2) load R 1, C 실행 단계

명령어 사이클 38 중앙처리장치 R 0 00 h PC R 1 03 h IR

명령어 사이클 38 중앙처리장치 R 0 00 h PC R 1 03 h IR R 2 06 h R 3 0 ah 9931 h Sub R 3, R 1 중앙처리장치 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 00 h (e 1) sub R 3, R 1 인출 단계 R 0 00 h PC R 1 03 h IR R 2 06 h R 3 07 h 0 ch 3383 h Store R 3, D (f 1) store R 3, D 인출 단계 9931 h Sub R 3, R 1 (e 2) sub R 3, R 1 실행 단계 중앙처리장치 R 0 0 ah 중앙처리장치 80 h(A) 04 h 81 h(B) 06 h 82 h(C) 03 h 83 h(D) 07 h R 0 00 h PC R 1 03 h IR R 2 06 h R 3 07 h 0 ch 3383 h Store R 3, D (f 2) load R 1, C 실행 단계