이게 맞아..? ㅠㅠ 그래도 해야지 뭐..

S1 버튼은 P1 의 1번, S2 버튼은 같은 P1 의 4번! 참고로, led 의 경우 포트1의 0번 과 포트 2의 몇 번..? 0,1,2 번 핀!

io 디바이스 인터페이스는 디바이스와 인터커넥션 네트워크 사이의 회로이다. 말 그대로 인터페이스!

데이터 전송과 상태, 컨트롤 정보 교환을 도와준다.

이때 데이터, 상태, 컨트롤 레지스터의 경우 로드와 스토어 명령어로만 접근이 가능하다. 메모리 맵드 아이오에서는 레지스터를 메모리로 보고 사용하기 때문이다.

어떤 io 디바이스가 ready 신호를 프로세서에게 보내게 된다. 이는 곧 키보드가 한 글자를 입력받을 준비가 되었다고 하는 것, 화면이 한 글자를 받을 준비가 되었음을 의미한다. 그리고 이는 곧 레디 스태이터스 깃발을 스태이터스 레지스터에다가 꽂음으로써 실현이 된다

폴링이라는 것은 시피유가 계속해서 이벤트를 확인하는 것이다. 정기적으로 말이다. 근데 이거에 대한 단점은 당연히 시피유를 비효율적으로 쓴다는 것이다. 폴링은 게속 롤링 킵 물어봐 귀찮게..

그래서 스테이터스는 레디랑 폴링이랑 관련이 있다 그리고 폴링 같은 경우에는 꼭 pull up 과 pull down 을 정의

DIR 0으로 설정하면 해당 포트 인풋으로 쓴다는 거고, 그러면 Pull up pull down enable 해야 해서 REN 에다가 1 줘야 하고 pullup 으로 out 결정할 거면 Out 에다가 1 줘야 한다. 그리고 이거는 없애면 안된다. out 이 진짜 아웃풋도 담당하기 때문에. 만약 input output 동시에 쓴느 상황이면, out 만 쓰면 안되고 pull up 병렬

pullup pulldown 은 인풋!!! P1→IN 이 중요! 처음 설정만 OUT 으로. 괄호 꼭 쳐주기


20.83 ns 1의 -9 승초 48Mhz 에서의 clock cycle time

1000000ns = 1ms

1000ms = s

1000hz = 1khz

1000khz = 1mhz

1000mhz = 1ghz

2hz = 1초에 사이클 2번 와리가리

48Mhz 는 속도. 역수 취하면 cycle time. 48 * 1000 * 1000 역수 계산하면 20.83 ns