전체 글 191

[컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클

명령어 종류 IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행 이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 수행 데이터 전송명령 레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령 산술 연산명령 2의 보수 및 부동소수점 수에 관한 산술 연산명령 논리 연산명령 데이터의 각 비트들 간에 대한 논리 연산명령 입출력(I/O)명령 CPU와 외부I/O 장치들 간의 데이터를 이동시키는 명령 프로그램 제어명령 각 명령어의 실행 순서를 변경하는 분기(Branch), 서브루틴 호출(Subroutine Call)및 리턴 명령 명령어 실행 사이클(LOAD) 인출 사이클의 마이크로 연산(micro-opera..

[컴퓨터 구조] 5-1) 컴퓨터 처리 작업(Computer Processing)

컴퓨터 처리 작업(Computer Processing) 명령어 사이클 CPU가 하나의 명령어를 실행하는데 필요한 전체 처리과정 중단 될 때 까지 주기적으로 반복 인출 사이클 CPU가 주기어장치로부터 지정된 명령어를 읽어오는 단계 명령어 실행 명령어 레지스터에 적재된 명령어를 해독 후, 실행하는 단계 명령어 인출(instruction fetch) 주기억장치로 부터 지정된 주소에 있는 명령어를 IR로 가져옴 명령어 해독(instruction decode) 실행해야 할 동작을 결정하기 위해 인출된 명령어를 해독 데이터 인출(data fetch) 데이터가 필요한 경우 주기억장치 또는 입출력장치로 부터 데이터를 가져옴 데이터 처리(data process) 산술 및 논리적 연산 수행 데이터 저장(data store..

[컴퓨터 네트워킹] 4-3) TCP Congestion control

TCP Congestion control Too many sources sending too much data too fast for network to handle. -> 네트워크를 공유하고 있는 노드들이 서로 양보해야함… End to end Network-assisted AMID approach Additive increase: 천천히 증가 Multiplicative decrease: 반으로 감소 Congestion window(cwnd) 송신측이 ack 없이 한번에 데이터를 보내는 크기(congestion contro을 위해 계속 변함) TCP Receive window(rwin) 수신측이 ack없이 한 번에 data를 받을 수 있는 크기 상대방에게 자신이 처리 가능한 buffer 크기 만큼을 wi..

[컴퓨터 네트워킹] 4-2) TCP Retransmit(TCP 재전송)

TCP fast retransmit 송신자가 3개의 중복된 ACK를 받는다면 가장 작은 seq num의 segment를 전송한다. TCP 재전송 발생 조건 Timeout events Duplicate acks TCP Timeout value 설정 방법 RTT보다 길어야한다. SampleRTT ACK응답 까지 걸린 시간 EstimatedRTT SampleRTT의 평균 값 EstimatedRTT = (1-a) x EstimatedRTT(이전값)+ a x SampleRTT(현재값) Timeout Interval = EstimatedRTT + “Safety margin” 3 way handshake RST Flags: RST역할 e.g) Client가 Server에게 80port연결 할래! Server가 Cli..

[컴퓨터 네트워킹] 4-1) TCP(Transmission Control Protocol)

Keyword - 연결지향(connection-oriented): 송/수신기 사이의 물리적인 연결이 아닌 논리적인 연결을 의미하는 개념 - 핸드셰이크(handshake): 통신 관련 분야에서 둘 이상의 장치가 연결/단절을 위해 선행하는 약속된 협상 과정 - 최대 세그먼트 크기(Maximum Segment Size, MSS): TCP가 세그먼트 한 개로 보낼 수 있는 최대 데이터 크기 - 전이중 통신(full-duplex): 송신과 수신이 동시에 가능한 통신 방식(참조: https://ko.wikipedia.org/wiki/이중통신) - 혼잡 윈도우(congestion window): 송신측에서 ACK 수신 없이 연속적으로 전송할 수 있는 최대 데이터 양 - AIMD (Additive Increase an..

[컴퓨터 구조] 4-4) 명령어 주소지정 방식(Addressing Mode)

명령어 주소지정방식을 알아보기 전에 명령어에 대해서 소개 한다.. 명령어의 종류 명령어 주소지정방식 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(Register addressing mode) 레지스터 간접(Register indirect addressing mode) 변위(displacement addressing mode) 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(..

[컴퓨터 구조] 4-3) CPU 명령어의 종류와 형식

CPU 명령어의 종류 명령어의 형식 명령어는 cpu가 한번에 처리할 수 있는 비트 수의 크기(Word)로 정의 된다. 명령어를 구성하는 비트는 용도에 따라 몇 개의 필드(filed)로 나누어진다. 기본적으로 Op-Code 필드, Operand필드로 구성 Operand 필드는 컴퓨터의 처리 능력에 따라 여러 개의 Operand 필드로 구성 Op-code 및 Operand 필드의 비트 수 결정 Op-code 필드의 비트수 CPU에서 수행될 연산 종류의 수에 따라 비트의 수가 결정됨 4bit -> 16가지의 연산정의 5bit -> 32가지 연산정의 비트의 수가 증가 할 수록 많은 연산의 정의 가능 오퍼랜드의 필드의 비트수가 감소함 (전체 bit는 정해져 있기 때문..) 명령어의 기본구성 요소는 다음과 같다. ..

[컴퓨터 구조] 4-1) CPU의 기본구조 및 구성요소

CPU의 기본구조부터 살펴보자~ CPU의 기본구조 CPU의 구성요소 Program Counter(PC) Accumulator(AC) Instruction Register(IR) Stackpointer Register(SP) Memory Address Register(MAR) Memory Data Register(MDR) Instruction Set Program Counter(PC) 다음에 인출할 명령어 주소 값을 가지고 있는 레지스터 각 명령어가 인출된 후에는 자동적으로 일정 크기(명령어 길이: 워드)만큼 증가 분기(Branch), 조건(Conditional)명령어가 실행되는 경우, 해당 명령어가 있는 목적지 주소 값으로 갱신 Accumulator(AC) 처리할 데이터를 일시적으로 저장하는 레지스터 레..

[컴퓨터 네트워킹] 3-5) Packet Retransmission method(패킷 재전송 방법)

인터넷 프로토콜을 처음 개발할땐 서로 신뢰할 수 있는 대상자와 통신 했기 때문에 신뢰성을 고려하지 않았다. 하지만 현재는 그러하지않다... ㅠㅠ 그러면 신뢰성있는 데이터를 전송하기 위해서는 어떠한 방법을 써야할까?? 신뢰성 있는 데이터 전송의 원리 신뢰성 있는 채널을 통한 서비스 추상화 손상 및 손실 없는 데이터 순차적인 데이터 전송 Service of TCP Error type and solution 데이터를 전송하다보면 다양한 원인으로 패킷이 손실되거나 망가질수 있다. 이러한 문제를 해결하기 위해 에러를 검출하고 다음과 방법을 도입했다. -> Packet Retransmission method 패킷 재전송 방법은 다음과 같다. ARQ(automatic repeat request) Stop and wa..