컴퓨터구성 (5)

남율·2023년 9월 28일
0

9/26(화) 요약정리 과제

1장에서는 조합회로, 순차회로, 어떻게 설계하는지에 대해서 배웠음.

2장에서는 IC칩에 대해서 배울 것.

2-1. IC Chip

1) Advantages of I.C. (Intergration Circuits 칩의 장점)

  • 사이즈가 작아진다
  • 비용이 적게 든다.
  • 열의 발생량을 줄일 수 있고 신뢰도가 높아진다.
  • 운영 속도가 증가한다.

2) Size

크기로 가지고 분류할 수 있는데 분류 기준은 IC칩에 들어가는 로직 회로들의 개수로 분류 할 수 있다.

  • SSI : IC칩에 들어가는 로직 회로들이 수십개인 경우
  • MSI : 수백개
  • LSI : 수천개
  • VLSI : 수천개 이상 ~

일반적으로, IC칩의 사이즈는 어느정도 되지만, 회로 자체가 차지하는 부분은 굉장히 작다. 입력 신호는 들어가야하고 출력 신호는 나와야하기 때문에 그것들을 위한 핀들이 양쪽에 여러개 꽂혀있다.

결론적으로, 칩 자체는 공간을 많이 차지하지 않지만 입력/출력 신호값을 위한 핀들에 의해 사이즈가 칩보다는 크다.

3) 공정(Circuit technology)

IC칩을 만들기 위해서 공정 분류

  • TTL : 가장 많이 쓰임. (Trangistor trangistor logic)
  • ECL : 속도가 빠름. ex) 슈퍼 컴퓨터
  • MOS : 밀도가 높음. (정해진 공간 안에 더 많은 수의 데이트 넣을 수 있음)
  • CMOS : 열의 발생량이 적음.(랩탑을 만들 땐 이 공정으로 만든 칩 많이 사용)

2-2 Decoders (해석하다, 해독하다)

output에선 하나의 1만 물리게 됨.

1) 한 코드에서 다른 코드로 변환시켜주는 역할을 함.

ex) 위 그림에서 입력으로 들어온 3비트 짜리 2진수 입력값을 8진수(8비트) 출력값으로 변환시켜주었음.

2) 입력으로는 n비트짜리 binary code를 받고 2^n의 출력값이 나옴.

3) n to m decoders : n개의 입력, m개의 출력으로 구성되고 n X m decoder라고 얘기함.

4) 그림 2-1의 경우 3 x 8 decoder라고 말할 수 있음.

5) E -> Enable단자는 ON/OFF Switch라고 작용. E값이 1이면 동작하기 시작,

마지막 2 x 4 decoder, 4 x 16 decoder는

2x4 decoder : 입력이 2, 출력이 4

—> 2비트 짜리 이진수를 4진수로 변경

4x16 decoder : 입력 신호 4개, 출력 신호값 16개


NAND 게이트

앞에서 본 decoder와 반대로 동작함.

Enable 단자가 0일 때 NOT gate 통과하면서 1로 바뀔 것.

아까와는 다르게 4개의 Output 값 중 하나만 0임.

Enable이 1이면 처음에 NOT gate에서 0이 되고 AND Gate 출력이 0일텐데, not이 붙었으니 1이 됨. 그래서 다 1,1,1,1이 나옴.

두번째 것을 예시로, D1이 0이 나오는 것을 확인하고, 나머지가 1이 나오는지를 회로를 따라서 확인해보면 됨.

3x8 decorder를 2x4 decorder 2개로 구성.

입력은 3비트인데 2x4 decorder밖에 주어지지 않았으므로 A0, A1을 입력값으로 두고 A3는 Enable로 사용함으로써 입력값을 줌.

A3 = E을 0일 경우와 1일 경우로 나누어 Upper 와 Lower로 구분. 출력값은 각각 4개씩 나오므로 총 8개가 나옴.

A5, A4 값에 따라 4개 4x16중 어디인지를 결정. 예를 들어, A5, A4가 0,0이면 D0에만 1값이 들어가서 Enable에 1이 들어가니까 맨 위의 칩만 동작하게 됨. 나머진 0이 들어가서 동작 X.

나머지도 마찬가지로 A5, A4 값이 0,0 / 0,1 / 1,0 / 1,1 —> 무엇인지에 따라 어떤 IC칩을 이용하게 될 건지 결정하게 됨.

Encoder : Decoder 정반대로 동작함.

맨 아래에 있는 그림이 Encoder그림인데 입력값이 8개 출력값은 3개. 출력값은 2진수 숫자가 나옴.

—> 8진수에서 2진수로 작동

Table 2-2 표에선 하나의 인풋만 1 값을 가짐.

Encoder의 주된 목적 : 어느 값이 1이라는 값을 가지고 Encoder에 입력으로 들어왔는지에 따라서 그거에 대한 이진수 코드를 만들어내는 것. 회로로 만들 때는 or게이트 3개면 충분 (위 그림에 대한 식은 아래 식으로 나타내어줌)

multiplexer(MUX) / 4-to-1 line selector

4개의 입력신호/라인 중에서 한 채널만 선택해서 출력으로 내보낸다.

I가 4개의 입력 채널, 그 중에 하나 선택, 그걸 통해서 연속적으로 들어오는 값을 출력으로 내보내주면 됨

4개의 입력 값 중 하나를 선택해주어야하기 때문에 밑에 줄에 있는 Select Bit를 사용, 4는 2비트만 있으면 됨(4 = 2^2)

오른쪽 Table의 세번째를 보면 S1 = 1, S2 = 0 일 때 출력값은 I(2)임.

—> 아래 S1이 1일 경우 I2의 가운데로 들어가게 되고, S0이 0이면 Not게이트를 거쳐 I(2)의 맨 아래에 들어가게 됨. 즉, s1, s2모두 1의 값으로 AND 게이트로 들어가게 되므로 I(2)의 입력값이 그대로 출력값으로 나오게 되는 것.


4 x 1 Mux 2개로 8 x 1 Mux를 만들어줌.

입력이 8이므로 입력 채널이 8개임. 근데 Select bit는 위에서 사용하던 4x1 mux의 2개밖에 없음.

그런데 8개 중에 1개를 선택하려면 Select bit는 3개가 필요. 그래서 S2(E)를 Enable단자에 추가함.

입력채널은 전부 8개, S값이 뭐냐에 따라서 S2값이 0이면 위에 mux는 꺼져있고 S2값이 1이 되면 아래 mux는 켜져있게 되는 것. 그래서 S2값이 1일 때 나머지 입력값들이 뭐냐에 따라서 line을 선택하는 것이다.

2 x 1 multiplexer

→ 입력이 2개 출력이 1개. 그 앞에 Quardruple이 있는데 이건 입력채널의 크기를 나타내줌. (한 입력 채널이 4비트). 채널의 개수로만 보자면 입력 채널 2개 출력 채널 1개이지만 각각의 채널이 4비트이므로 4개의 정보가 담김.

입력 2개 중 1개만 선택하므로 Select도 1개만 존재. 그렇게 동작하기 위해서 Enable이 1이어야 켜진 것이므로 동작하고, 0은 동작하지 않음.

2-4 Registers

: F/F 여러 개로 구성. 아래는 F/F 4개를 붙인 레지스터임.

  • 4비트짜리 레지스터, D F/F을 4개 사용하고 있음.
  • Clock값에 의해 동기화해서 전달함. 그 값을 받아들이는 단자들이 있음.
  • 다음 상태(결과)는 D단자에 물리는 값에 의해 바뀜. D F/F 입력값으로 1이 들어오게 되면 D단자 값이 1, 다음 상태는 1로 변경. —> Clock이 뛸 때 그것과 동기화가 되면서 바뀜.ㅈ

즉, Clock만 뛰면 I값에 따라 D 단자 안의 값이 변경된다.

  • 이미 D 안에 있는 값들을 유지시키고 싶은 경우 clock이 뛰지 않게 해주어야 함(억제). 그렇지 않을 경우엔 Extra control logic을 추가해줘야 함.

Clock에 의한 F/F값 변경 여부가 아닌 다른 방법

여기선 Path가 두개임.

Extra Control Logic : 위 그림에서 보면 빨간색 숫자들이 D안에 있던 수를 유지시키기 위한 Feedback

Load값이 1이었다면, 외부에 있는 I 1~4 값들을 입력값으로 받아서 D F/F에 전달하겠다는 것.

4-bit shift register

4-bit → F/F 4개가 있고, shift → 어느 한 쪽으로 어떤 값을 이동시킬 수 있는 기능을 갖음.

위 그림은 오른쪽으로 Shift시킬 수 있는 기능을 가지고 있다.

—> (1 -> 2), (2 -> 3), (3 -> 4), (4 -> 외부)

shift register는 clock 신호값에 의해 동기화 되면서 실행.

일반적인 general shift register는 여섯 가지 기능을 다 할 수 있어야 함.

  1. An input for clock pulses

: Clock 신호값이 들어올 수 있어야 함. F/F와 Clock이 연결되어있는 것을 의미

  1. Shift right operation
  2. Shift left operation

: Left, right 방향으로 shift operation을 할 수 있어야 함.

  1. Parallel load

    : 외부 값(초기값)이 그대로 Parallel하게 해당되는 F/F 안으로 들어갈 수 있어야 함.

  2. N parallel output lines

    : Shift Register 안에 있는 값들을 다 외부로 뽑아내서 확인할 수 있어야 함.

  3. Control logic for content unchanged

    : 들어가 있는 값 그대로 유지

Bi-directional : 양쪽 shift 모두 가능

parallel load : 외부 값을 받아들여서 원하는 값을 넣을 수 있어야 함.

parallel output에 해당되는 내용

—> 4개 F/F안에 있는 값을 밖으로 꺼낼 수 있어야 함. 위 그림에서 Mux와 F/F가 연결되어 있는데, A신호를 끄집어 가지고 가서 값을 확인할 수 있음.

가운데 들어가는 것은 4 x 1 mux 이므로 4개 중에 하나를 선택해서 그 채널로 들어오는 값을 출력으로 연결시켜줌 → 4 x 1 mux의 기능. Select는 2개 필요함.

S1, S2가 같은 값, 즉 한 4 x 1 mux가 0번 채널을 선택했으면 나머지 mux도 0번 채널을 선택함.

D F/F을 사용 —> 생각해야 하는 것

: Clock이 뛸 때 무조건 D단자에 물려있는 값을 받아서 다음 상태를 그 값으로 결정. 지금 가지고 있는 값을 유지하고 싶다면 한 번 Feedback 되어 이미 들어가있던 값이 한 바퀴 돌아서 D단자에 물리도록 해주어야 함.

표 2-4. 레지스터에 대한 함수표 (Function Table)

0, 0

: 0번 채널 선택. 다음 4 x 1 mux도 다 0번 채널 선택, 0번 채널을 위에서 보면 출력된 값과 입력값으로 들어가기 전 값이 feedback형태로 연결됨 —> No change (원래 값 유지)

0, 1

: 1번 채널 선택. 오른쪽 D F/F값이 왼쪽 1번 채널과 연결 —> 오른쪽 D F/F에 있던 값이 왼쪽으로 옮겨감.

맨 오른쪽에 있던 F/F에 있던 값은 외부에서 들어옴. 1번 채널을 보면 Serial Inpu t이라고 되어있음, 외부에서 들어온 값이 1번 채널을 통과해서 D 단자로 연결이 되고 0이면 다음상태 0, 1이면 다음상태 1.

1, 0

: 2번 채널 선택. 왼쪽에 있는 F/F값이 오른쪽으로 가서 4 x 1 mux 2번 채널로 들어가고 그게 D F/F으로 이동 —> Shift right.

맨 왼쪽에 있는 4 x 1 mux에 외부의 값이 들어오게 되면 그 값이 D F/F값이 되고, 동시에 그 안에 있던 값은 하나 오른쪽으로 밀려감, 또한 하나 더 오른쪽으로, 맨 오른쪽 D F/F에 있던 값은 바깥으로 빠져나감.

1, 1

: 3번 채널 선택. 전부 외부 값임.그 값 그대로 D F/F에 들어감, 원하는 값을 미리 넣어주고 shift operation을 하고 싶을 때 parallel load특성을 사용하면 됨.

parallel output은 어느 한 순간에 각각의 F/F안에 들어있는 값을 외부로 뽑아낼 수 있으면 됨.

profile
하나하나 차근차근

0개의 댓글