문제지 PDF 파일을 로드하고 있습니다. 한참 걸릴 수도 있어요 ㅠㅠ 30초 이상 걸리면 새로고침을 한번 해보세요.

2020 7급 서울시 디지털공학

1번

BBCC 중 하나라도 11이면 그 위 단의 값이 00이 되므로 아래쪽은 NOR으로 B+C\overline{B+C}이다. 또한 이 값과 AA 모두 11이어야 Y=0Y=0이므로 전체적으로 NAND가 되어 AB+C\overline{A\overline{B+C}}이다. 따라서 답은 4번이다.

2번

(가),(나) 클럭이 00이면 입력이 비활성화되어 출력은 이전 값을 그대로 유지한다. 따라서 Q=1=0\overline{Q}=\overline{1}=0이다.

(다) 클럭이 11이므로 입력이 활성화되고, Q+=DQ^+=D이므로 Q=0,Q=1Q=0, \overline{Q}=1이다.

(라) Q+=DQ^+=D이므로 Q=1,Q=0Q=1, \overline{Q}=0이다.

따라서 답은 2번이다.

3번

논리 0: 최고 출력 전압이 0.30.3 V이고 최고 가능 입력 전압이 1.31.3 V이므로 1.30.3=11.3-0.3=1 V의 노이즈까지는 문제가 없다.

논리 1: 최저 출력 전압이 3.83.8 V이고 최저 가능 입력 전압이 3.13.1 V이므로 3.83.1=0.73.8-3.1=0.7 V의 노이즈까지는 문제가 없다.

따라서 답은 1번이다.

4번

하나하나 해보는 게 제일 나은 거 같다. 가장 위의 01010101부터 시작해보자. LSB인 가장 오른쪽 비트를 첫 번째 비트로 세겠다.

  1. 첫 번째와 세 번째가 11이므로 11=01 \oplus 1=0에 따라 MSB=0MSB=0이 되어야 하는데 다음 상태는 MSB=1MSB=1이다. 따라서 구현 불가하다.
  2. 네 번째 상태 천이 시 XNOR(1,0)=0XNOR(1,0)=0이어야 하는데 상태 천이도 상에는 MSB=1MSB=1이므로 맞지 않다.
  3. 일곱 번째 상태 천이 시 01=10 \oplus 1=1인데 상태 천이도 상에는 MSB=0MSB=0이므로 맞지 않다. 따라서 남는 것은 3번이다.

5번

  1. 옳다. 노이즈에 강인하고, 오류 정정도 가능하므로 정확한 연산이 가능하다. 또한 암호화 및 보안을 위한 코딩도 가능하다.
  2. 일정 수준의 노이즈가 생겨도 재생시킬 수 있고, 오류 오류 검출 및 정정을 위한 코딩도 가능하다.
  3. 아날로그에 비해 시스템이 간단하고, 노이즈에 강인하니 신뢰도도 있고, 쉽게 변경이 가능하다.
  4. 잡음과 일그러짐이 발생해도 어느 수준까지는 쉽게 재생시킬 수 있다.

따라서 4번이 옳지 않다.

6번

2진수의 경우: 1010비트를 사용하면 10241024까지 표현 가능하므로 1010개이다.

BCD코드의 경우: 각 자리마다 44비트가 필요하므로 총 1212비트가 필요하다.

따라서 답은 3번이다.

7번

2pm+p+12^p\geqq m+p+1

이다. p=8p=8을 먼저 대입해보면 28=2562^8=256이고, 데이터 비트 m=128m=128이므로

m+p+1=128+8+1=137m+p+1=128+8+1=137

이므로 조건을 만족한다. 따라서 답은 1번이다.

8번

식을 변형하면

Y=ABC+ABC+ABC+ABCY=ABC+AB\overline{C}+A\overline{B}C+\overline{A}\cdot\overline{B}C

이다. 이를 합으로 표현하면

Y=Σ(7,6,5,1)=Σ(1,5,6,7)Y=\varSigma (7,6,5,1)=\varSigma(1,5,6,7)

이고, 곱으로 표현하면

Y=Π(0,2,3,4)Y=\varPi (0,2,3,4)

이다. 따라서 답은 4번이다.

9번

버블을 뒤로 넘기고 연산을 바꾸는 방법을 적용하면 3번이 답이다.

10번

set-up 시간은 트리거링 에지의 이전에 입력이 인가되어야 하는 시간을 말한다. 따라서 1번이 옳지 않다.

11번

56=54+2=2×27+2=2×33+2×30=2002356=54+2=2\times 27+2=2\times 3^3+2\times 3^0=2002_3

이므로 답은 4번이다.

12번

오버플로우는 양수와 양수를 더해서 음수가 나오거나, 음수와 음수를 더해서 양수가 나오는 것을 말한다.

1,4. 음수와 양수의 합이므로 오버플로우가 발생하지 않는다.

  1. 01112+00012=100020111_2+0001_2=1000_2로 양수와 양수를 더했는데 음수가 나왔다.

따라서 2번이 오버플로우가 발생하는 경우이다.

13번

버블을 뒤로 넘기고 연산을 바꾸자(드 모르간의 법칙). 그러면 위쪽은 AB\overline{A}\cdot \overline{B}이고, 가운데는 ABAB이고, 아래는 ACAC가 된다. 이들의 OR이므로 답은

F=AB+AB+ACF=\overline{A}\cdot\overline{B}+AB+AC

이므로 우선 1번은 옳다. 식을 변형하면

F=AB+AB+A(B+B)C=AB+AB+ABC+ABC=AB+AB+ABC\begin{equation} \begin{split} F&=\overline{A}\cdot\overline{B}+AB+A(B+\overline{B})C\\ &=\overline{A}\cdot\overline{B}+AB+ABC+A\overline{B}C\\ &=\overline{A}\cdot\overline{B}+AB+A\overline{B}C \end{split} \end{equation}

이므로 3번도 옳다. 또한 4번을 전개하면

AB+AC+AB+BC=AB+AB+AC+(A+A)BC=AB+AB+AC+ABC+ABC=AB+AB+AC\begin{equation} \begin{split} AB+AC+\overline{A}\cdot \overline{B}+\overline{B}C&=\overline{A}\cdot\overline{B}+AB+AC+(A+\overline{A})\overline{B}C\\ &=\overline{A}\cdot\overline{B}+AB+AC+A\overline{B}C+\overline{A}\cdot\overline{B}C\\ &=\overline{A}\cdot\overline{B}+AB+AC \end{split} \end{equation}

이므로 옳다. 따라서 남는 것은 2번이다.

14번

가장 오른쪽의 11이 가장 왼쪽으로 오면 되므로 답은 111021110_21번이다.

15번

Mealy 머신은 출력이 현재의 상태와 입력에 의존한다. 따라서 현재의 입력이 바뀌면 출력 값도 바뀔 수 있기 때문에 클럭 펄스 사이에도 출력 신호 발생이 가능하다. 하지만 그만큼 타이밍이 꼬일 수 있기 때문에 클럭이 들어올 때마다 상태 천이가 발생하여 출력이 발생하는 Moore 머신이 더 타이밍적으로 안정적이다. 쉽게 말해, 신호등이 있으면 교통이 더 안전할 것이다. 따라서 답은 1번이다.

16번

2424 비트 길이의 주소로 접근할 수 있고 한 주소당 44 비트가 있으므로 액세스 가능한 최대 메모리 용량은

224×4=226=26=64 MiB2^24\times 4=2^26=2^6=64 \text{ MiB}

이고 답은 1번이다.

17번

주어진 식을 변형하면

F=bc+bc+abc+acd+bd=c+abc+acd+bd\begin{equation} \begin{split} F&=\overline{b}c+bc+a\overline{b}\overline{c}+a\overline{c}d+\overline{b}\cdot\overline{d}\\ &=c+a\overline{b}\cdot\overline{c}+a\overline{c}d+\overline{b}\cdot\overline{d} \end{split} \end{equation}

이다. 여기서 c=0c=0인 경우를 생각하면

ab+ad+bd=ab(d+d)+a(b+b)d+(a+a)bd=abd+abd+abd+abd+abd+abd=ad+bd\begin{equation} \begin{split} a\overline{b}+ad+\overline{b}\cdot\overline{d}&=a\overline{b}(d+\overline{d})+a(b+\overline{b})d+(a+\overline{a})\overline{b}\cdot\overline{d}\\ &=a\overline{b}d+a\overline{b}\cdot\overline{d}+abd+a\overline{b}d+a\overline{b}\cdot\overline{d}+\overline{a}\cdot\overline{b}\cdot\overline{d}\\ &=ad+\overline{b}\cdot\overline{d} \end{split} \end{equation}

이다. 종합하면

F=c+ad+bdF=c+ad+\overline{b}\cdot\overline{d}

이므로 답은 2번이다.

18번

먼저 F0F_0에 대해서 구해보자. NOR에 입력되는 값은 각각 A0B0\overline{A_0}B_0A0B0A_0\overline{B_0}이므로 이 둘의 NOR은

F0=A0B0+A0B0=A0B0A0B0=(A0+B0)(A0+B0)=A0B0+A0B0\begin{equation} \begin{split} F_0&=\overline{\overline{A_0}B_0+A_0\overline{B_0}}\\ &=\overline{\overline{A_0}B_0}\cdot \overline{A_0\overline{B_0}}\\ &=(A_0+\overline{B_0})(\overline{A_0}+B_0)\\ &=A_0B_0+\overline{A_0}\cdot\overline{B_0} \end{split} \end{equation}

이다.

다음으로 F1F_1에 대해서 구해보자. 가장 왼쪽의 게이트의 출력은

A1+B1=A1B1\overline{A_1+B_1}=\overline{A_1}\cdot\overline{B_1}

이다. 한편 F1F_1 출력 쪽의 버블을 뒤로 넘기고 연산을 AND로 바꾸자. 그러면 가운데 게이트 2개의 출력은 각각

A1+A1B1A_1+\overline{A_1}\cdot\overline{B_1}

B1+A1B1B_1+\overline{A_1}\cdot\overline{B_1}

이다. 이 둘의 AND를 구하면

F1=(A1+A1B1)(B1+A1B1)=A1B1+A1B1\begin{equation} \begin{split} F_1&=(A_1+\overline{A_1}\cdot\overline{B_1})\cdot (B_1+\overline{A_1}\cdot\overline{B_1})\\ &=A_1B_1+\overline{A_1}\cdot\overline{B_1} \end{split} \end{equation}

이다. 이제 보기들을 검토하자.

  1. B1=0B_1=0이면 F1=A1F_1=\overline{A_1}이 맞다.
  2. F2=1F_2=1이라면 F0=F1=1F_0=F_1=1이어야 한다. 따라서 A0=B0A_0=B_0이면서 A1=B1A_1=B_1이어야 하므로 A=BA=B이다.
  3. A0=1A_0=1이라면 F0=B0F_0=B_0이 맞다.
  4. F2=0F_2=0이면 A0B0A_0\neq B_0이거나 A1B1A_1\neq B_1이므로 ABA\neq B가 맞다.

따라서 2번이 옳지 않다.

19번

I0I_0: b=c=0b=c=0일 때 F=I0=aF=I_0=a이다.

I1I_1: b=0,c=1b=0,c=1일 때 F=I1=0F=I_1=0이다.

I1I_1: b=0,c=1b=0,c=1일 때 F=I1=0F=I_1=0이다.

I2I_2: b=1,c=0b=1,c=0일 때 F=I2=aF=I_2=a이다.

I3I_3: b=c=1b=c=1일 때 F=I3=aF=I_3=\overline{a}이다.

따라서 답은 3번이다.

20번

SM 차트의 구성 요소는 상태를 알려주는 상태 박스, 입력에 따라 분기를 결정하는 결정 박스, 시스템의 상태와 입력에 따른 출력을 내는 조건 출력 박스로 구성된다. 입력은 그냥 입력될 뿐으로 입력 박스는 없다. 따라서 답은 3번이다.