-
컴퓨터일반 - 1. 논리회로컴퓨터+a/컴퓨터일반 2017. 4. 5. 16:52
<논리회로>
1. 논리회로 : 2진 정보에 의해 작동되는 회로 / 구성소자-게이트(gate), 플립플롭(Flip-Flop:FF)
1.1 작동원리에 따른 분류
(1) 조합논리회로
회로의 출력값이 입력값에 의해서만 정해지는 논리회로, 기억능력 X
입력이 꼭 필요함
입력 ------ 조합논리회로 ------ 출력
(2) 순서논리회로
회로의 출력값이 내부상태와 입력에 따라 정해지는 논리회로, 플립플롭과 같은 기억소자와 논리게이트로 구성, 정보기억능력 O
입력 주지 않아도 저장된 값으로
입력 ------ 조합논리회로 ------ 출력
↑----- 기억소자 -----↓
1.2 집적도에 따른 분류
IC(Integrated Circuit) - SSI(Small Scale Integration) 10-12개
- MSI(Medium Sclae Integration)
LSI(Large Scale..) 1000개, 일반적 IC
VLSI(Very..) 10000개
SVLSI(Super..)
(1) SSI(Small Scale Integration)
(2) MSI
(3) LSI
* IC 성능 평가 요소 4가지
Propagation Delay Time(전파 지연 시간, 하드웨어적 응답시간)
Power dissipation(전력 소모)
Fan out(작동에 영향 미치지 않으면서 걸수 있는 부하의 최대수)
Noise Margin(잡음 허용치)
2. 부울대수 - 2진 정보에 의해 And(*), Or(+), Not(-) 연산을 다루는 대수
모든 연산자는 교환이 성립한다/모든 연산자는 결합이 성립한다/모든 연산자는 상호분배가 성립한다/유일요소 0과 1이 존재한다/각 요소는 컴플리먼트가 존재한다(A+A'=1, A*a'=0)
(1) x+0=x
(2) x*0=0
(3) x+1=1
(4) x*1=x
(5) x+x=x
(6) x*x=1
(7) x+x'=1
(8) x*x'=0
(9) x+y=y+x
(10) x*y=y*x
(11) x+(y+z)=(x+y)+z
(12) x*(y*z)=(x*y)*z
(13) x*(y+z)=x*y+x*z
(14)x+y*z=(x+y)*(x+z)
(15)(x+y)'=x'*y'
(16)(x*y)'=x'+y'
(17)(x')'=x
인수분해 - 더하기 먼저, 합항의 곱 product of sum, Nor, 0 기준, Maxterm(1개수), ∏
전개식 - 곱하기 먼저, 곱항의 합 sum of product, Nand, 1 기준, Minterm(1개수), ∑
구현가능한 논리게이트 - {And, Not}, {Or, Not}, {Nand}, {Nor}, {And, Xor}, {Or, Xor} // {And, Or}은 안됨
3. 게이트 - 논리회로를 구성하는 기본소자, 2진 정보를 취급하는 기본 논리회로
3.1 게이트 종류
① 기본 게이트
AND 참이 (1,1) 한번 논리곱
OR 거짓이 (0,0) 한번 논리합
Buffer 그대로
NOT 반대로
② 범용게이트 - 회로 디자인 할때 널리 사용됨/부품 단일화: 비용적게, 회로 간단해서 전파지연시간 짧아짐
NAND (1,1) 유일한 거짓
NOR (0,0) 유일한 참
③ 응용게이트 - 회로디자인 보다는 소프트웨어 적으로 많이 쓰임/심볼일 뿐, 회로X
Exclusive OR(XOR) - 같으면 0, 다르면 1, 1기준으로 F=A*B'+A'*B=A⊕B/0기준 (A+B)*(A'+B')
Exclusive NOR(XNOR) - 같으면 1, 다르면 0, 1기준으로 F = A*B+A'*B'=A⊙B/0기준 (A+B')*(A'+B)
3.2 스위칭 회로
닫혔을 때 1, 열렸을 때 0 - 2진수로 표현가능
Or - 병렬, And - 직렬, Not - 전구와 병렬
4. 도시법, 카르노맵
부울 대수 방법에 의한 간소화의 복잡성을 해결해주는 방법
1인 것을 기준으로 하면, 0인것이 A', 1인것이 A -> 곱항의 합
00 01 11 10 - 옆자리와 숫자 하나만 차이 나야함
5. 플립플롭(Flip-Flop) - 입력 신호에 의해 또 다른 입력 상태로 바뀌지 않는 동안 현재의 2진 상태를 그대로 유지하게 만든 회로/1자리 기억소자, 되먹임(feedback) 회로
cf) 레지스터 - 플립플롭으로 구성, 여러비트 기억소자, word크기로 만듬
5.1 플립플롭의 종류/ 불안정해서 CP(클럭펄스)로 동기화
① RS Flip-Flop
St Rt Qt+1
(0,0) Qt
(0,1) 0
(1,0) 1
(1,1) 모순 - Q와 Q'가 모두 1이기때문
Set, Reset, Qt현출력,Qt+1다음출력
② JK Flip-Flop : R=S=1을 허용되게 하기 위한 것 / J=K=1을 유지하고 CP가 계속오면 Q의 값은 0과 1을 반복하게 된다(toggling)
Jt Kt Qt+1
(0,0) Qt
(0,1) 0
(1,0) 1
(1,1) Qt'
③ D Flip-Flop : RS Flip-Flop이나 JK Flip-Flop을 사용하여 만듬, 1bit 지연 기능, S나 K쪽에 Not gate
Dt Qt+1
0 0
1 1
④ T Flip-Flop : JK Flip-Flop의 J와 K를 연결하여, 주로 counter회로
Tt Qt+1
0 Qt
1 Qt'
* 입력 자료에 따른 출력 파형
[출처]https://learn.sparkfun.com/tutorials/digital-logic/sequential-logic
clock : 셔터
D(입력) : 피사체
Q(출력) : 사진
라고 생각하면
setup time 즉 대기시간은 피사체가 미리 와있는 시간
Hold time은 피사체가 움직이지 않고 서있는 시간
Clock은 셔터를 누르는 시간
Propagation delay time, 전파지연시간은 사진이 나오기까지 걸리는 시간
5.2 Race 문제 : CP=1일때 출력측의 값이 변화하면 입력측의 값이 변화되어 오작동이 발생, 이 오동작이 다른 오동작을 유발하게 된다. 이 현상이 Race 현상
없애는 법 : edge triggered Flip-Flop을 형성 or master-slave Flip-Flop회로로 구성
(1) Postive edge - 상승 모서리 작동
(2) Negative edge - 하강 모서리 작동
(3) Mater-slave Flip-Flop
5.3 여기표 : 진가표(입력에 대한 출력을 나타낸 표)를 역으로 만들어 놓은 표(출력에 대한 입력을 나타낸 표)
Qt Qt+1 St Rt Dt Jt Kt Tt
0 0 0 x 0 0 x 0
0 1 1 0 1 1 x 1
1 0 0 1 0 x 1 1
1 1 x 0 1 x 0 0
6. 조합논리회로
(1) 반가산기 : 2진수 1자리의 x와 y를 더한 합 S와 자리 올림수 C를 얻는 회로/S는 And gate의 진가표, C는 XOR 진가표
부울대수식 C = x*y, S = x⊕y
(2) 전가산기 : 여러자리의 2진수 덧셈기, n번째 A와 n번째 B의 1bit를 더하고자 할 때 n-1번째에서 생긴 자리올림 C도 고려해서 더한 후 n번째의 자리올림 C와 n번째의 합 S를 구하는 회로
부울대수식 C=x⊕y⊕z, S = x*y+y*z+x*z or x*y+(x⊕y)*z
반가산기 2개와 1개의 OR gate
(3) 반감산기 : 두수의 차이 D, 자리내림 B
부울대수식 B=x'*y, D=x⊕y
(4) 전감산기 : n-1번째 자리에서의 자리내림도 고려
부울대수식 B = x'*y+x'*z+y*z or x'*y+x'*y'*z+x*y*z=x'*y+(x⊕y)'*z
(5) 병렬가산기 : 여러자리 2진수를 더하기 위한 연산회로 n bit 덧셈을 위해 n개의 전가산기 필요, 가장 하위자리는 반가산기 사용
덧셈 F=A+B+0/carry를 고려한 덧셈 F=A+B+1/뺄셈(1의보수, carry발생하면 1 더해줌) F=A+B'+0, 뺄셈(2의 보수, 미리 1더해줌)F=A+B'+1 뺄셈 두가지의 결과는 같다/전송 F=A+0+0/1증가 Increment F=A+0+1/1감소 Decrement F=A+all 1's=A-1/전송 F=A+all 1's+1=F=A-1+1=A
(6) 인코더 2ⁿ×n : 코드화, 인간언어를 2진수 회로로
D3 D2 D1 D0 X Y
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
D2버튼을 누르면 01출력
(7) 디코더 n×2ⁿ : 해독기, 2진수를 인간언어로
(8) 멀티플렉서 2ⁿ×1 : 입력신호 여러개, 출력신호 한개. 병렬자료를 직렬자료로(여러악기->스피커)
S1 S2 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3
S1, S2는 결정자, 선택자
(9) 디멀티플렉서 1×2ⁿ : 입력신호 1개, 출력 여러개. 직렬자료를 병렬자료로
7. 마이크로컴퓨터 : 마이크로프로세서, 기억장치, 입출력장치가 모여서 이루어진 것
비트 슬라이스 마이크로프로세서 : 각각 다른 IC에 설계, 동적으로 재구성 가능
1칩 마이크로프로세서 : 1개의 칩안에 모든 기능을 집적, 고정된 형태
① 버스 : 공동으로 이용되는 선, 공유회선
모든 전송은 CPU기준
(1) 어드레스버스:단방향버스, 주 메모리 공간의 용량과 관계. 용량이 64K면 어드레스 버스의 폭은 64K=2^6*2^10=2^16->16bit
(2) 데이터버스:양방향버스, CPU가 몇bit머신인가의 기준. CPU에 의해 한번에 처리할 수 있는 크기=word크기
(3) 제어버스:단방향버스, 자료가 들어올건지 나갈건지 알려주는 역할
*
SI 접두어 10n 접두어 기호 배수 십진수 1024 요타 (yotta) Y 자 1 000 000 000 000 000 000 000 000 1021 제타 (zetta) Z 십해 1 000 000 000 000 000 000 000 1018 엑사 (exa) E 백경 1 000 000 000 000 000 000 1015 페타 (peta) P 천조 1 000 000 000 000 000 1012 테라 (tera) T 조 1 000 000 000 000 109 기가 (giga) G 십억 1 000 000 000 106 메가 (mega) M 백만 1 000 000 103 킬로 (kilo) k 천 1 000 102 헥토 (hecto) h 백 100 101 데카 (deca) da 십 10 100 일 1 10−1 데시 (deci) d 십분의 일 0.1 10−2 센티 (centi) c 백분의 일 0.01 10−3 밀리 (milli) m 천분의 일 0.001 10−6 마이크로 (micro) µ 백만분의 일 0.000 001 10−9 나노 (nano) n 십억분의 일 0.000 000 001 10−12 피코 (pico) p 일조분의 일 0.000 000 000 001 10−15 펨토 (femto) f 천조분의 일 0.000 000 000 000 001 10−18 아토 (atto) a 백경분의 일 0.000 000 000 000 000 001 10−21 젭토 (zepto) z 십해분의 일 0.000 000 000 000 000 000 001 10−24 욕토 (yocto) y 일자분의 일 0.000 000 000 000 000 000 000 001 [출처]https://ko.wikipedia.org/wiki/SI_%EC%A0%91%EB%91%90%EC%96%B4
[총 출처] 유레카 컴퓨터일반 - 이재환, 이정식
교재를 개인 공부 목적으로 정리한 것입니다. 틀린부분이 있을 수 있습니다.
문제가 될 시 알려주시면 바로 조치하겠습니다.
무단배포나 복사는 금지합니다.
728x90'컴퓨터+a > 컴퓨터일반' 카테고리의 다른 글
컴퓨터일반 - 6. 입출력 (0) 2017.04.30 컴퓨터일반 - 5. 기억장치 (0) 2017.04.28 컴퓨터일반 - 4. 명령어 (0) 2017.04.13 컴퓨터일반 - 3. 연산 (0) 2017.04.07 컴퓨터일반 - 2. 자료표현 (0) 2017.04.06