Computer 38

4. The Processor (4.11 Parallelism via Instructions)

1. Pipelining과 Instruction-Level Parallelism (ILP) Pipelining은 여러 명령어가 동시에 실행되는 구조로, **Instruction-Level Parallelism (ILP)**을 활용하여 성능을 향상시킨다.ILP는 명령어들 간의 병렬성을 의미하며, 이를 극대화하기 위한 두 가지 방법이 있다.  • 파이프라인 깊이를 늘려서 병렬성 증가예를 들어, 세탁기를 세 개의 기계로 나누어 각기 다른 세탁 단계를 동시에 수행하면 전체 세탁 시간을 단축할 수 있다.파이프라인을 확장하여 명령어를 겹쳐서 실행할 수 있도록 한다.  • Multiple Issue 기법 사용 한 클록 사이클에서 여러 명령어를 실행할 수 있도록, 여러 명령어를 동시에 발행하는 기술이다. 세탁기를 여러..

4. The Processor (4.10 Exceptions)

예외와 인터럽트의 차이  • 예외 (Exception)프로그램 내에서 발생하는 예기치 않은 사건이다.예를 들어, 정의되지 않은 명령어가 실행되거나 하드웨어 고장이 발생하는 경우가 예외이다.  • 인터럽트 (Interrupt)외부 장치나 하드웨어가 발생시키는 이벤트이다.예를 들어, I/O 장치가 데이터를 준비했다고 알리거나 시스템의 타이머가 주기적인 작업을 요청하는 경우가 이에 해당한다. RISC-V에서는 예외라는 용어를 사용하여 프로그램 내에서 발생하는 모든 예기치 않은 이벤트를 의미하며, 인터럽트는 외부에서 발생하는 예외를 지칭한다.  예외 처리 방법 RISC-V 시스템에서 예외가 발생하면, 두 가지 주요 작업이 수행된다.  1. 예외가 발생한 명령어의 주소를 저장예외가 발생한 시점에서 현재 실행 중인..

4. The Processor (4.9 Control Hazards)

Control hazards 또는 branch hazards는 조건부 분기(instruction)의 실행 시 발생하는 문제이다.파이프라인에서 조건부 분기의 결과가 결정되기 전에 다른 명령들이 계속 실행되므로, 이러한 분기 명령이 언제 발생할지를 정확히 알 수 없다.예를 들어, 분기 명령을 포함한 파이프라인에서는 해당 명령이 언제 실행될지를 결정하기까지 지연이 발생하며, 이로 인해 예상된 명령 순서대로 실행되지 않으면 파이프라인의 성능에 영향을 미칠 수 있다. 여기서 핵심은 예측이다. 분기 예측(branch prediction)은 파이프라인이 진행될 때 분기가 발생할지 안 할지를 예측하여 성능 저하를 방지하는 방식이다.예측을 통해 분기가 발생할 경우 필요한 명령을 미리 로드하고, 예측이 틀린 경우에는 명령..

4. The Processor (4.6. An Overview of Pipelining)

4.6 An Overview of Pipelining 1. 파이프라이닝(Pipelining)의 기본 개념 파이프라이닝은 여러 명령어가 동시에 실행되는 방식을 의미한다.즉, 여러 명령어가 실행되면서 각 명령어의 다른 단계들이 겹쳐서 수행된다.이를 통해 CPU의 작업 효율성을 높일 수 있다. 책에서는 세탁의 비유를 통해 파이프라이닝의 개념을 설명한다. • 세탁은 네 가지 단계로 나눌 수 있다. ->  세탁, 건조, 다림질, 옷 정리.  • 비파이프라인 방식모든 세탁이 끝난 후 건조를 시작하고, 건조가 끝난 후 다림질을 하는 방식이다.이 방식은 시간이 많이 소요된다.  • 파이프라인 방식에서는 세탁을 하면서 건조를 시작하고, 건조가 되면 다림질을 시작하는 방식으로 진행된다.이렇게 하면 각 단계가 겹쳐져서 전체..

CH3_Transport Layer

3.1 Introduction and Transport-Layer Service 3.1.1 전송 계층과 네트워크 계층의 관계 전송 계층은 네트워크 계층 바로 위에 있으며, 두 계층의 역할이 다소 비슷해 보이지만 중요한 차이점이 있다. 이를 쉽게 이해하기 위해 집과 우편 서비스에 비유해서 설명할 수 있다.  • 네트워크 계층: 두 집 사이에서 편지를 보내는 우편 서비스와 같다. 우편 서비스는 집에서 집으로 편지를 배달하는 일을 담당한다. • 전송 계층: 집 안에서 각 아이들 간의 편지를 모아서 배달하는 역할을 하는 **사람(Ann과 Bill)**과 같다. 이들은 각 집 안에서 형제자매들로부터 편지를 모아 우편 서비스에 전달하고, 다시 도착한 편지를 각 사람에게 나눠준다. 이 비유에서 보듯, 네트워크 계층은..

CH2_Application Layer(2.5~2.7)

2.5 Peer to Peer File Distribution 이 챕터에서는 P2P 파일 분배가 무엇인지 설명하고 있다. 먼저, 웹, 이메일, DNS 등은 클라이언트-서버 아키텍처를 사용하는데, 이 경우 항상 연결된 인프라 서버에 크게 의존한다. 반면, P2P 아키텍처에서는 항상 켜져 있는 서버에 대한 의존도가 매우 적거나 아예 없다. **피어(peer)**라고 불리는 간헐적으로 연결된 호스트들이 서로 직접 통신하며 데이터를 주고받는다. 이러한 피어들은 서비스 제공자가 소유한 것이 아니라 사용자들의 PC, 노트북, 스마트폰과 같은 장치들이다. 2.5.1 자연스러운 P2P 애플리케이션: 파일 분배 P2P의 자연스러운 적용 예시로 대규모 파일 분배를 들고 있다. 예를 들어, 운영 체제 업데이트 파일이나 대용..

CH2_Application Layer(2.3~2.4)

2.3 Electronic Mail in the Internet-사용자는 user agent 를 통해 이메일을 작성, 전송, 읽기 등의 작업을 한다.  ex) Outlook, Gmail, Apple mail 등등 - 사용자가 메일을 작성하면 이는 송신자의 Mail Server로 전달된다. Mail Serveroutgoing message queue를 통해 발신되는 이메일을 관리한다.종류1. SMTP client 2. SMTP server SMTP ProtocolTCP기반의 프로토콜로 송신메일서버와 수신메일서버 간 메일을 전송하는 데 사용된다. 이메일 전송 과정1. 이메일 전송버튼을 누르면 클라이언트의 user agent가 클라이언트의 메일서버로 보낸다.2. 메일서버는 이 메세지를 outgoing mess..

CH1_Computer Networks and the Internet (1.3~1.6)

1.3 The Network Core1.3.1 Packet Switching- 메세지를 목적지로 보내기 위해, source에서는 긴 메세지를 packet이라 불리우는 작은 데이터 조각으로 나눈다. - 메세지가 전달되면서 각 패킷은 communication link 와 packet switch를 통해 이동한다.  주요 패킷 스위치 유형 -> router , link-layer switch - 패킷은 각 링크의 최대 속도로 전송된다. - 패킷의 크기와 링크에 따라 전송 시간이 결정된다. ex) 크기 Lbit, 속도 Rbit/sec -> 전송속도 == L/R sec  Store-and-Forward Transmission대부분의 packet switch는 링크를 입력할 때 store-and-forward tr..