함수 변수 |
EBP | EIP | Parameter |
위에 그림을 보면 EBP는 현재 메인 함수의 시작점을 가리키는 값이고 EIP는 호출된 함수가 Call이 되고
다시 return 이 되면 돌아갈 위치 이다.
함수 변수 |
EBP | EIP | Parameter |
위에 그림을 보면 EBP는 현재 메인 함수의 시작점을 가리키는 값이고 EIP는 호출된 함수가 Call이 되고
다시 return 이 되면 돌아갈 위치 이다.
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
USB 어제 사장님한테 USB는 고급개념부터가 아니라 저급개념부터 이해를 해야
이해가 쉽다고 한다.
<그림 1>
그림 1을 보면 열거 형태를 볼 수 있다. 열거 아래로 가면 갈수록 저급 개념이라고 보면 된다
즉 이렇게 분류가 된다
TRANSFER
┗ TRANSACTION
┗PACKET
이런 형태를 USB프로토콜 이라고 한다.
USB에 대해 이해 하려면 일단 이 프로토콜 이 어떤 형태, 왜 만들어 졌는지 생각 해봐야 한다.
비트 | 규약 | PACKET | 균등화 | TRANSACTION | 고급 | TRANSFER |
<표 1>
위에 표를 보면 비트-> 규약 -> 패킷 이런 식으로 왜 넘어갔는지 생각 해보자
일단 생각 해보기 전에 USB는 주종 관계를 이루고 있는 점을 알아두자 항상 호스트 쪽이 주인이고
디바이스(USB 장치)가 종이 된다 그래서 데이터를 주거나 받을 때에도 항상 호스트가 명령을 해야
디바이스는 일을 수행 할 수 있다. 즉 디바이스가 아무리 데이터를 주고 싶어도 호스트가 요구 하지
않으면 디바이스는 못 준다 항상 호스트 기준으로 IN, OUT 이라는 것이다. 헷갈리지 말자.
비트
일단 표 1에 비트를 생각 해보자 USB는 1byte = 8bit 로 한다.
그리고 1 byte를 1물방울 이라고 생각 하자.
음.. 수도관이 있다 H가 HOST 이고 D 가 USB라고 생각 해보자 H가 D에게 물방울로 데이터를 보낸다고 가정하자
조건은 이정도 이면 충분하다. H가 D에게 5방울의 물방울을 보낸다
H가 3방울까지 보내다 다른 일이 생겨 한참 있다가 남은 2번의 물방울을 보냈다.
이때 D는 H가 몇 방울을 보낼지 모른다. 다만 물방울이 물방을이 끊키는 시간차로
알아 낸다고 하자 위에 H는 총 5방울을 보내야 하지만 3방울만 보내다 한참 있다가 2방울을 마저
보냈다 그럼 D는 각각 들어온 3방울과 2방울이 같이 묶여지는 데이터로 볼까?
또 다음 물방울을 보낼 때 이것이 조금 전에 보낸 물방울과 같은지 알 수 있을까?
답은 모를 것이다.
이런 문제를 해결하기 위해 규약 이란 것이 생겨 났다.