Book 60

4. The Processor (4.7 Pipelined Datapath and Control)

Figure 4.36: 파이프라인 실행을 위한 데이터 경로  • Figure 4.36에서는 파이프라인 실행을 가정하여 각 명령어가 고유의 데이터 경로를 가진다고 설명한다. '각 명령어는 각자의 데이터 경로를 가지며, 공유된 타임라인에 배치되어 서로의 관계를 나타낸다. • 여기서 중요한 점은 각 명령어의 데이터 경로가 단일 사이클 데이터 경로와 어떻게 연결되는지를 보여주고 있다는 것이다.각 명령어는 5단계(명령어 인출, 해석, 실행, 메모리 접근, 쓰기-back)로 나뉘어 실행되며,이들 각각은 고유한 파이프라인 레지스터를 통해 서로 연결된다. 예를 들어: • 명령어 메모리(IM)는 명령어 인출 단계에서 사용되고, 이후 레지스터 파일(Reg)은 레지스터 읽기 단계에서 사용된다. • ALU는 실행 단계에서 사..

4. The Processor (4.6. Data Hazard)

Data Hazard Data Hazard는  이전 명령어의 실행 결과가 다음 명령어에서 필요한 경우 발생한다.예를 들어, 덧셈 명령어의 결과를 뺄셈 명령어에서 사용하는 경우, 덧셈 명령어가 끝나지 않으면 뺄셈 명령어가 실행되지 못한다.  구조적 위험(Structural Hazard)  • 구조적 위험은 하드웨어 리소스가 부족할 때 발생한다.예를 들어, 파이프라인에 메모리가 하나밖에 없을 때 두 명령어가 동시에 메모리를 참조하려고 하면 구조적 위험이 발생한다.이 위험을 피하려면 메모리 리소스를 추가하거나, 각 명령어가 사용하는 리소스를 효율적으로 분배해야 한다. • 예시: 세탁기와 건조기를 하나의 장비로 사용할 경우 세탁과 건조를 동시에 처리할 수 없게 되어 구조적 위험이 발생한다.  데이터 위험(Dat..

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..

CH2_Application Layer(2.1~2.2)

2.1 Principles of Network Applications 네트워크 애플리케이션은 서로 다른 엔드 시스템에서 실행되는 프로그램이 통신하여 작동하는 구조를 가진다. 따라서 개발자는 엔드 시스템에서 작동하는 소프트웨어만 개발하면 된다. ex) 이메일, 웹, 파일전송, 통화, SNS, 유튜브 등.2.1.1 Network Applications Architecturesclient-server architecture서버 : 항상 켜져있으며 클라이언트의 요청을 처리한다.클라이언트 : 서버에 요청을 보내고 응답을 받는다. - 서버는 고정된 IP주소를 가지고 있어 클라이언트가 언제든 접근할 수 있다.- 클라이언트들간의 직접적인 통신은 이루어지지 않고 서버를 통해 이루어진다.- 관리가 용이하지만, 사용자가 몰..

4. The Processor(4.1~4.5)

4.1 IntroductionA Basic RISC-V Implementation메모리 참조 명령어 : lw, sw산술 및 논리연산 명령어 : add, sub, and, or조건 분기 명령어 : beq 위 7가지 명령어들은 RISC-V 명령어들의 일부분을 나타낸 것이다.이것들 이외에 다양한 명령들이 있지만,  위 구성을 이용한 구현을 통해 datapath, designing control 의 설계의 근본을 이해할 수 있다. 1장에서 나온 원칙 중 하나 "Simplicity favors regularity" 가 여기서 강조된다. An Overview of  the Implementation-RISC-V의 기본 데이터 경로.• Instruction Memory: 명령어 메모리에서 명령어를 가져옵니다. 이때 ..