• 전문가 요청 쿠폰 이벤트
kxikxdk
Bronze개인인증
팔로워2 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 7
검색어 입력폼
  • 컴퓨터 구조론 5판 7장 연습문제 평가A+최고예요
    7.1 진동수는 물체가 단위시간 동안 진동하는 횟수를 의미하며 1Hz는 1초동안 물체가 1번 진동하는 것을 의미한다. 따라서, 시스템 버스의 대역폭 = 버스 클록 × 데이터 버스의 폭 = 300MHz × 64bit = 300MHz × 8Byte = 2.4GByte/sec7.2 동기식 버스는 인터페이스 회로가 간단하다.비동기식 버스는 각 버스 동작이 완료되는 즉시, 연관된 다음 동작이 발생되므로 동기식 버스에서와 같이 낭비되는 시간이 없다.7.3 병렬 중재 방식은 각 버스 마스터들이 독립적인 버스 요구 신호와 버스 승인 신호를 가지고 있어 직렬 중재 방식보다 버스 마스터들이 버스를 균등하게 사용할 수 있도록 해준다.직렬 중재 방식은 요구 및 승인 신호 선이 각각 한 개씩만 있어 하드웨어 구현이 간단하다.7.4 중앙집중식 중재 방식은 버스 중재기가 한 개만 존재하기 때문에 하드웨어 모듈을 구현하는데 비용이 적게 든다.분산식 중재 방식은 중앙집중식 중재 방식보다 하드웨어 모듈 구현이 간단하다.7.5(1)(2)(3) BBUSY 신호가 없다면 버스 마스터 1이 사용 허가를 받아 버스 사용을 하게 되어 현재 버스를 사용 중인 버스 마스터 3과 충돌이 일어난다.7.6 첫 번째 방법은 중재 동작이 끝날 때마다 모든 마스터들의 우선순위가 한 단계씩 낮아지고 가장 우선순위가 낮았던 마스터가 최상위 우선순위를 가지도록 하는 방법이 있다. 이 방법은 모든 마스터가 버스를 균일하게 사용할 수 있으나 동일한 마스터가 버스를 한 번 더 사용하기 위해서는 모든 마스터가 버스를 사용하여 최상위 우선순위가 될 때까지 기다려야 한다.두 번째 방법은 일단 버스 사용 승인을 받은 마스터는 최하위 우선순위를 가지며 바로 다음에 위치한 마스터가 최상위 우선순위를 가지도록 하는 방법이 있다. 이 방법은 동일한 마스터가 버스를 한 번 더 사용하고자 할 때 우선순위가 더 높은 마스터가 버스를 사용을 요구하지 않으면 다시 버스를 사용할 수 있으나 빈번히 사용하지 않은 버스 마스터들은 빈번히 사용하는 버스 마스터들에 비해 기아 현상이 발생한다.따라서 버스를 빈번히 사용하는 버스 마스터가 존재하는 경우에는 모든 마스터가 버스를 사용할 때까지 기다리는 첫 번째 방법보다 두 번째 방법이 더 효율적이다.7.7(1) 분리형 I/O 방식에서는 I/O 장치들의 주소 공간이 기억장치 주소 공간과는 별도로 할당된다. 따라서 주소 버스가 12비트이므로 최대 212 = 4096개의 I/O장치들에 접속할 수 있다.(2) 기억장치-사상 I/O 방식에서는 I/O 제어기 내의 레지스터들을 기억장치 내의 기억 장소들과 동일하게 취급하고, 레지스터들의 주소도 기억장치 주소 영역의 일부분을 할당한다. 따라서 주소 버스가 12비트이므로 그 절반인 211 = 2048개의 I/O장치들에 접속할 수 있다.7.8 기억장치-사상 I/O 방식은 기억장치와 I/O 레지스터들을 액세스할 때 동일한 기계 명령어들을 사용할 수 있으나 I/O 레지스터들에 대한 주소로서 기억장치 주소 공간의 일부를 할당하기 때문에 기억장치를 위한 주소 공간이 그만큼 감소하게 된다.분리형 I/O 방식은 I/O 장치들의 주소 공간이 기억장치 주소 공간과는 별도로 할당되어 기억장치-사상 I/O 방식에 비해 기억장치의 주소 공간이 더 크지만 I/O 레지스터들을 액세스할 때는 반드시 별도의 명령어들인 I/O 전용 명령어들을 사용해야 한다.7.9(1) 신호 선이 적은 소프트웨어 폴링 방식이 하드웨어가 가장 간단한 방식이다.(2) CPU가 인터럽트를 요구한 장치를 찾을 때까지 검사 과정을 모든 제어기에 대해 차례대로 수행하는데 검사하는 순서가 I/O 장치들의 우선순위를 나타내는 소프트웨어 폴링 방식이 우선순위를 쉽게 변경할 수 있는 방식이다.(3) 각 I/O 장치가 별도의 인터럽트 선을 가지고 있기 때문에 CPU가 인터럽트를 요구한 장치를 쉽게 찾아낼 수 있는 다중-인터럽트 방식이 처리속도가 가장 빠르다.7.10 I/O 제어기의 우선순위가 정해져 있어서 우선순위가 높은 I/O 장치들이 계속해서 서비스를 요구하는 경우 우선순위가 낮은 장치들은 매우 오랫동안 기다리는 기근 현상이 발생한다.7.11 DMA 동작은 주기억장치와 I/O 제어기 사이에 데이터를 한 번에 한 개씩 전송시키는데, 그 때마다 시스템 버스를 두 번씩 사용하여 시스템 버스가 너무 많이 사용되기 때문에 전체 시스템 성능이 저하된다.7.12(1) I/O 장치들은 종류와 속도가 다양하고 제어 방법도 복잡하기 때문에, 간단한 구조를 가진 DMA 제어기로 지원하는 데는 한계가 있으며, 디스크 쓰기 혹은 읽기 동작의 경우에는 데이터 블록의 크기가 512바이트 이상이기 때문에 그 데이터들을 버퍼링 하기 위한 내부 기억장치가 필요하다.(2) I/O 장치들의 유형에 맞는 회로들이 추가되어야 하기 때문에 DMA 제어기가 더욱 복잡해진다.
    공학/기술| 2020.01.15| 3페이지| 1,000원| 조회(2,679)
    미리보기
  • 컴퓨터 구조론 5판 6장 연습문제 평가A+최고예요
    6.1 원형 평판 1개의 저장 용량 = {(트랙의 수 × 섹터의 수) × 섹터의 용량} × 2 = {(100000 × 500) × 512Byte} × 2 = 108 × 512Byte = 108 × 2-1 × 210Byte = 50GByte (210 ≒ 103)이므로 디스크 드라이브의 저장 용량 = 50GByte × 5 = 250GByte이다.6.2(1) 표면 당 저장 용량 = 표면당 트랙 수 × 트랙당 섹터 수 × 섹터당 데이터 필드의 길이 = 4800 × 200 × 512Byte = 491520000Byte = 491.52MByte(2) 탐색 시간 = 현재 트랙에서 액세스 요구한 트랙까지의 거리 × 트랙당 탐색 시간 = (4800 – 3250 + 450) × 0.0024ms = 4.8ms(3) 회전 속도가 7200rpm인 디스크는 1초에 120번을 회전한다. 따라서, 한 번 회전하는데 걸리는 시간은 1 / 120 ≒ 0.00833s = 8.33ms이다. 그리고 원하는 섹터가 정반대 편을 통과하고 있었으므로 회전지연시간 = 8.33ms / 2 ≒ 4.17ms이다.(4) 섹터의 데이터를 전송하는 데 걸리는 시간을 x라고 하면 100MByte : 1 = 512Byte : x이므로 x = 512Byte / 100MByte = 1 / (100 × 211) = 0.005ms이다.(5) 디스크 액세스 시간 = 탐색 시간 + 회전 지연시간 + 데이터 전송시간 = 4.8ms + 4.17ms + 0.005ms = 8.975ms6.3 실린더는 동일한 반경에 위치하고 있는 트랙들의 집합이다. 따라서 실린더당 저장 용량은 (디스크평판의 개수 × 2) × 트랙당 섹터 수 × 섹터당 데이터 필드의 길이 = 16 × 200 × 512Byte = (214 × 100)Byte = 1.6MByte이다.(210 ≒ 103)6.4 등각속도 방식을 사용하면 회전 속도가 일정하기 때문에 구동장치가 간단하지만, 바깥쪽 트랙이 안쪽 트랙보다 더 길지만 저장될 수 있는 데이터 비트 수를 동일하게 해야 하므로 바깥쪽 트랙의 저장 밀도가 낮아져 저장 공간을 낭비하게 된다.6.5 5개의 영역의 트랙의 수 × 섹터의 수를 다 더하고 섹터의 데이터 크기를 곱하면 된다. 그러므로 디스크 표면의 저장 용량 = (2 × 9 + 2 × 11 + 3 × 12 + 4 × 14 + 4 × 16) × 0.5KByte = (18 + 22 + 36 + 56 + 64) × 0.5KByte = 98KByte6.6 MTTF = 단일 디스크의 MTTF / 배열 내 디스크들의 수 = 10000 / 20 = 500시간6.7 RAID-1조직은 데이터 디스크들에 저장된 모든 데이터들이 짝을 이루는 미러 디스크의 같은 위치에 복사된다. 따라서 결함 복구에 시간을 전혀 소모하지 않고 높은 신뢰도를 얻을 수 있다. 그러나 전체 디스크에서 사용 가능한 용량이 절반으로 줄어들기 때문에 가격이 높다..6.8 RAID-2에서 사용된 검사디스크들은 오류가 발생한 비트의 위치를 검출하기 위한 것인데, 많은 수의 검사 디스크들을 사용해야 하기 때문에 낭비가 매우 크므로 한 개의 패리티 디스크만 추가한 RAID-3조직이 제안되었다.6.9 RAID-4조직에서는 어떤 디스크에든 데이터 블록을 쓸 때마다 패리티 디스크가 반드시 두 번씩 액세스되어야 한다. 따라서 패리티 디스크에 액세스들이 집중되기 때문에 병목 현상이 발생하여 성능이 저하되는 문제가 있어 패리티 블록을 라운드-로빈 방식으로 분산 저장한 RAID-5조직이 제안되었다.6.10 RAID-5에서는 각 쓰기(write) 동작을 위하여 네 번의 디스크 액세스 동작들이 필요하다. 그 이유를 설명하라.RAID-4와 RAID-5의 기본적인 설계 개념이 동일하다. 한 블록을 갱신하면 같은 위치에 있는 패리티 블록도 갱신해야 한다. 패리티 블록을 갱신하기 위해서는 원래의 패리티와 원래 데이터 및 새로운 데이터 사이에 exclusive-OR 연산을 수행하여 구한다. 따라서 원래의 패리티와 데이터를 읽는 과정에서 두 번의 디스크 액세스, 새로운 패리티와 데이터를 쓰는 과정에서 두 번의 디스크 액세스를 더한 총 네 번의 디스크 액세스 동작들이 필요하다.6.11 결함이 발생한 블록은 같은 위치에 있는 나머지 블록과 같은 위치에 있는 패리티 블록들을 exclusive-OR 연산을 수행하여 복구할 수 있다.6.12 그림 6-15와 같은 구조를 가진 플래시 메모리에서 블록 당 페이지 수는 128개, 블록의 수는 2048개로 각각 늘어난 경우에, 플래시 메모리의 전체 용량을 구하라.플래시 메모리의 전체 용량 = (페이지 1개의 크기 × 페이지 개수) × 블록의 개수 = {(2048 × 8bit) × 128} × 2048 = 211 × 23 × 27 × 211 = 232bit = 512MByte6.13 TLC는 SLC, MLC에 비해서 부동게이트에 채워지는 전자들이 많아서 저장 용량이 늘어나지만 주입되는 전자 수의 조정을 위하여 세밀한 작업이 필요하고, 읽은 후에도 구분이 쉽지 않기 때문에 속도가 느려진다.6.14 3차원 셀에서는 부동 게이트의 공간이 확장되기 때문에 더 많은 수의 전자들을 주입시킬 수 있어서, 전자 수를 기준으로 데이터의 값을 구분하는 과정이 용이해져 QLC 방식이 구현되었다.6.15 FTL은 플래시 메모리의 블록과 페이지를 논리적으로 HDD의 섹터와 같은 구조로 변환해줌으로써 섹터 기반의 파일시스템이나 운영체제와 같은 소프트웨어들이 SSD를 HDD와 같은 방법으로 액세스할 수 있게 해준다.6.16 마모 평준화는 페이지 레지스터를 이용하여 각 페이지의 재기록 횟수를 카운트하고, 쓰기 작업 때마다 FTL이 사용된 횟수가 더 적은 페이지들을 우선적으로 선택하고 주소 변환 기능을 수행하여 쓰기 작업을 진행한다. 또한 마모 평준화는 SSD의 수명 연장을 위한 매우 중요한 기술이지만 남아있는 저장 공간이 적다면 그 효과가 줄어든다. 그래서 SSD 제품들은 출시 때부터 가용 용량 외에 마모 평준화 작업에 대비하여 추가적인 공간을 제공해 주는 것을 초과 대비공간이라고 한다.6.17 TRIM 명령은 OS로 하여금 SSD 제어기에게 무효가 된 페이지들을 통보해줌으로써 쓰레기 수집의 효율을 높여 SSD의 성능을 향상시켜주는 보조 기능으로 그림 6-20에서 블록 X로부터 Y로 페이지들을 복사할 때 복사할 필요가 없는 무효 페이지들인 A, B, C, D를 TRIM명령어를 통해 OS가 SSD 제어기에 통보할 수 있다.
    공학/기술| 2020.01.14| 3페이지| 1,000원| 조회(3,548)
    미리보기
  • 컴퓨터 구조론 5판 5장 연습문제 평가A+최고예요
    5.1 평균 기억장치 액세스 시간 = ML1의 액세스 시간 × ML1의 적중률 + ML2의 액세스 시간 × (100 - ML1의 적중률) = 20ns × 90% + 200ns × 10% = 20ns × 0.9 + 200ns × 0.1 = 18ns + 20ns = 38ns5.2 식 = ML1의 액세스 시간 × ML1의 적중률 + ML2의 액세스 시간 × (100 - ML1의 적중률)ML1에 대한 적중률식평균 기억장치 액세스 시간0%10ns × 0 + 100ns × 1100ns20%10ns × 0.2 + 100ns × 0.882ns40%10ns × 0.4 + 100ns × 0.664ns60%10ns × 0.6 + 100ns × 0.446ns80%10ns × 0.8 + 100ns × 0.228ns100%10ns × 1 + 100ns × 010ns5.3 2진수를 16진수로 표기하는 방법은 A0부터 네 자리씩 끊어서 0~E까지 변경 후, 맨 끝에 16진수 표기임을 알려주는 H를 붙이면 된다.주소16진수 표기A11A10A9A8A7A6A5A4A3A2A1A0(1)000000000000H1111111111FFH(2)0000000000000H11111111113FFH(3)000000000000000H111111111111FFFH5.4 필요한 칩의 수는 주소 비트와 데이터 비트의 크기를 맞추기 위해서 직렬 연결과 병렬 연결을 한 개수에 의해 정해진다.(1) 주소 비트 : 512 × 2 = 1024 (2개의 칩을 직렬로 연결)데이터 비트 : 1 × 32 (32개의 칩을 병렬로 연결)필요한 칩의 수 : 2 × 32 = 64개(2) 주소 비트 : 128 × 8 = 1024 (8개의 칩을 직렬로 연결)데이터 비트 : 4 × 8 (8개의 칩을 병렬로 연결)필요한 칩의 수 : 8 × 8 = 64개(3) 주소 비트 : 64 × 16 = 1024 (16개의 칩을 직렬로 연결)데이터 비트 : 8 × 4 (4개의 칩을 병렬로 연결)필요한 칩의 수 : 16 × 4 = 64개5.5 단어의 길이가 32FFH(111 1111 11112)이다.5.8 32×8비트 RAM칩 2개를 직렬로 연결하여 64×8비트 기억장치 모듈을 구성할 수 있다. 또한 주소 비트가 6비트이므로 2진수로 표현한 첫 번째 주소는 000000이고 마지막 주소는 111111이다.5.9 2K×8비트 RAM칩 4개를 직렬로 연결하여 8K×8비트 기억장치 모듈을 구성할 수 있다. 또한 주소 비트가 13(비트이므로 16진수로 표현한 첫 번째 주소는 0000H(0 0000 0000 00002)이고 마지막 주소는 1FFFH(1 1111 1111 11112)이다.5.10 16×4비트 RAM칩 2개를 직렬, 2개를 병렬로 연결하여 32×8비트 기억장치 모듈을 구성할 수 있다. 또한 주소 비트가 5비트이므로 2진수로 표현한 RAM1과 RAM2의 시작 주소는 00000이고 마지막 주소는 01111이고 RAM3와 RAM4의 시작 주소는 10000이고 마지막 주소는 11111이다.5.11 1K×8비트 RAM칩 2개를 직렬, 2개를 병렬로 연결하여 2K×16비트 기억장치 모듈을 구성할 수 있다. 또한 주소 비트가 12비트이므로 2진수로 표현한 RAM1과 RAM2의 시작 주소는 0000 0000 0000이고 마지막 주소는 0111 1111 1111이고 RAM3와 RAM4의 시작 주소는 1000 0000 0000이고 마지막 주소는 1111 1111 1111이다.5.125.13 8-비트 CPU를 사용하므로 ROM과 RAM칩은 각각 직렬로 연결된다. 또한 주소 비트는 두 개의 ROM칩 13비트(4K × 2 = 8K = 213), 네 개의 RAM칩 13비트(2K × 4 = 8K = 213)가 각각 사용되고 ROM칩과 RAM칩을 구분하기 위해서 1비트를 사용되며, RAM칩의 시작 주소가 8000H번지이므로 총 주소 비트는 16비트이다.칩주소 영역16진수 표기A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0RAM10000xxxxxxxxxxxx0000H ~ 0FFFHRAM20001xxxxxxxxxxxx1000 사용하므로 총 주소 비트는 21비트이다.5.15 캐시 적중률 = (원하는 명령어 혹은 데이터가 캐시에 있었던 횟수) / (기억장치 액세스한 전체 횟수)(1) 7500 / 15000 = 0.5(2) 12000 / 15000 = 0.8(3) 13500 / 15000 = 0.95.16 평균 기억장치 액세스 시간 = (캐시 액세스 시간 × 캐시 적중률) + {주기억장치 액세스 시간 × (1 – 캐시 적중률)} = (8ns × 0.85) + (100ns × 0.15) = 21.8ns+5.17 검사 시간(TK)은 캐시 미스인 경우, 즉 주기억장치 액세스 시간에 포함되므로 TK = 2ns라면 (캐시 액세스 시간 × 캐시 적중률) + {(주기억장치 액세스 시간 + 검사 시간) × (1 – 캐시 적중률)} = (8ns × 0.85) + (102ns × 0.15) = 22.1ns5.18 캐시의 적중률을 H라고 하면, 평균 기억장치 액세스 시간 = (캐시 액세스 시간 × 캐시 적중률) + {주기억장치 액세스 시간 × (1 – 캐시 적중률)} = (10ns × H) + {100ns × (1 – H)} = 100ns – (90ns × H) ≤ 19ns ⇒ 81ns / 90ns ≤ H이므로 H즉 캐시 적중률은 0.9이상 이어야 한다.5.19 라인의 크기는 블록의 크기와 같아야 한다. 그러므로 캐시 라인의 수 = 캐시의 크기 / 블록의 크기이다.(1) 요구 인출 방식은 블록의 크기가 단어의 길이와 같으므로 214 / 22 = 212개(2) 214 / (22 × 2) = 211개(3) 214 / (22 × 22) = 210개5.20(1) 캐시의 용량이 16KByte이고 캐시 라인의 크기가 4Byte이므로 캐시 라인의 수 = 16KByte / 4 Byte = 4K = 212개이다.(2) 라인의 크기와 블록의 크기는 같으므로 블록의 크기도 4바이트이다. 그러므로 주기억장치 블록의 수 = 주기억장치 용량 / 블록의 크기 = 1MByte / 4Byte = 220 / 22 = 218개이다.(3)고, 태그 필드는 세트를 공유하는 주기억장치 블록들의 수가 4096 / 16 = 28개이므로 8비트이다. 또한, 단어필드는 단어의 길이가 한 바이트인 것으로 가정하면 블록의 크기가 16바이트 = 24바이트이므로 4비트이다.5.22 직접-사상방식은 하드웨어가 간단하고, 구현하는 비용이 적게 들지만, 주어진 주기억장치의 블록이 저장되는 캐시 라인이 한 개 밖에 없고, 같은 라인에 사상되는 두 개의 블록들로부터 데이터들을 번갈아 읽어와야 한다면, 그 블록들은 캐시에서 반복적으로 교체되며, 결과적으로 적중률이 낮아진다.완전-연관 사상 방식은 새로운 블록이 캐시로 적재될 때, 라인의 선택이 자유로워 프로그램 세그먼트나 데이터 배열 전체가 캐시로 적재될 수도 있다. 이 경우 지역성이 높다면, 적중률이 매우 높아질 것이다. 그러나 모든 태그들을 병렬로 검사하기 위하여 복잡하고 비용이 높은 하드웨어를 포함해야 한다.5.23(1) 캐시 적중(2) 캐시 미스, 3번 라인의 태그는 ’11’로 교체되고, 데이터는 ‘elec’로 교체된다.(3) 캐시 미스, 5번 라인의 태그는 ‘00’으로 세트되고, 데이터는 ‘assm’이 적재된다.(4) 캐시 적중, 이때 단어필드의 값이 ‘11’이므로 만약 읽기 동작이 수행되고 있다면, 데이터 ‘move’ 중에서 네 번째 단어인 ‘e’가 CPU로 읽혀진다.5.24(1) 캐시 미스, 캐시 교체 알고리즘에 따라서 2번 세트의 두 라인 중 하나의 라인의 태그는 ‘110’으로 교체되고, 데이터는 ‘comp’로 교체된다.(2) 캐시 미스, 3번 세트의 비어있는 라인에 태그가 ‘011’로 세트되고, 데이터는 ‘move’가 적재된다.(3) 캐시 적중(4) 캐시 미스, 1번 세트의 비어있는 라인에 태그가 ‘000’으로 세트되고, 데이터는 ‘hand’가 적재된다.5.25(a) 적중률 = 2 / **************************00377132(b) 적중률 = 6 / ***************************************33333777773(3)3(4)7(0)7(1)7(2)4(0)4(1)4(0)4(1)4(0)4(1)5.27(1) Write-through 방식에서 모든 쓰기 동작은 주기억장치를 액세스하므로 주기억장치 액세스 시간과 같다.읽기 동작의 평균 시간 = 0.8 × 20ns + 0.2 × 200ns = 56ns쓰기 동작의 평균 시간 = 200ns평균 기억장치 액세스 시간 = 0.6 × 56ns + 0.4 × 200ns = 113.6ns(2) Write-back 방식에서는 일기 동작과 쓰기 동작에 같은 시간이 걸리고 캐시 미스가 발생한 경우 변경된 상태의 라인만 쓰기를 하면 된다.평균 기억장치 액세스 시간 = 0.8 × 20ns + 0.2 × (200ns + 0.3 × 200ns) = 68ns5.28 평균 기억장치 액세스 시간 = 0.6 × 2ns + (0.85 – 0.6) × 20ns + (1 – 0.85) × 200ns = 1.2ns + 5ns + 30ns = 36.2ns5.29 평균 기억장치 액세스 시간 = 0.6 × 2ns + (1 - 0.6) × 0.85 × 20ns + {1 – 0.6 – (1 - 0.6) × 0.85} × 200ns = 1.2ns + 0.34 × 20ns + 0.06 × 200ns = 20ns5.30 클록 주파수가 400MHz이므로 클록 주기는 1 / 400MHz = 1 / (4 × 108Hz) = 2.5ns이다. 또한 버스트 길이가 8이고 DDR2방식을 사용하므로 DDR방식에서 주파수만 2배로 높여 데이터 전송률을 그만큼 증가시킨 것과 같다. 따라서, 버스트 읽기 동작이 모두 수행되는데 걸리는 전체 시간 = CAS지연 × 클록 주기 + (버스트 길이 / 2) × (클록 주기 / 2) = 4 × 2.5ns + (8 / 2) × (2.5ns / 2) = 15ns이다.5.31 클록 주파수가 1600MHz이므로 클록 주기는 1 / 1600MHz = 1 / (16 × 108Hz) = 0.625ns이다. CAS지연이 10ns이므로 CAS지연의 클록 주기는 10ns / 0다.
    공학/기술| 2020.01.13| 11페이지| 1,500원| 조회(3,141)
    미리보기
  • 판매자 표지 컴퓨터 구조론 5판 4장 연습문제
    컴퓨터 구조론 5판 4장 연습문제 평가A+최고예요
    4.1 제어 기억장치의 용량이 256단어이므로 사상 함수는 8비트이다. 또한 실행 사이클 루틴이 제어 기억장치의 절반 후반부에 저장되므로 최상위 비트는 1이고, 실행 사이클 루틴이 최대 8개의 마이크로-연산들로 구성되어 있으므로 사상 함수는 1XXXX000이다.4.2 제어 기억장치의 용량이 128단어이므로 사상 함수는 7비트이다. 또한 실행 사이클 루틴이 제어 기억장치의 처음 절반 부분에 저장되므로 최상위 비트는 0이고, 실행 사이클 루틴이 최대 4개의 마이크로명령어들로 구성되어 있으므로 사상 함수는 0XXXX00이다.4.3(1) 실행 사이클 루틴이 제어 기억장치의 절반 하반부에 저장되므로 최상위 비트는 1이고, 연산 코드가 5비트이고 최대 8개의 마이크로명령어들로 구성되어 있으므로 사상 함수는 1XXXXX000이다.(2) 사상 함수가 9비트이므로 512개의 주소가 지정될 수 있다. 따라서 제어 기억장치의 전체 용량은 512단어 이다.4.4 μ-ops(두 개의 마이크로-연산들), CD(조건 필드), BR(분기 필드), ADF(주소 필드)명령어주소μ-opsCDBRADFNOP1 0000 00000 00100000 0000 00LOAD1 0001 00000 00001010 0001 001 0001 01010 00000001 0001 101 0001 10100 00000001 0001 111 0001 11101 00000000 0000 00STORE1 0010 00000 00001010 0001 001 0010 01100 00000001 0010 101 0010 10000 01000001 0010 111 0010 11111 00000000 0000 00ADD1 0011 00010 00000001 0011 011 0011 01100 00000001 0011 101 0011 10011 00000000 0000 00SUB1 0100 00010 00000001 0100 011 0100 01100 00000001 0100 101 0100 10000 11000000 0000 00JUMP1 0101 00000 11100000 0000 004.5 각각 세 비트씩으로 구성된 두 개의 연산 필드에 3 × 8 해독기를 각각 사용하여 16비트를 출력하게 만든 후, 출력된 16비트에 4비트씩 4 × 16 해독기를 각각 사용하여 64비트를 출력한다.4.6 Z플래그가 1이 아니다. = Z플래그가 0이다.JNZ addrNOPZJMPFETCHZ플래그가 1이면 다음 명령어 인출, 0이면 다음 실행사이클 실행NOPICALLINDRTI = 1이면, 간접 사이클 루틴 호출IRTPCUJMPFETCHPC ← IR(addr)4.7 동시에 두 개 이상의 마이크로-연산들이 수행될 수 있어야 하므로 서브필드는 최소 두 개로 나뉘어야 하고, 마이크로-연산들의 수가 46개이므로 연산필드를 4비트와 5비트로 나누면 24 + 25 = 16 + 32 = 48개의 마이크로-연산들을 지정할 수 있다. 만약 여러 개의 마이크로-연산들을 수행하려면 수직적 마이크로명령어 형식을 사용하므로 해독기를 여러 개 사용하여 마이크로-연산들을 지정할 수 있다.4.8수직적 마이크로프로그래밍장점 : 마이크로 명령어의 길이가 짧기 때문에 제어 기억장치의 용량이 적게 필요함단점 : 해독기를 통과하는데 걸리는 시간만큼 지연이 발생함수평적 마이크로프로그래밍장점 : 제어 기억장치로부터 인출된 마이크로명령어의 마이크로-연산 비트들이 해독기를 통과할 필요 없이 직접 제어 신호로 사용될 수 있기 때문에, 하드웨어가 간단하고 해독에 따른 시간 지연이 없음단점 : 연산필드의 비트 수가 필요한 제어 신호들의 수만큼 제공되어야 하기 때문에 마이크로 명령어의 길이가 증가하며, 제어 기억장치의 용량이 커짐4.9(1) 조건을 결정하는 플래그가 8개이므로 23 = 8 즉, 3비트가 필요하다.(2) 마이크로 명령어 26비트에서 연산 필드 14비트와 조건 필드 3비트를 뺀 나머지 비트들이 주소 필드(ADF)이므로 26 – 14 – 3 = 9비트이다.(3) 주소 필드가 9비트이므로 29개의 주소가 지정될 수 있고, 제어 기억장치의 폭(단어 길이)가 26비트이므로 제어 기억장치의 최대 용량은 29 × 26 = 13312비트이다.
    공학/기술| 2020.01.02| 2페이지| 1,000원| 조회(7,439)
    미리보기
  • 컴퓨터 구조론 5판 3장 연습문제 평가A+최고예요
    3.1 부호화 크기는 맨 좌측 비트가 부호비트이고, 나머지 비트들은 수의 크기를 나타낸다. 어떤 양수에 대하여 1의 보수와 2의 보수로 표현한 결과는 동일하다.(1) 8-비트 길이의 부호화-크기 : 0001 00111의 보수 : 0001 00112의 보수 : 0001 0011(2) 8-비트 길이의 부호화-크기 : 1001 00111의 보수 : 1110 11002의 보수 : 1110 1101(3) 8-비트 길이의 부호화-크기 : 0111 11001의 보수 : 0111 11002의 보수 : 0111 1100(4) 8-비트 길이의 부호화-크기 : 1111 11001의 보수 : 1000 00112의 보수 : 1000 01003.2 부호-비트를 확장하는 경우 부호화-크기 표현에서는 부호 비트를 새로운 맨 좌측 위치로 이동시키고, 그 외의 위치들은 0으로 채우면 된다. 보수는 양수인 경우 모든 상위 비트들을 0으로 세트하고, 음수의 경우에는 1로 세트한다.(1) 16-비트 길이의 부호화-크기 : 0000 0000 0001 00111의 보수 : 0000 0000 0001 00112의 보수 : 0000 0000 0001 0011(2) 16-비트 길이의 부호화-크기 : 1000 0000 0001 00111의 보수 : 1111 1111 1110 11002의 보수 : 1111 1111 1110 1101(3) 16-비트 길이의 부호화-크기 : 0000 0000 0111 11001의 보수 : 0000 0000 0111 11002의 보수 : 0000 0000 0111 1100(4) 16-비트 길이의 부호화-크기 : 1000 0000 0111 11001의 보수 : 1111 1111 1000 00112의 보수 : 1111 1111 1000 01003.3 10진수로 변환 -128 + (1 + 22 + 23 + 25 + 26)= -128 + (1 + 4 + 8 + 32 + 64)= -19양수로 바꾸고 10진수로 변환 1110 1101 → 0001 0011-(1 + 21 + 24)= -(1 + 0010에서 1100 0000으로 저장한 후, 0000 1110을 선택적-세트(OR 연산)를 사용하여 A레지스터의 값을 1100 0000에서 1100 1110으로 저장한다.3.8(1) 0110 1001(2) 1010 0100(3) 0110 1001(4) 1010 0101(5) 1110 1001(6) 1010 01003.9(1) 0101 1001(2) 1011 0010(3) 1101 1001(4) 1011 00103.10(1) 0101 1001, C 플래그 : 0(2) SHLC 첫 번째 : 1011 0010, C 플래그 : 0SHLC 두 번째 : 0110 0100, C 플래그 : 13.11 초기 상태에서 어떤 레지스터에 ‘1011 0011’이 저장되어 있고, C 플래그의 값은 ‘1’이라고 하자.(1) 0110 0111, C 플래그 : 1(2) RRC 첫 번째 : 1011 0011, C 플래그 : 1RRC 두 번째 : 1101 1001, C 플래그 : 13.12 오버플로우(V)는 최상위 비트의 캐리(올림수)와 그 다음 비트들의 덧셈 과정에서 발생하는 캐리가 서로 다른 경우에 발생한다. 즉 V = C최상위 비트 ⊕ C그 다음 비트(1) 100100 + 111010 = 011110이고 C6 = 1(최상위 비트의 캐리), C5 = 0(최상위 비트 다음비트의 캐리)이므로 오버플로우가 발생한다.(2) 1100 1100 + 1011 1010 = 1000 0110이고 C8 = 1(최상위 비트의 캐리), C7 = 1(최상위 비트 다음비트의 캐리)이므로 오버플로우가 발생하지 않는다.3.13 56 : 0011 1000-56 : 1100 100089 : 0101 1001-89 : 1010 0111(1) 89 – 56 = 89 + (-56) = 0101 1001 + 1100 1000 = 0010 0001C8 = 1, C7 = 1이므로 오버플로우가 발생하지 않는다.(2) (-56) – 89 = (-56) + (-89) = 1100 1000 + 1010 0111 = 0010 1111C8 = 56 + (-89) = 0011 1000 + 1010 0111 = 1101 1111C8 = 0, C7 = 0이므로 오버플로우가 발생하지 않는다.3.14연산 내용연산 결과CSZVR1 + 1100 01*************0R1 + 0001 11101001 00000101R1 AND 1000 11010000 00000010R1 ⊕ R10000 000000103.15CAQM연산 내용[초기 상태]*************[주기 1]*************Q0=1이므로, A←A+M0010010111001우측 시프트 (C – A –Q)[주기 2]0110110111001Q0=1이므로, A←A+M*************우측 시프트 (C – A –Q)[주기 3]*************Q0=1이므로, A←A+M*************우측 시프트 (C – A –Q)[주기 4]*************Q0=0이므로, 우측 시프트 (C – A –Q)3.16AQQ-1계수M연산 내용[초기 상태]*************0101[주기 1]*************101Q0 = 1, Q-1 = 0이므로 A ← A - M0*************101산술적 우측 시프트[주기 2]1*************01Q0 = 0, Q-1 = 1이므로 A ← A + M*************0101산술적 우측 시프트[주기 3]*************101Q0 = 1, Q-1 = 0이므로 A ← A - M0*************101산술적 우측 시프트[주기 4]00*************01Q0 = 1, Q-1 = 1이므로 산술적 우측 시프트[주기 5]10*************1Q0 = 0, Q-1 = 1이므로 A ← A + M110*************1산술적 우측 시프트3.173.18 바이어스가 127이므로 (지수 필드 – 0111 1111)의 값을 십진수하면 된다.(1) 1111 1110 – 0111 1111 = 0111 1111 = 127(2) 0111 1111 – 0111 1111 = 00 = -823.19(1) 소수점을 구하는 방법은 소수 부분을 0이 될 때까지 2를 계속 곱하고 곱할 때 마다 정수부분이 2진수가 된다.0.625 × 2 = 1.2500.250 × 2 = 0.50.5 × 2 = 1따라서, 0.62510 = 0.1012-1.62510 = -1.1012 = (-1) × 21 × 0.1101바이어스가 128인 32-비트 부동소수점 형식 : 1 10*************0000000000000000(2) 바이어스가 256인 64-비트 부동소수점 형식 : 1 100*************000000000000000000000000000000000000000000000003.20(1) 510 = 1012 = 1.012 × 220 10000001 01000000000000000000000(2) 253.2510 = 11111101.012 = 1.1111101012 × 270 10*************0100000000000000(3) -1.62510 = -1.1012 = (-1) × 1.10121 01*************0000000000000000(4) -1 / 32 = (-1) × 2-51 01111010 000000000000000000000003.21(1) S = 0, E = 131, M = 1012 (-1)0 × 2131 – 127 × (1.1012) = (-1)0 × 2131 – 127 × (1.62510) = 26(2) S = 1, E = 124, M = 011012 (-1)1 × 2124 – 127 × (1.011012) = (-1)1 × 2124 – 127 × (1.4062510) =-0.17578125(3) S = 1, E = 213, M = 1101012 (-1)1 × 2213 – 127 × (1.1101012) = (-1)1 × 2213 – 127 × (1.82812510) = - (286 × 1.828125)(4) S = 0, E = 255, M = 0112 E = 255이고 M ≠ 0이므로 NAN(5) 저장되기 때문이다.IEEE 754 표준 32-비트 부동소수점 형식에서의 E = 0, M = 0일 때, 0이 되므로0 01111111 00000000000000000000000이다.3.23(1) 253.2510 = 11111101.012 = 1.1111101012 × 270 10000*************010000000000000000000000000000000000000000000(2) -1.62510 = -1.1012 = (-1) × 1.10121 01111*************0000000000000000000000000000000000000000000003.24(1) (0.111001 × 2-5) + (0.100111 × 2-3) = (0.00111001 × 2-3) + (0.100111 × 2-3) = 0.110101 × 2-3(2) (0.100011 × 26) – (0.111001 × 23) = (0.100011 × 26) – (0.000111 × 26) = 0.111 × 26(3) (0.1001 × 28) × (0.1011 × 212) = (0.01100011 × 28 + 12) = 0.01100011 × 220 = 0.1100011 × 219(정규화 표현) = 0.110010 × 2193.25(1) 1.42로 절삭한 경우 r = (1.427 – 1.42) / 1.427 = 0.007 / 1.427 ≒ 0.00491.43으로 반올림한 경우 r = (1.427 – 1.43) / 1.427 = (-0.003) / 1.427 ≒ -0.0021(2) 문제 3.23이 아니라 문제 3.24입니다. (개정 4판에서 5판으로 수정하다 보니 생긴 오타 같습니다.)3.24 – (1) : r = {(0.11010101 × 2-3) – (0.110101 × 2-3) / (0.11010101 × 2-3)} = 0.00000001 / 0.11010101 ≒ 0.00473.24 – (2) : r = {(0.111 × 26) – (0.111 × 26)} / (0.11
    기타| 2019.12.30| 8페이지| 1,500원| 조회(3,880)
    미리보기
전체보기
받은후기 99
99개 리뷰 평점
  • A+최고예요
    81
  • A좋아요
    15
  • B괜찮아요
    2
  • C아쉬워요
    1
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 07일 화요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
6:25 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감