티스토리 뷰

It

논리 연산

whyuus 2023. 3. 6. 21:06

기본적인 논리 연산들

논리 연산을 위한 하드웨어 모듈

하드웨어의 구성

입력 비트들은 모든 논리 게이트들을 통과

출력 선택 신호들에 의하여 멀티플렉서의 네 입력들 중의 하나를 출력

N-비트 논리 연산장치

N-비트 데이터들을 위한 논리 연산장치

기본 논리 모듈들을 병렬로 접속

4-비트 논리 연산장치

AND 연산 / OR 연산

AND 연산 : 두 데이터 단어들의 대응되는 비트들 간에 AND 연산을 수행

A = 1 0 1 1 0 1 0 1

B = 0 0 1 1 1 0 1 1

-------------------

0 0 1 1 0 0 0 1 (연산 결과)

OR 연산 : 두 데이터 단어들의 대응되는 비트들 간에 OR 연산을 수행

A = 1 0 0 1 0 1 0 1

B = 0 0 1 1 1 0 1 1

-------------------

1 0 1 1 1 1 1 1 (연산 결과)

XOR 연산 / NOT 연산

XOR 연산 : 두 데이터 단어들의 대응되는 비트들 간에 exclusive-OR 연산을 수행

A = 1 0 0 1 0 1 0 1

B = 0 0 1 1 1 0 1 1

-------------------

1 0 1 0 1 1 1 0 (연산 결과)

NOT 연산 : 데이터 단어의 모든 비트들을 반전(invert)

A = 1 0 0 1 0 1 0 1 (연산 전)

-------------------------------

0 1 1 0 1 0 1 0 (연산 후)

선택적-세트 연산 / 선택적-보수 연산

선택적-세트(selective-set) 연산 : B 레지스터의 비트들 중에서 1로 세트된 비트들과 같은 위치에 있는 A 레지스터의 비트들을 1로 세트 <XOR 연산 이용>

A = 1 0 0 1 0 0 1 0 (연산 전)

B = 0 0 0 0 1 1 1 1

-------------------

A = 1 0 0 1 1 1 1 1 (연산 후)

선택적-보수(selective-complement) 연산 : B 레지스터의 비트들 중에서 1로 세트된 비트들에 대응되는 A 레지스터의 비트들을 보수로 변환 <XOR 연산 이용>

A = 1 0 0 1 0 1 0 1 (연산 전)

B = 0 0 0 0 1 1 1 1

-------------------

A = 1 0 0 1 1 0 1 0 (연산 후)

마스크 연산

마스크(mask) 연산 : B 레지스터의 비트들 중에서 값이 0인 비트들과 같은 위치에 있는 A 레지스터의 비트들을 0으로 바꾸는(clear하는) 연산 <AND 연산 이용>

용도 : 단어내의 원하는 비트들을 선택적으로 clear하는 데 사용

[예]

A = 1 1 0 1 0 1 0 1 (연산 전)

B = 0 0 0 0 1 1 1 1

-------------------

A = 0 0 0 0 0 1 0 1 (연산 후)

삽입 연산

삽입(insert) 연산 : 새로운 비트 값들을 데이터 단어내의 특정 위치에 삽입

방법 : ① 삽입할 비트 위치들에 대하여 마스크(AND) 연산 수행 ② 새로이 삽입할 비트들과 OR 연산을 수행

A = 1 0 0 1 0 1 0 1

B = 0 0 0 0 1 1 1 1 마스크 (AND 연산)

-------------------

A = 0 0 0 0 0 1 0 1 첫 단계 결과

B = 1 1 1 0 0 0 0 0 삽입 (OR 연산)

-------------------

A = 1 1 1 0 0 1 0 1 최종(삽입) 결과

비교 연산

비교(compare) 연산

A와 B 레지스터의 내용을 비교  exclusive-OR 연산

만약 대응되는 비트들의 값이 같으면, A 레지스터의 해당 비트를 0 세트

만약 서로 다르면, A 레지스터의 해당 비트를 1 세트

모든 비트들이 같으면, Z 플래그를 1 세트

A = 1 1 0 1 0 1 0 1

B = 1 0 0 1 0 1 1 0

-------------------

A = 0 1 0 0 0 0 1 1 (연산 결과)

'It' 카테고리의 다른 글

Spring MVC 5-2 Spring MVC 개요  (0) 2023.03.08
Spring MVC 5-3 Spring MVC 적용하기  (0) 2023.03.07
쉬프트(shift) 연산  (0) 2023.03.05
제어 유니트의 기능  (0) 2023.03.04
오라클 열삭제  (0) 2023.03.03
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함