[공지]
중간고사 수요일 1시 30분 ~ 2시 50분
금요일 문제 풀이 영상 올라감. -자정까지
문제 유형
- 객관식 단답형 주관식
- 책의 내용 일부와 연습문제 변형
- 성능평가(계산), cpu-메모리 데이터 이동
- 30~ 40문제
데이터는 메모리와 밀접한 관련이 있다. 메모리 속성, 냐부 데이터 정렬, 메모리에 데이터 저장하는 순선인 엔디언 방식.
워드: 명령어와 데이터를 포함할 수 있는 메모리 구성 요소. 대부분 32bits.
주소: 고유 번호를 사용해서 명령어나 데이터를 참조.
-> 번호를 매기기.
메모리는 그릇의 집합, 데이터는 그릇 속 내용물, 주소는 그릇에 표시된 번호
사과 16개 포장하기. 낱개 포장하면 사과에 번호를 0~15까지 매길 수 있다. 번호를 표시하는데에 4bits가 필요함.
사과 16개를 8개씩 포장. 8개 단위로 박스 포장하면 0과 1로 숫자를 매길 수 있다. 번호를 표시하는데에 1bit가 필요함.
주소 지정 단위: 그릇의 크기에 해당. 정보의 최소단위가 주소 해상도이다.
주소 해상도: 낱개 포장은 1, 8개씩 포장은 8.
요즘은 비트 단위의 주소 해상도를 사용하지 않음.
8비트, 16비트 또는 그의 배수 단위로 주소 해상도를 사용한다.
64개의 사과
- 1bit, 64묶음 -> 2^6 -> 6비트
- 8bits, 8묶음 -> 2^3 -> 3비트
- 16bits, 4묶음 -> 2^2-> 2비트
일반적으로 메모리의 주소 지정 단위는 8비트로 구성된 바이트를 사용한다.
메모리의 기본 단위에 대한 최대 개수를 결정한다.
명령어와 데이터를 동일한 주소 해상도를 사용한다.
: 명령어와 데이터를 강제로 정렬하는 방식
-> 실행 속도를 높이기 위함.(성능)
방식
|바이트||바이트||바이트||바이트|
| 하프워드 || 하프워드 |
| 워드 |
엔디언 방식
: 바이트를 배열하는 방법
바이트를 메모리 워드 내부에서 배열하는 방식으로 빅 엔디언 방식과 리틀 엔디언 방식.
자리수가 큰 것이 큰 단위이다.
빅 엔디언 방식
: 왼쪽이 자리수가 큰 것이 위치한다.
: 각 워드의 최대 유효 비트가 포함된 바이트가 워드 주소가 된다.
** 최대 유효 비트=최상위 비트=비트열 중 가장 왼쪽에 있는 자리의 비트
리틀 엔디언 방식
: 오른쪽이 자리수가 큰 것이 위치한다.
: 각 워드의 최소 유효 비트가 포함된 바이트의 주소가 워드 주소가 된다.
시험 나온다
0x1234
1 2
3 4
-> 빅 엔디언 방식 배열 방법
| 3 4 || 1 2 | : 바이트(4비트)
-> 리틀 엔디언 방식 배열 방법
0x12345678
| 1 2 || 3 4 || 5 6 || 7 8 | : 바이트(4비트)
-> 빅 엔디언 방식 배열 방법
| 7 8 || 5 6 || 3 4 || 1 2 | : 바이트(4비트)
-> 리틀 엔디언 방식 배열 방법
| 0 0 |: 바이트(4비트)
: 컴퓨터에서 연산을 수행하려면 데이터의 위치를 알아야 한다. 명령어는 피연산자 필드를 사용하여 데이터의 위치에 대한 정보를 제공하다. 주소 지정 방식은 명령어의 일부인 피연산자 필드를 사용하여 데이터의 유효 주소를 나타내는 방식이다.
0-단계 주소 지정
: 데이터의 유효 주소를 명시하지 않음, 데이터를 명령어에 넣기 때문(즉치 주소 지정) 혹은 누산기나 계수기처럼 주소가 정해진 기억장치에 데이터가 저장되기 때문(묵시 주소 지정)
1-단계 주소 지정
ea = r
ea = a
2-단계 주소 지정
ea = Ref[r]
ea = M[a]
ea = PC + a
복잡도에 다른 명령어 집합