[컴퓨터구조] 디지털논리회로 및 컴퓨터 명령
디지털시스템
- 효과적인 조합논리회로를 설계하기 위해서는 주어진 함수를 실현하는데 필요한 게이트의 수를 최소화할 필요
- 이를 위해 집적회로(IC)를 사용
-
패키지화된 IC의 내부 게이트를 이용하면 경제적인 설계 가능
- 이미 만들어진 MSI(Medium Scale Integrated circuits) 장치를 이용하면 다양한 조합논리회로의 설계가 가능
MSI장치
- 인코더 : 부호화되지 않은 입력을 받아서 부호화된 출력을 내보내는 부호화기
- 디코더 : 부호화된 입력을 받아서 부호화되지 않은 출력을 내보내는 복호화기
- 멀티플렉서 : 여러 개의 입력선 중에서 하나를 선택하여 단일의 출력을 내보내는 조합논리회로
- 특정 입력선을 선택하기 위해서 선택변수를 사용
- 즉 2^n^개의 입력선 중에서 특정 입력선을 선택하기 위해서는 n개의 선택변수가 있어야 한다
- 이 n개의 선택변수의 조합에 의해 특정 입력선이 선택
- 데이터 선택기라고도 하며, 약어로 MUX로 표현
- 특정 입력선을 선택하기 위해서 선택변수를 사용
- 디멀티플렉서 : 멀티플렉서와 반대되는 동작을 수행하는 조합논리회로
- 데이터 분배기라고도 불림
- 데이터 분배기라고도 불림
순서논리회로
-
조합논리회로에 저장요소를 추가
- 비동기 순서논리회로
- 시간지연소자를 사용
- 시간지연소자는 신호가 전달되려면 일정한 시간이 걸리므로 기억능력을 갖게됨
- 논리게이트로 구성되는 시간지연소자는 게이트간의 피드백 때문에 예측 못한 상태로 동작하거나, 불안정한 상태가 발생되기도 함
- 이러한 이유로 자주 사용되지 않음
- 시간지연소자를 사용
- 동기 순서 논리회로
- 특정 순간에서만 저장요소를 내용을 변화시킬 수 있는 신호를 사용 = 클럭펄스
- 이러한 클럭펄스는 시스템 전체에 제공
- 이처럼 저장요소 입력에 클럭펄스를 제공하는 동기 순서논리회로를 클럴을 가진 순서논리회로라고 함
- 플립플롭이라는 저장요소를 사용하며, 가장 많이 사용되는 순서논리회로
플립플롭
- 입력신호에 의해 상태를 바꾸도록 지시가 있을 때까지 현재의 2진 상태를 유지하는 논리소자
- 한 비트의 2진 정보를 저장할 수 있는 장치
-
클럭 신호에 의해 출력상태를 바꾼다
- 플립플롭의 종류
- SR 래치
- 넓은 의미의 플립플롭
- 구동방법이 다름(구동입력이 1일 때 출력이 바뀜)
- 비동기 순서논리소자
- 넓은 의미의 플립플롭
- RS 플립플롭, D 플립플롭, JK 플립플롭, T 플립플롭
- 클럭신호에 의해 출력이 바뀜
- 동기 순서논리소자
- 클럭신호에 의해 출력이 바뀜
- SR 래치
레지스터
- 데이터를 일시 저장하거나 전송하는 장치
- 여러 개의 플립플롭을 연결하여 구성
- n비트 레지스터는 n개의 플립플롭으로 구성되며, n비트의 2진 정보를 저장
- 데이터 적재 레지스터
- 병렬 적재 레지스터
- 병렬 적재 레지스터
- 시프트 레지스터
- 레지스터가 기억하고 있는 정보에 대해 한 방향 또는 양방향으로 정보의 위치를 이동시킬 수 있는 레지스터
- F/F을 직렬 연결, 모든 F/F은 공통 클럭펄스
- 클럭펄스에 따라 한 단씩 자리를 이동
- 레지스터가 기억하고 있는 정보에 대해 한 방향 또는 양방향으로 정보의 위치를 이동시킬 수 있는 레지스터
카운터
- 플립플롭을 사용해 만든 순서논리회로
- 입력되는 클록펄스의 적용에 따라 미리 정해진 순서를 밟아가는 특수한 형태의 레지스터
- 외부의 입,출력이 없음
- 상태변화는 클럭펄스에 의해 수행
- 일반적으로 T F/F 나 JK F/F가 사용된다
컴퓨터 명령어
- 컴퓨터가 수행해야 하는 일을 나타내기 위한 비트들의 집합
- 일정한 형식을 가짐
- 명령어 집합
- 컴퓨터에서 사용할 수 있는 명령어의 세트
- 모든 컴퓨터는 자신의 명령어 집합을 가지고 있음
- 명령어 집합은 그 컴퓨터의 구조적인 특성을 나타내는 가장 중요한 정보
- 동일 계열의 컴퓨터는 같은 명령어 집합이 사용
- 따라서 명령어 집합을 이용하여 시스템의 구조를 살펴볼 수 있음
- 컴퓨터에서 사용할 수 있는 명령어의 세트
- 명령어 구성
- 명령어는 필드라는 비트그룹으로 이루어짐
- 연산코드와 오퍼렌드 필드로 구성
- 명령어는 필드라는 비트그룹으로 이루어짐
컴퓨터 명령어의 수행 기능
- 함수 연산 기능
- 덧셈, 시프트, 보수 등의 산술연산과 AND, OR, NOT 등의 논리연산 수행 기능
- 덧셈, 시프트, 보수 등의 산술연산과 AND, OR, NOT 등의 논리연산 수행 기능
- 정보 전달 기능
- 레지스터들 사이의 정보전달 기능과 중앙처리장치와 주기억장치 사이의 정보전달 기능
- 레지스터들 사이의 정보전달 기능과 중앙처리장치와 주기억장치 사이의 정보전달 기능
- 순서 제어 기능
- 조건 분기와 무조건 분기 등을 통해 명령어의 수행 순서를 제어하는 기능
- 조건 분기와 무조건 분기 등을 통해 명령어의 수행 순서를 제어하는 기능
- 입출력 기능
- 주기억장치와 입출력장치 사이의 정보 이동 기능
- 주기억장치와 입출력장치 사이의 정보 이동 기능
명령어 형식
- 명령어를 구성하는 필드들의 수와 배치 방식 및 각 필드들의 비트 수를 말한다
- 명령어는 컴퓨터의 내부구조에 따라 여러가지 형식이 있음