Mano의 컴퓨터시스템구조 제3판, 프로텍 미디어, 김종상 옮김 도서를 정리, 요약하는 글입니다.
1. 논리 마이크로 연산
- 저장된 비트열에 대한 이진 연산으로서 각 비트를 독립된 이진 변수로 간주하고 연산을 수행한다.
- 논리 마이크로 연산은 계산에서보다는 이진 데이터의 비트 조작이나 논리적인 결정을 내리는 데 자주 사용된다.
- AND 연산은 ∧, OR 연산은 ∨, 1의 보수는 문자 위의 bar로 표현한다.
2. 논리 마이크로 연산표
- 두 개의 이진 변수 x, y로 수행될 수 있는 논리 연산은 모두 16가지이다.
- 위의 표는 F0 ~ F15까지 두 변수 x, y 사이에 가능한 부울 함수 각각에 대한 진리표이다.
- 위의 표는 논리 마이크로 연산들은 두 레지스터 내용 사이의 연산을 의미한다.
- 위의 논리회로는 16개의 마이크로 연산 중에서 4개의 연산인 AND, OR, XOR, Complement만을 사용한 한 단을 보여주고 있다.
- 4개의 게이트와 하나의 멀티플렉서로 구성되어 있고, 각 게이트가 정해진 논리 연산을 수행하고 이 결과들 중 하나를 멀티플렉서로 선택하여 최종 결과값을 결정한다.
- n비트 회로를 구현하기 위해서는 이 그림과 같은 회로를 n개 반복하고, 선택 변수는 모든 단을 동시에 선택하게 하면 된다.
3. 응용
- 논리 마이크로 연산은 레지스터에 저장된 각 비트나 한 워드의 일부분을 처리하는 데 유용하다.
(1) selective set 연산
- 레지스터 B의 1에 대응되는 부분을 레지스터 A의 비트를 1로 세트, 0에 대응되는 부분은 그대로 두는 연산이다.
- OR 연산으로 구현할 수 있다.
(2) selective 보수 연산
- 레지스터 B의 1에 대응되는 부분의 레지스터 A의 비트를 보수로 만들어준다.
- exclusive OR 연산으로 구현할 수 있다.
(3) selective clear 연산
- 레지스터 B의 1에 대응되는 A의 비트만 클리어시키는 연산으로 논리 마이크로 연산 A ← A ∧ B'이다.
(4) mask 연산
- B의 0에 대응되는 A의 비트만 클리어되는 연산으로 AND 마이크로 연산과 같다.
(5) insert 연산
- 비트묶음 속에서 새로운 값을 삽입하는 연산으로서 우선 원하는 위치 비트를 마스크시킨 후 원하는 값에 OR 시킨다.
- 원하는 위치 비트를 마스크시킨 후 원하는 값에 OR 시킨다.
(6) clear 연산
- A, B를 비교하여 두 개의 워드가 일치하면 A를 0으로 세트한다.
- exclusive OR 연산으로 구현할 수 있다.
'CS > 컴퓨터구조(Mano)' 카테고리의 다른 글
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (2) 컴퓨터 레지스터 (0) | 2024.09.26 |
---|---|
[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (1) 명령어 코드 (0) | 2024.09.22 |
[컴퓨터구조] ch.4 레지스터 전송과 마이크로 연산 (4) 시프트 마이크로 연산 (0) | 2024.09.22 |
[컴퓨터구조] ch.4 레지스터 전송과 마이크로 연산 (2) 마이크로 연산 (1) | 2024.09.12 |
[컴퓨터구조] ch.4 레지스터 전송과 마이크로 연산 (1) 레지스터 전송, 버스, 메모리 전송 (0) | 2024.09.12 |