목차
정보 표현 단위
1. 비트(Bit)
-컴퓨터에서 정보를 표현하는 최소 단위
-0 또는 1로 표현
2. 바이트(Byte)
-8bit=1Byte
-1바이트는 십진수로 0~255 범위의 값을 가질 수 있음
3. 워드 (Word)
-메모리에 저장되는 정보의 기본 단위
-1word=2byte or 4byte => 프로세서마다 워드 단위가 다름
2진수 정수에서 음수를 표현하는 방법
- 부호화 크기 표현
-최상위 비트를 부호 비트로 사용하는 방식이다.
-최상위 비트가 0이면 양수, 1이면 음수
-만약 n비트로 구성된 2진수라면 최상위 비트는 부호비트, 나머지 (n-1)비트는 수의 절댓값을 나타낸다. - 1의 보수
-n비트의 2진수에서 절댓값을 나타내는 (n-1)비트를 모두 반전한다. (1은 0으로 0은 1로)
-최상위 비트는 부호를 나타냄(만약 음수면 1, 양수면 0) - 2의 보수
-1의 보수의 결과값에 1을 더하는 방식
-실제로 컴퓨터에서 사용하는 방식
2진수의 논리 연산
1. 기본 논리 연산
-AND 연산 : 모든 입력값이 1일때만 결과값이 1이고 나머지는 0이다.
-OR 연산 : 입력값에서 1이 하나라도 있으면 결과값이 1이고 모두 0일때 결과값이 0이다.
-XOR 연산 : 입력값이 모두 동일한 경우에만 결과값이 1이고 나머지는 결과값이 0이다.
-NOT 연산 : 입력값의 반대가 결과값이다.
2. 응용 논리 연산
1)선택적 세트(Selective-set) 연산
-선택된 특정 비트를 1로 세트시키는 연산
-1로 세트시킬 데이터와 특정 비트의 위치에 1로 세트된 데이터를 OR연산함
2)선택적 보수(Selective-complement) 연산
-선택된 특정 비트를 반전하는 연산
-반전이 필요한 데이터와 반전시킬 비트의 위치에 1로 세트된 데이터를 XOR연산함
3)마스크(Mask) 연산
-특정 비트를 0으로 만드는 연산
-0으로 만들 데이터와 반전시킬 비트의 위치에 0으로 세트된 데이터를 AND연산함
4)삽입(Insert) 연산
-특정 위치에 새로운 비트값을 삽입하는 연산
-삽입 연산을 수행하려면 그 전에 마스크 연산이 수행되어야 함 (마스크 연산은 삽입할 위치의 비트들에 해준다. 값을 0으로 리셋해야 새로운 비트값을 삽입할 수 있기 때문)
-삽입할 비트와 마스크 연산의 결과 값을 OR연산함
5)비교(Compare) 연산
-두 입력값을 비교하는 연산
-XOR연산을 이용해 비교함
6)순환 이동(Circular shift)
-최상위 혹은 최하위에 있는 비트가 반대편 끝으로 이동해서 비트가 순환한다.
-순환 좌측 이동, 순환 우측 이동
7)산술적 이동(Arithmetic shift)
-부호 비트인 최상위 비트는 이동하지 않고 수의 크기를 나타내는 비트들만 이동한다.
문제
1. -11을 2의 보수 기반 8bit열로 나타내세요.
2. 다음 중 응용 논리 연산을 모두 고르세요.
① 선택적 보수 연산
② XOR 연산
③ 삽입 연산
④ 산술적 이동
3. 삽입 연산 전에 수행해야 할 연산은?
4. A=1100 0010 이고 마스크 연산을 이용해 상위 4비트를 0으로 만들려고 한다. 이때, A와 마스크 연산을 수행할 B의 비트열은?
5. 메모리에 저장되는 정보의 기본 단위는?
답
1. 1111 0101
=>11의 절댓값을 8bit로 나타내면 0000 1011이다. 이 수를 1의 보수로 만들면 1111 0100인데 여기에 1을 더해야 2의 보수가 되기 때문에 답은 1111 0101이다.
2. ①, ③, ④
=>선택적 보수 연산, 삽입 연산, 산술적 이동은 응용 논리 연산이고,
XOR 연산은 기본 논리 연산이다.
3. 마스크 연산
=> 삽입 연산 전에 마스크 연산을 통해 삽입할 위치의 비트들을 0으로 리셋하는 과정이 필요하다.
4. 0000 1111
=> 상위 4비트를 0으로 만들어야 하기 때문에 B 비트열의 상위 4비트가 0이고 하위 4비트는 건드리지 않기 위해 1111로 이루어져야 한다.
5. 워드
=> 메모리에 저장되는 정보의 기본 단위는 워드이다. 워드의 단위는 프로세서마다 다르다.
'Study > 컴퓨터구조' 카테고리의 다른 글
[4] 분기 명령어와 오퍼랜드 개수에 따른 명령어 형식 (3) | 2020.05.30 |
---|---|
[3-2] 메모리 구조와 레지스터 종류 (0) | 2020.05.23 |
[3-1] 컴퓨터 명령어 실행 기법 (0) | 2020.05.22 |
[2-2] 컴퓨터의 명령어 (0) | 2020.04.17 |
[1주차] 컴퓨터의 기본 구조와 CPU (0) | 2020.04.10 |