Worth spreading

Application of Logical microoperation 본문

Computer science/Computer System Architecture(컴퓨터구조)

Application of Logical microoperation

annual 2017. 4. 1. 20:01


 Logical micro operation 


논리 마이크로 연산은 레지스터에 저장된 각 비트나 한 워드(word)의 일부분을 처리하는 데 매우 유용하다. 즉, 비트 내의 특정 값을 원하는 값으로 바꿔주는 연산이 가능하다.


다음의 예는 한 레지스터 A의 비트가 레지스터 B와의 논리 마이크로 연산에 의해 원하는 동작을 실행하는 것을 보여준다


A : 1010

B : 1100


1. selective-set

 selective-set 연산은 이름 그대로 비트 내의 특정 값을 1로 바꾸고 싶을 때 쓰는 연산이다


 1010 A (before)

 1100 B

------

 1110 A (after)


이때  연산 결과는 A의 비트와 B의 비트의 OR 연산 결과와 같게 되므로 결국 OR 마이크로 연산은 한 레지스터의 비트의 일부를 선택하는 데 사용될 수 있다.


2. selective-complement

 selective-complement 연산은 B의 1에 대응되는 부분의 A의 비트를 보수로 만드는 기능을 한다. 


 1010 A (before)

 1100 B

------

 0101 A (after)


 이것은 exclusive-OR 연산의 결과와 같으므로 exclusive-OR 마이크로 연산은 레지스터내의 비트 중 일부분을 보수화시킬 때 사용될 수 있다.


3. selective-clear

 selective-clear 연산은 B의 1에 대응되는 A의 비트들을 클리어시키는(0으로 만드는) 연산으로 논리 마이크로 연산 A <- AㅅB' 와 같음을 알 수 있다.


 1010 A (before)

 1100 B

-------

 0010 A (after)


 4. mask

 mask 연산은  B의 0에 대응되는 A의 비트들을 클리어시키는 연산으로 위의 셀렉티브 클리어 연산과 유사하며 and 마이크로 연산과 같다.


 1010 A (before)

 1100 B

------

 1000 A (after)

 

5. insert

 insert 연산은 기존 비트에 새로운 값을 삽입하는 연산으로 우선 원하는 위치 비트를 마스크시킨 후 원하는 값에 OR 시킨다

 0110 1010  A (before) -mask 연산진행

 0000 1111  B

-----------

 0000 1010 A (after masking)


 0000 1010 A (after masking)  - insert 연산 진행

 1001 0000 B (masking)

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

 1001 1010 A(after insertion


6. Clear

 clear 연산은 A와 B를 비교하여 두 개의 워드가 일치하면 A를 0으로 세트하는 연산으로 exclusive-OR 연산과 같다.


1010 A

1010 B

------

0000


An extract from 'Computer System Architecture, Mano, 3rd ed.'

Comments