1 / 68

논리수학과 표현

논리수학과 표현. 논리의 표현 진법과 숫자 표현 2 진수와 10 진수 문자의 표현. dolicom@naver.com http://blog.naver.com/dolicom. 숫자와 문자의 표현 방식. 숫자의 표현 2 진수 보수 체계 – 정수형 Floating Point - 실수형 ASCII 코드 미국의 컴퓨터 문자 표현 ( 1 바이트 ) KS-5601 한국어 지원을 위한 완성형 표준안 (2 바이트가 한글자 ) UNICODE 다국어 지원을 위한 표현 (2 바이트 ). 진수.

ianna
Download Presentation

논리수학과 표현

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. 논리수학과 표현 논리의 표현 진법과 숫자 표현 2진수와 10진수 문자의 표현 dolicom@naver.com http://blog.naver.com/dolicom

  2. 숫자와 문자의 표현 방식 • 숫자의 표현 • 2진수 보수 체계 –정수형 • Floating Point - 실수형 • ASCII 코드 • 미국의 컴퓨터 문자 표현 ( 1바이트) • KS-5601 • 한국어 지원을 위한 완성형 표준안 (2바이트가 한글자) • UNICODE • 다국어 지원을 위한 표현(2바이트)

  3. 진수 • 2진수 : 0과 1로 두가지 상태로 표현 • CPU의 내부의 디지털 회로에 의해 처리 • 8진수 : 0~7로 표현 • 10진수 : 인간의 대표적 숫자 표현 • 16진수 : 4비트를 한 자리로 표현 • 0~15까지를 0,1,2, … , 9,A,B,C,D,E,F로 표현 • 기계어 및 C의 숫자 표현에 많이 사용 한다. • 어셈블리 1BH, 0FEH등으로 • C에서는 0x1b, 0xFE등으로 사용

  4. 2진수 • 한 비트는 디지털 회로에서 0과 1로 표현 • 여러 비트의 자릿수로 표현 0 1 1 0 2진수 2 1 3 0 자릿수의 값 2 2 2 2 8 4 2 1 8x0+4x1+2x1+1x0 => 4+2 => 6 • 마지막 비트는 2로 나눗 나머지 값이다.

  5. 10진수 • 인간이 일상적으로 사용하는 수 5 0 4 3 10진수 2 1 3 0 10 10 10 10 자릿수의 값 1000 100 10 1 10진수 1000x5+1000x0+100x4+1x3 => 5043 • 마지막 자리는 10으로 나눗 나머지 값이다. • 5043 / 10 => 몫 504, 나머지 3

  6. 16진수 • 2진수 4비트를 16진수 한자리로 표현 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15 3 0 E A 16진수 3 2 1 0 16 16 16 16 자릿수의 값 4096 256 16 1 10진수 4096x3+256x0+16x14+1x10 => 30352 • 마지막 자리는 16으로 나눗 나머지 값이다. • 30352 / 16 => 몫 1576, 나머지 10 (=A)

  7. 2진수의 표현 • 전자의 디지털 공학은 2진수의 표현을 사용 • 논리 1과 0은 2진수 상태를 전압으로 표시 • 초기의 논리는 5V 전압을 기준으로 표현 • 1 = 5V -> 3.3V • 0 = 0V -> 0V • 3.3V로 바뀌는 추세 • 동작 속도 및 전력 감소 효과 • 전압은 점점 낮아지는 추세이나 디지털 회로를 구성하는 소자의 특성에 따라 한계가 있다. • 디지털 회로로 구성되어 칩은 정해진 전압에 의해 구동되며 회로 설계 시 동작 전압을 확인 해야 한다.

  8. 논리의 부울대수 • AND : 논리 and –입력 모두 1일때 출력1 • OR : 논리 or –하나라도 1입력이면 1출력 • NOT : 논리 not –입력의 반대 출력 • XOR : 논리 XOR – 2입력이 다르면 1출력 XOR OR AND NOT A B Y A Y A B Y A B Y • 0 0 0 • 0 1 1 • 0 1 • 1 1 0 0 1 1 0 • 0 0 0 • 0 1 1 • 0 1 • 1 1 1 • 0 0 0 • 0 1 0 • 0 0 • 1 1 1 eXclusive OR

  9. 논리 기호 기본 논리 A A Y=A.B Y=A.B B B A A Y=A+B Y=A+B B B Y = A A A A Y=A  B Y=A  B =AB+AB B B

  10. 전자회로 구현-TTL 74LS00(NAND) Y = A & B = not (A and B) A Y B 5V R 100오옴 논리처리 A 논리 처리 A&B 1 = 4.xV 0 = 0.2V 토템폴 출력 B

  11. 논리 회로의 선 연결 5V 4.7K Vcc 4.7K

  12. 논리의 전자적 표현(개념모델) 5V 출력부 S1 switch 1 = 5V 0 = 0V Z = 플로팅 상태 (어떤 전압 상태도 아님) 입력 처리 로직 입력 S2 switch 0V GND

  13. 로직 구현 논리의 표현

  14. 전압과 전류 • V = IR 오옴의 법칙 • 디지털 회로는 표현에서 전압은 고정하고 전류 변화 • 전류는 회로의 구성에 따라 자동으로 결정 된다. • 디지털 회로의 구현은 위의 법칙에 따라 TR, FET등으로 구성 한다.

  15. 논리 1 출력 5V 전류 로직내부(칩) S1 = ON 입력처리 및 스위치제어 입력 1 = 5V S2 = OFF 0V GND

  16. 논리 회로에서 전류 1 5V 4.7K 전류=0 1 0 0 1 1 Vcc 4.7K OFF ON 1=4.xV 전류=출력에따라 ON OFF OFF 0=0.2V OFF ON ON OFF OFF ON ON OFF

  17. 논리 회로에서 전류 2 5V 5V 4.7K 4.7K 0 1 1 0 전류 Vcc Vcc 4.7K 4.7K ON OFF 1=4.xV 전류=출력에따라 OFF ON ON 0=0.2V ON OFF OFF OFF ON OFF OFF ON

  18. 논리 0 출력 5V S1 = OFF 입력처리 및 스위치제어 입력 0 = 0V 전류 S2 = ON 0V GND

  19. 논리 1 입력 입력 5V 5V 입력 출력 5V 5V 전류 S1 = ON S1 = OFF NOT 동작 예 입력 0 = 0V 전류 S2 = OFF S2 = ON 0V GND 0V GND

  20. 논리 회로의 선 연결 5V 4.7K Vcc 4.7K

  21. 논리 0 입력 5V 5V 전류 S1 = ON S1 = OFF NOT 게이트 동작 예 0 = 0V 입력 전류 S2 = OFF S2 = ON 0V GND 0V GND

  22. 논리 Z – Floating Point OE 5V Y=A, OE=1 Y=Z, OE=0 A OE S1 = OFF Y=A, OE=1 Y=Z, OE=0 A 입력처리 및 스위치제어 전류 = 0 입력 어느 전압 OE S1 = OFF 0V GND

  23. 논리의 전자적 표현- 한 개의 SW 5V 5V 칩 내부 입력 처리 입력 1 = 5V로 유지 0 = 0V Z = 불가능 S1 switch 0V GND

  24. 논리 1 – Open Collector 5V 5V 칩 내부 전류 R 저항 4.7K 10K 입력처리 및 스위치제어 입력 1 = 5V S1 = OFF 0V GND

  25. 논리 0 – Open Collector 5V 5V 칩 내부 전류1 R 저항 4.7K 10K 입력처리 및 스위치제어 입력 0 = 0V 전류2 S1 = ON 0V GND

  26. Open Collector 예 A Y B C

  27. 오픈 컬렉터와 토템폴 출력 • 오픈 컬렉터 -출력쪽에 풀업 저항을 사용 -TTL의 내부에서 보면 TR의 에미터가 내부 풀업이 없는 상태 : IC의 출력핀에 연결 -외부에서 이 에미터(IC의 출력핀)에 전원을 공급 -출력을 다른 전압으로 구동 가능 – (예) 12V로 풀업 가능, 전압은 IC마다 다름 -쓰임새는 wired-or로 사용 (오픈 콜렉터 출력끼리는 서로 직접 연결) 두개의 출력이 하나는 "로우“, 하나는 "하이" 이더라도 쇼트되지 않음 • 토템폴 출력 -토템풀: 북아메리카 인디언들의 조상의 혼을 기리는 상징물로서 두개 이상의 비슷한 조각상이 하나의 기둥(Pole)에 세겨진것을 말함 -일반적 TTL(7404)의 출력이 TR이 출력핀을 중심으로 상하고 두개 겹쳐진 모양 -출력에 Pull-up 저항이 없이 동작 -절대로 출력을 출력끼리 접속해서는 안됨 : 두개 출력의 논리가 반대일 때, 내부 출력스위칭 TR은 전원에 대해 쇼트와 같이 되어 큰전류로 출력 TR이 파괴

  28. 5V S1=ON 1 = 5V S2=OFF 토템폴 출력의 문제 –출력 끼리 연결 • 출력을 두 개 묶으면 논리가 반대로 출력되면 과전류가 흐른다. Y A 전류1 B A Y 전류2 5V S1 = OFF 5V 0 = 0V B S2 = ON 전류

  29. 5V S1=OFF Z = open S2=OFF 출력 끼리 연결 사용 예 • 출력을 두 개 묶고 한 출력은 Z으로 설정하고 나머지에서 출력으로 사용 CA Y A 전류1 B CA CB A Y 전류2 5V S1 = OFF 5V CB 0 = 0V B S2 = ON

  30. 5V S1=ON 1 = 5V S2=OFF 출력 끼리 연결 사용 예 - 충돌 • 출력을 두 개 묶고 한 출력은 Z으로 설정하고 나머지에서 출력으로 사용 CA Y A 5V 전류1 B CA CB A Y 전류2 5V S1 = OFF 5V CB 0 = 0V B S2 = ON

  31. 로직 구현 FET을 사용한 논리 구현

  32. FET(CMOS)을 사용 할 경우 5V p-channel A 논리 처리 1 = 4.xV 0 = 0V B n-channel

  33. FET(CMOS) NOT 게이트(gate) Y = A A 5V p-channel 1 = 4.xV 0 = 0V Vout Vin n-channel

  34. CMOS NOT 게이트(gate) C A X Y B tDa=수nsec 지연 구간 X의 전압과 전류 5V 5V 0 1 A 0 C 1 B 1 0 1=4.xV A=0V 0 = 0.xV 입력신호 C 1 0 0 B tDb

  35. CMOS NOT 게이트(gate) C A X Y B tDa=수nsec 지연 구간 Y의 전압과 전류 5V 5V 0 1 A 0 5V 1 B 1 0 0 = 0.xV A=5V C C 1 0 0 B 1=4.xV 입력신호 tDb

  36. TTL과 CMOS 신호전압

  37. TTL과 CMOS-동작속도와 소비전력

  38. 논리 표현 비트와 바이트

  39. CPU의 데이터 처리 단위 • Bit : 한 상태를 나타내는 최소의 단위 . • Byte :한 문자를 나타내는최소의 단위 ( 8 Bit). • Word : 한 단어를 나타내는최소의 단위. (CPU의 비트 수와 연관) • 소형CPU : 2 Byte = 16bit • 대형CPU : 4 Byte = 32bit • 1bit : 어느 한 상태를 나타냄. (1) ON (0) OFF • 1byte = 8 Bit : 256가지상태를 나타냄. 0 1 0 1 1 0 0 1

  40. 1byte 단위 처리 예 - 8051 8비트 단위로 저장 데이터 버스 명령어 해석 25 Oprand 버퍼 02 A = 0 B . . . . . . FLAG 설정 00 02 8비트 단위로 계산 ALU 02

  41. 1byte 단위 처리 예 - 메모리 • 메모리는 1, 8, 16, 32단위로 엑세스 할수 있음 • 칩을 만들 때 처리 단위는 결정되어 있다. 8단위의 칩 7 6 5 4 3 2 1 0 주소 0000 0001 0002 0003 0004 0005 . . . 7FFF

  42. 1byte 단위 메모리 읽기 • 8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스 A2 A1 A0 0 0 1 7 6 5 4 3 2 1 0 주소 0 1 2 3 4 D7 D6 D5 D4 D3 D2 D1 D0 5 6 7 MUX

  43. 1byte 단위 메모리 -바이트단위만 • 특정 1비트만은 처리가 불가능 A2 A1 A0 0 0 1 7 6 5 4 3 2 1 0 주소 0 1 2 3 4 5 6 7 MUX

  44. 1byte 단위 메모리 쓰기 • 8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스 • 정해진 비트 수 단위로만 처리 A2 A1 A0 주소 0 0 1 7 6 5 4 3 2 1 0 0 1 2 3 저장신호 발생 4 5 6 7

  45. 메모리의 필요한 신호선-SRAM 8x8bit=64bit 메모리 D7 A2 D6 A1 D5 A0 D4 D3 D2 CS D1 RD/WR D0 GND Vcc Vcc GND 전원

  46. 숫자와 논리 계산 숫자의 표현

  47. 숫자의 표현과 프로그램 • 정수는 8비트 단위의 계산을 한다. • C int는 몇 개의 레지스터를 묶어 16비트로 표현 한다. • 레지스터 사용 방식은 컴파일러마다 틀림 • 숫자의 계산은 레지스터 값이 ALU 통해 계산 한다. • 실수형 자료(Floating Point) • 32비트를 처리를 위해 2바이트의 변수를 사용한다. • 내부적으로 실수 계산을 불가능 하기 때문에 별도의 함수로 처리

  48. C에서의 숫자 표현 • C에서 2,10,16진수는 개발자의 표현에 의해 컴파일러가 2진수로 변환하여 사용 한다. int cnt16; char cnt8; cnt8 = 0xFE; cnt16 = -2; • 0xFE는 컴파일러에 의해 2진수 1111 1110로 표현되어 프로그램 코드에 붙는다. 8051의 예: ; cnt8 = 0xFE; 74 FE MOV A,0FEH => 01110100 11111110 F5 A0 MOV 0A0H,A => 11110101 10100000 • 결국 위의 프로그램은 01110100 11111110처럼 변형되어 ROM/FLASH에 들어 가서 프로그램이 실행된다.

  49. 정수형 표현 체계 I • 2진수의 숫자 표현법-각 CPU의 처리 단위에 따라 비트는 다름. • 2의 보수 체계를 사용 • 정수형 계산은 CPU 내의 ALU을 이용 직접 계산 된다.

  50. 10진수와 2진수의 변화 –방법1 • 원리 • 마지막 비트는 2로 나눈 나머지다. • 2로 나누면 전체 비트가 오른쪽으로 한 비트 shift 된다. 1. 0111 - 마지막 비트(LSB) 1은 2로 나눈 나머지 값이다. 2. 7 / 2 = 3 -> 나머지 1 3. 3은7을 오른 쪽으로 1비트 쉬프트 한 값이다.

More Related