본문 바로가기
학교 수업/컴퓨터구조

[컴퓨터구조] 연습문제 10장, 11장 레포트

by five-sun 2021. 12. 22.
728x90

10장 연습문제

 

1번 다음 중 1K * 8 RAM에 대한 설명으로 옳은 것은?

주소버스 = 8, 데이터 버스 = 10

주소버스 = 3, 데이터 버스 = 10

주소버스 = 10, 데이터 버스 = 8

주소버스 = 10, 데이터 버스 = 3

주소버스 = 1K, 데이터 버스 = 8

 

:

풀이: 주소버스는 최대 메모리 용량, 데이터버스는 워드의 크기 = 이동하는 데이터의 크기를 뜻하는데 2^n * m RAM인 경우는 n개의 주소버스 m개의 데이터버스를 가진다. 다음과 같은 경우는 2^10 * 8 RAM이므로 10개의 주소버스, 8개의 데이터버스를 갖는다.

 

5번 명령어가 6비트 연산 부호와 13비트의 주소 필드 2개로 구성되어 있다. 이와 같은 명령어를 가진 컴퓨터가 사용할 수 있는 최대 메모리 용량은?

8K

8M

64K

64M

 

:

풀이: 다음과 같은 명령어를 가진 컴퓨터가 사용할 수 있는 최대 메모리 용량은 주소버스가 결정하는데 이는 주소 필드 비트와 연관이 있다. 따라서 13비트의 주소 필드이니 2^13 = 8K가 사용할 수 있는 최대 메모리 용량이다.

 

64K * 16 RAM이 있을 때 MBR은 몇 비트의 레지스터인가?

12

16

32

4,096

 

:

풀이: MBR은 데이터를 보관하는 버퍼이므로 데이터버스의 비트 수와 연관있다. 따라서 4K * 16 RAM 일땐 16비트 레지스터가 필요하다.

 

9번 적재 명령어의 실행 과정에 대한 설명을 바른 순서로 나열한 것은?

 

CPUMAR을 사용하여 주소버스를 통해 메모리로 주소를 보낸다.

메모리의 읽기 연산을 위해 R/W1을인가한다.

메모리는 데이터를 데이터버스에 올려 MBR로 보낸다.

CPUMBR의 내용을 레지스터 파일에 적재한다.

 

 

:

풀이: 적재 명령은 읽기 연산을 실행한다. CPU는 계산한 주소 값을 주소버스에 연결된 MAR에 저장하고, 주소버스를 통해 MAR의 내용을 메모리에 보낸다. -> CPU는 메모리의 읽기 연산을 위해 R/W1을 인가한다. -> 메모리는 주소 값을 데이터버스에 올려 MBR로 보낸다. -> CPU는 데이터 버스에 연결된 MBR의 내용을 레지스터 파일의 적재한다.

 

10번 다음 중 메모리 계층 구조에서 최상단에 있는 메모리는?

레지스터

캐시 메모리

메모리

하드디스크

 

:

풀이: 일반적인 메모리 계층 구조는 피라미드 구조로 나타났을 경우 레지스터 -> 캐시메모리 -> 메인 메모리 -> 보조기억장치를 상단에서 하단으로 정리한다. 상단에 위치할수록 속도가 빠르고 가격이 비싼 메모리이고 하단에 위치할수록 용량이 큰 메모리이다.

 

12번 전원을 차단할 경우 저장된 데이터의 증발 유무에 대한 메모리의 속성을 무엇이라고 하는가?

 

: 휘발성

풀이: 전원을 차단할 경우 저장된 데이터의 증발 유무에 대한 속성으로, 데이터가 사라지는 휘발성과 데이터가 보존되는 비휘발성이 있다. RAM은 대표적인 휘발성 저장매체로 전원이 차단되면 데이터가 소멸되며, ROM은 대표적인 비휘발성 저장매체이다.

 

15번 모든 메모리 장소에 동일한 빈도로 접근하지 않고 일부 영역의 접근 횟수가 높은 것을 무엇이라고 하는가?

 

: 지역성

풀이: 프로그램의 동적인 특성을 살펴보면 메모리 참조 패턴은 무작위가 아니라 어느 정도 예측할 수 있다. 프로그램은 사용할 수 있는 주소 공간의 일부에서 일정한 시간 동안 그룹 형태로 참조되는 경향이 있다. 일반적으로 프로그램의 10%미만이 실행 시간의 90%이상을 차지한다고 알려져 있는데, 이와 같은 경향을 지역성 원리 또는 참조의 지역성이라고 한다.

 

10장 요약 읽고 생각정리하기

 

2

메모리 버퍼 레지스터 = MBR: 메모리와 데이터버스의 인터페이스 역할

메모리 주소 레지스터 = MAR: 메모리와 주소버스의 인터페이스 역할

주소버스: MAR에서 메모리를 연결하는 단반향 버스

데이터버스: 메모리 버퍼 레지스터와 메모리를 연결하는 양방향 버스

CPU = 중앙처리장치

 

3

메모리 접근 시간: 데이터 요청부터 데이터 도착까지의 시간

메모리 사이클 시간: 연속된 2개의 데이터를 읽거나 쓰기 위한 요청 시간 사이의 간격

책의 비유처럼 용돈으로 생각한다면 접근 시간과 사이클 시간의 차이를 이해하는데 큰 도움이 되는 것 같다.

 

4

DRAMSRAM은 컴퓨터 활용 자격증 공부를 할 당시 접해본 메모리들이다.

DRAMSRAM은 서로 반대되는 특징을 갖고 있다고 생각한다.

무엇이 더 좋다고 애기하기는 힘들 거 같다. 각자의 용도가 존재하므로.

DRAM의 특징

속도가 느리다

비트 당 가격이 저렴하다

밀도가 높다

전력소모가 적다

재충전이 필요하다.

주로 메인 메모리에 사용된다.

SRAM의 특징

속도가 빠르다

비트 당 가격이 비싸다

밀도가 낮다

전력소모가 많다

재충전이 필요없다.

주로 캐시메모리에 사용된다.

 

5

메모리는 일반적으로 메모리 셀의 2차원 배열로 구성된다. N비트의 주소와 M비트 데이터를 가진 메모리 배열은 행 2^N, M개의 2^N * M DRAM이라고 한다.

N은 최대 메모리 용량과 연관이 있고 M은 워드의 크기와 연관 있다.

행 주소를 활성화하는 RAS신호와 열 주소를 활성화하는 CAS신호가 존재한다.

 

6

DRAMSRAM과 다르게 재충전이 필요하다. DRAM은 축전기의 충전유무에 따라 1비트 값을 나타낸다고 한다. 축전기에 저장된 값은 시간이 지남에 따라 누전되어 점차 사라지므로 DRAM 셀에 저장된 값을 주기적으로 재충전하는 회로가 필요하다.

 

11장 연습문제

 

1번 블록 사상 방식 중에서 가장 구현하기 쉬운 것은?

직접 사상

2-방향 집합 연관 사상

4-방향 집합 연관 사상

완전 연관 사상

 

:

풀이: 직접 사상은 태그의 길이가 짧고, CPU 태그를 하나의 캐시 태그와 비교하기 때문에 하나의 비교기만 있으면 된다. 또한 메모리 블록이 사상될 캐시 위치가 선태의 여지없이 하나의 블록이 정해져 있기 때문에 교체 방식이 필요 없다. 따라서 하드웨어 구현이 단순하고 접근 속도가 빠르다. 그러나 적중률이 나쁜데, 특히 동일한 캐시 블록에 사상되는 다른 메모리 블록을 번갈아가면서 참조할 때 캐시 블록에 심각한 충돌이 발생하여 적중률이 급격히 떨어진다. 그래서 대용량 캐시 메모리일 경우에만 주로 직접 사상 방식을 사용한다.

 

3번 다음 중 직접 사상 캐시가 사용할 수 있는 블록 교체 방식은?

LRU 방식

무작위 방식

FIFO 방식

사용할 수 있는 블록 교체 방식이 없다.

 

:

풀이: 메모리 블록이 사상될 캐시 블록은 직접 사상의 경우 한 곳으로 정해져 있기 때문에 선택의 여지가 없다.

 

4번 태그는 다르지만 동일한 인덱스를 가진 2개 이상의 워드를 반복적으로 참조한다면 성능이 크게 떨어지는 캐시 메모리의 블록 사상 방식은?

직접 사상

2-방향 집합 연관 사상

4-방향 집합 연관 사상

완전 연관 사상

 

:

풀이: 직접 사상은 한 인덱스에 캐시 공간이 하나이므로 동일한 인덱스를 가진 2개 이상의 워드를 반복 할 경우 공간을 계속 번갈아가면서 데이터를 교체해야하므로 성능이 크게 떨어진다.

 

6번 다음 중 캐시 연관도의 증가와 관계없는 것은?

적중률이 좋아진다.

캐시의 구성이 복잡해진다.

적중 시간이 짧아진다.

비용이 높아진다.

 

:

풀이: 캐시 연관도가 증가하면 적중률이 높아지는데, 특히 완전 연관 사상의 적중률이 가장 높다.

 

설계요인 크게 하거나 높일 경우 적게 하거나 낮출 경우
블록 크기 적중률 상승, 실패 페널티 증가, 태그 메모리 부담 감소 적중률 감소, 실패 페널티 감소, 태그 메모리 부담 상승
하드웨어 부담 상승, 적중 시간 증가 하드웨어 부담 감소, 용량 실패와 충돌 실패 증가
캐시 용량
적중률 상승, 적중 시간 증가 적중률 감소, 적중 시간 감소
캐시 연관도

 

8번 다음 중 블록 크기를 작게 할 경우의 효과와 관계 없는 것은?

적중률 감소

실패 페널티 감소

태그 메모리 부담 감소

적중 시간 감소

 

:

풀이: 블록 크기를 작게 하면 메모리 트래픽이 줄어들고 실패 페널티가 감소하지만 낮은 공간적 지역성으로 인해 적중률이 낮아지고, 특히 강제 실패가 증가한다. 또한 블록의 개수가 많아져서 태그 메모리에 대한 부담도 커진다. 따라서 캐시 용량이 작은 시스템의 경우에는 작은 블록이 적절하다.

설계요인 크게 하거나 높일 경우 적게 하거나 낮출 경우
블록 크기 적중률 상승, 실패 페널티 증가, 태그 메모리 부담 감소 적중률 감소, 실패 페널티 감소, 태그 메모리 부담 상승
하드웨어 부담 상승, 적중 시간 증가 하드웨어 부담 감소, 용량 실패와 충돌 실패 증가
캐시 용량
적중률 상승, 적중 시간 증가 적중률 감소, 적중 시간 감소
캐시 연관도

 

10"즉시 쓰기 블록 갱신 방식을 사용하면 메모리의 접근 횟수를 최소화할 수 있다." 이는 맞는가, 틀린가?

 

: 틀리다.

풀이: 캐시 블록에 쓰기 연산을 수행할 때 메모리에도 수정 내용을 전달하여 쓰기 연산을 함께 수행하는 것으로 즉시 복사 방식이라고도 한다. 따라서 메모리는 항상 캐시의 모든 블록에 대한 유효 복사본을 갖는다. 이는 다수의 캐시를 가진 다중 프로세서가 시스템이라면 데이터 일관성 유지 문제를 단순화하지만, 쓰기 연산을 수행할 때마다 메모리를 수정해야 하므로 메모리 트래픽이 커지고 속도도 느려진다.

 

11번 메모리 접근 시간과 캐시 접근 시간이 각각 100ns, 25ns,이고 적중률이 99%라고 하자. 캐시가 있을 경우 시스템의 성능이 얼마나 향상되는가?

 

: 3.84

풀이: 유효접근시간 = 캐시 메모리의 접근 시간 + ( 1 적중률 ) * 메모리 접근 시간 -> 25ns + 100ns * 0,01 = 26ns

캐시가 없는 경우 접근 시간엔 메모리의 접근 시간과 같다.

100/26 = 3.84615배 향상된다.

 

 
728x90