관리 메뉴

지식잡식

전자계산기 구조 계산 문제 본문

IT 이론/컴퓨터구조

전자계산기 구조 계산 문제

아이들링 2016.10.11 20:30

명령 사이클 시간
1클록 = 1머신 스테이트
머신 사이클 = n머신 스테이트
명령 사이클 = n머신 사이클

Q. 하나의 명령 사이클을 실행하는데 2개의 머신 사이클이 필요하고 각각 머신 사이클은 5개의 머신 스테이트로 구성되어 있고 CPU 클록 주파수는 10MHz일때 하나의 명령 사이클을 실행하는데 걸리는 시간은?

2×5x(1/10,000,000) = 1/1,000,000
= 1µs

인스트럭션의 성능
수행시간 / (페치시간 + 준비시간)

Q. 인스트럭션 수행 시간이 10ns 이고, 인스트럭션 페치 시간이 5ns, 인스트럭션 준비 시간이 3ns라면 인스트럭션의 성능은?

10 / (5+3) = 1.25

버스의 대역폭
버스 클록(Hz) × 버스의 폭(bit)

Q. 버스 클록이 2.5GHz이고, 데이터 버스의 폭이 8비트인 버스의 대역폭은?

2.5GHz x 8bit(1byte) = 2.5GByte/s

캐시 메모리 접근 시간
평균접근시간 = 캐시 hit 비율 x 캐시 접근 시간 + 캐시 miss 비율 x 주기억장치 접근 시간

Q. 주기억장치 접근 시간이 200ns, 캐시 적중들이 0.9, 평균 접근 시간이 30ns 일 때 캐시 메모리 접근 시간은?

200ns × 0.1 + ? × 0.9 = 30ns
? = 10ns

MBR, MAR, PC의 필요 용량
MBR(Memory Buffer Register)에는 하나의 워드가 저장될 공간이 있어야 하고
MAR(Memory Address Register)와 PC(Program Counter)에는 워드의 개수가 저장될 공간이 있어야 한다.

Q. 한 단어가 25bit 로 구성되어 있고 총 32,768개의 단어를 가진 기억 장치가 있다. 이 기억장치를 사용하는 컴퓨터 시스템의MBR, MAR, PC에 필요한 각각의 bit 수는?

32,768 = 2의 15승 즉, 저 단어의 개수를 저장하기 위해선 15bit 가 필요하다.

MBR에는 단어 자체가 저장되어야 하므로 단어의 크기인 25bit
MAR과 PC에는 단어의 카운트가 저장 되어야 하므로 15bit

어드레스 핀의 개수
워드가 2의 n승개라면 어드레스 핀은 n개

Q. 데이터 단위가 8 bit인 메모리에서 용량이 64KB 일 때 어드레스 핀의 개수는?

64KB = 64 × 1024 × 8bit
데이터 단위가 8bit 이므로 ÷8bit을 하면 워드의 수는 64 × 1024개

64 x 1024 = 2의 6승 × 2의 10승 = 2의 16승
어드레스 핀의 개수는 16개

속도 향상지수(Speed-up factor)
향상된 속도 / 이전 속도

Symmentric Multiprocessing이니 프로세서가 몇 개에서 몇개로 늘어났다느니 하는 건 다 훼이크다. 결국 단순 시간만 계산하면 된다.

Q. 응용프로그램이 단일 프로세서에서 10초가 소요되었다. 같은 응용 프로그램이 4개의 프로세서로 구성된 SMP 시스템에서 실행하여 5초가 소요되었다면 속도 향상 지수는?

10 ÷ 5 = 2

제어 기억장치의 최대 용량
제어 기억장치의 용량 = 메모리 용량 = 워드의 개수 × 워드의 크기
어드레스 필드의 크기 = 워드의 크기 - (연산필드 + 플래그의 크기)
워드의 개수 = 2의 (어드레스 필드)승

워드 = 명령어
명령어 = 연산자부(op-code, flag) + 주소부(operand)

Q. 어떤 제어 기억장치의 단어 길이가 32비트, 마이크로 명령이 형식의 연산필드는 12비트, 조건을 결정하는 플래그의 수는 4개일 때, 제어 기억장치의 최대 용량은 얼마인가?

단어의 길이가 32비트 이므로 연산자부와 주소부를 합친 게 32비트이다.
연산 필드가 12비트이고 별도의 플래그가 4개라고 명시되어 있으므로 연산자부에 저장될 플래그 저장 공간 2비트도 추가 해야 한다.
순수한 주소부의 크기는 32 - (12 + 2) = 18비트
결국 주소부의 크기가 2의 18승이므로 워드의 개수도 2의 18승개
메모리 용량은 (워드의 개수 × 워드의 크기)이므로, 32 × 2의 18승 = 2의 23승
1MB = 2의 10승(1024) × 2의 10승(1024) × 2의 3승(byte)
답은 2의 23승 = 1MB
0 Comments
댓글쓰기 폼