728x90

 

1. Parity bit

  • 두 시스템 사이에 통신을 할 때, 외부 노이즈(전기장 등) 에 의한 노이즈가 존재한다.
  • Parity bit : data bit + parity bit의 1의 개수를 일정하게 하여 오류를 확인
    • Even parity : data와 parity bit의 1이 짝수 개 존재
    • Odd parity : data와 parity bit의 1이 홀수 개 존재
  • 실제 시스템의 Parity bit 활용
    • 송신부 : 입력된 데이터로 Parity Generator가 Parity bit 생성, 데이터와 함께 전송
    • 수신부 : 송신된 데이터 Parity bit와, 송신 데이터로 직접 만든 Parity bit가 동일한지 여부 확인
  • Parity Generator / Parity Checker(Error Indicator) 설계
    • Generator : XOR / XNOR Gate로 1의 개수가 짝수인지, 홀수인지 판별 - ex) 3-Input, odd parity : 1^1^1 = 1 > 1의 개수를 홀수로 맞춰야 하므로 x XOR y XNOR z 로 Parity Generator 설계
    • Parity Checker(Error Indicator) : 입력으로는 수신된 데이터와 Parity bit, 출력으로는 오류 여부를 출력하게 할 경우 둘을 비교 - Parity Generator와 같은 회로에 수신된 Parity bit을 추가

2. Register Transfer and Microoperations

1. Register Transfer

  • 레지스터 : 레지스터와 레지스터의 동작을 이용하여 디지털 모듈 정의
  • 디지털 장비 내부의 HW 구성
    • 레지스터 Set + 함수
    • Microoperation ( 컴퓨터 동작 시 가장 기본이 되는 명령어, 그 결과는 다른 레지스터를 덮어씌우거나 같은 register값을 replace할 수 있음)
    • 시퀀스 조작
  • 레지스터는 가급적 대문자로 표현
  • 레지스터 표현
    • C : Bit의 크기를 표현 / 15bit가 항상 MSB인 것은 아니다
    • D : 레지스터를 읽어들일 땐 함상 전체를 한번에 읽어야 한다(부분만 읽을 수 X), 그렇기 때문에 큰 크기의 레지스터의 경우 H/L 등 파트를 나누어 그 일부만 읽어들일 수 있게 한다.
  • 레지스터는 수정 없이 전체 내용을 한번에 이동해야 한다.
    • 특정 Bit를 확인할 경우 먼저 그 내용을 복사해서 복사된 내용을 확인
    • Source에서 Destination으로 복사 시 두 데이터는 동일하게 됨(Source 데이터는 사라지지 않는다)
  • 레지스터는 플립플롭의 조합 ex. 8-bit register : 8개 FF
    • ex. Register Transfer : Clock 신호가 Rising이고, Load가 High일 때 모든 레지스터 Bit 전달
    • Parallel 통신의 경우 모든 레지스터가 Clock을 공유하므로 Rising할 때 한번에 데이터 전송
    • 이 때 설계상 결함이 있어 특정 레지스터의 Clock전달이 늦을 경우 정상적인 통신이 되지 않게 됨
  • Control Function
    • [조건 : 동작]으로 표현 ex. P : R2 ← R1 (P 조건이 맞을 경우, R1 데이터를 R2로 전송)
    • 한번에 다수 동작 시에는 콤마로 분리 ex. T : R2 ← R1, R4 ← R3
    • 데이터 왕복은 Edge Trigger, Master-Slave만 가능 ex. Q : R1 ← R2, R2 ← R1
    • 한 번에 같은 레지스터로 복사하는 것은 불가 ex. R : R2 ← R1, R2 ← R3 (X)
  • Serial Transfer
    • Source/Destination 모두 shift resgister
    • 1bit씩 데이터 전송, 데이터 손상을 방지하기 위해 Rotational Shift로 동작
    • Clock 속도만 증가시키는 것으로는 통신속도 증가에 한계 - Signal의 Charge/Discharge의 최소 interval 존재
  • Bus
    • n-bit 레지스터 사이의 연결선 수 = nC2_nC_2 ex. 3-bit : 6-lines
    • 단방향 통신 시 양방향 path를 모두 만들어줘야 하므로, bit수 증가에 따라 비용이 과도하게 증가
    • Bus : 관련된 신호선을 그룹으로 모아 두어 통신 ex. 16-bit 레지스터들의 경우 16-line Bus로 연결
    • Bus System의 예 : MUX 활용
      • 레지스터 각 Bit 위치를 MUX로 묶어주어 Select Signal을 통해 원하는 레지스터를 선정할 수 있다.
      • 데이터 입력을 위해 BUS 라인과 레지스터 입력으로 연결하고, 레지스터에 Load를 추가한다 : MUX 선택 시 출력 데이터가 선택되고, Load 시그널을 준 레지스터로 해당 데이터가 입력된다.
      • 한계 : 한 번에 1개 전송만 가능 - 동시 통신을 위해서는 그만큼의 버스가 필요
        • ex. BUS ← R4, R1 ← BUS = R1 ← R4
      • 실제로는 MUX보다는 Tri-state Buffer로 BUS 통신하는게 더 일반적
728x90

+ Recent posts