minhui study
week 2(1) - 컴퓨터 정보의 표현 본문
[ 1. 컴퓨터 정보의 표현 ]
- bit
: 컴퓨터 정보 표현의 기초 단위로 2진법에서 데이터를 표현하는 단위 0 or 1
- byte
: 비트들로 구성된 정보 표현 단위로 8bit = 1byte
- word
: 바이트들로 구성된 정보 표현 단위로 1word = 2byte or 4byte
- 10진법
: 인간이 사용하는 수로 0,1,2,3,4,5,6,7,8,9를 이용하여 수를 표현한다.
- 2진법
: 컴퓨터에서 사용하는 수의 체계로 0,1를 이용하여 수를 표현한다.
- 16진법
: 0~9, A, B, C, D, E, F 를 이용하여 수를 표현한다.
[ 2. 2진 정수 표현 ]
(1) 부호 없는 2진 정수 표현
- 10진수를 부호가 없는 2진수로 변환
-> 10진수 값을 2로 연속해서 나누어서 획득되는 나머지값을 이용해서 부호없는 2진수로
변환한다.
-> 왼쪽은 10진수 53을 부호없는 2진수로 변환하는 과정 ( 110101 )
- 부호가 없는 2진수를 10진수로 변환
-> 110101 = 1 x 2^5 + 1 x 2^4 + 1 x 2^2 x 1 x 2^0 = 53
(2) 부호 있는 2진 정수 표현
- 최상위 비트 : 부호 비트 ( 0:양수, 1:음수 )
- 부호화 크기 표현
: 최상위 비트 = 부호 비트
: 나머지 n-1개의 비트들 = 수의 절대 크기
- 1의 보수 표현
: 부호 없는 2진 정수의 모든 비트를 반전시킨다. ( 0 -> 1, 1 -> 0 )
- 2의 보수 표현
: 1의 보수 결과값에 1을 더함
- 10진수를 2의 보수로 표현된 2진수로 변환하는 과정
① 10진수를 부호가 없는 2진수로 변환
② 부호 비트를 삽입
③ 1의 보수를 구함
④ 2의 보수를 구함
(3) 2진수의 표현 범위
-> n비트 데이터의 표현할 수 있는 범위
-> 부호화 크기 표현 : -(2^7 -1) ~ +(2^7-1)
-> 1의 보수 : -(2^7 -1) ~ +(2^7-1)
-> 2의 보수 : -2^7 ~ +(2^7-1)
[ 3. 논리 연산 ]
- 기본 논리 연산
-> AND 연산 : 모든 입력값이 모두 1인 경우에만 결과값이 1이 되고, 그 외의 경우는 결과값이 0이 됨
-> OR 연산 : 모든 입력값 중 하나만 1이면 결과값이 1이 된다.
-> Exclusive-OR (XOR) 연산 : 모든 입력값이 모두 동일한 경우에는 결과값이 0이 되고 그 이외의 경우에는 결과값이 1이 됨
-> NOT 연산 : 주어진 입력값의 반대값이 결과값이 됨
입력 X |
입력 Y |
X AND Y |
X OR Y |
X XOR Y |
NOT X |
NOT Y |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
- 응용 논리 연산
-> Selective-set(선택적 세트) 연산 : 선택된 특정 비트를 1로 세트시키는 연산
-> Selective-complement(선택적 보수) 연산 : 선택된 특정 비트를 1의 보수로 변경하는 연산
-> Mask(마스크) 연산 : 선택된 특정 비트들을 0으로 만드는 연산
-> Insert(삽입) 연산 : 입력 값 내의 특정 위치에 새로운 비트값들을 삽입하는 연산
-> Compare(비교) 연산 : 두 입력값을 비교하는 연산
-> Circular shift (순환 이동)
: 최상위 혹은 최하위에 있는 비트가 반대편 끝에 있는 비트 위치로 이동해서 비트가 회전하는 이동
- 순환 좌측 이동
- 순환 우측 이동
-> Arithmetic shift(산술적 이동) : 부호 비트는 유지하고 수의 크기를 나타내는 비트들만 이동
- 산술적 좌측 이동
D4 (불변), D3 ← D2, D2 ← D1, D1 ← 0
- 산술적 우측 이동
D4 (불변), D4 → D3 , D3 → D2, D2 → D1
< 출처 >
강의노트, 디지털논리와 컴퓨터 설계, Harris et al. (조영완 외 번역), 사이텍미디어, 2007, 컴퓨터 구조와 원리 (비주얼 컴퓨터 아키텍처), 신종홍 저, 한빛미디어, 2011
'컴퓨터 구조 > Swing study' 카테고리의 다른 글
week4 - 명령어 분류와 형식 (0) | 2020.05.26 |
---|---|
week3(2) - 메모리 구조와 레지스터 종류 (0) | 2020.05.20 |
week3(1) - 명령어를 효과적으로 실행하기 위한 기법 (0) | 2020.05.19 |
week 2(2) - 명령어 동작 과정 (0) | 2020.04.13 |
week 1 - 중앙처리장치(CPU) 구조 및 명령어 동작 과정 (0) | 2020.04.08 |