밑에 큐 어쩌고 하는 글 보고 시작했는데,
정확히 뭐 하려는지도 모르겠고 옆구리 시리고 어려워서 접음
대충 토대 정도는 될 듯
4칸짜리 큐임.
S 신호가 입력될 때마다 우측으로 한 칸씩 신호를 밀어줌 (S 신호가 입력될 때마다 저장된 값이 바뀌는 메모리 이용했음)
S신호는 펄스 입력 (지속신호 읽으면 값이 실시간으로 계속 바뀌어서 큐 역할 불가능)
맨 좌측 빨간 신호기 -> 입력 (맨 좌측 일정신호조합기 위치에서만 입력하면 됨)
각 메모리의 빨간 전선 -> 출력 (전부 연결되어있으니 아무거나 뽑아도 됨. 우측의 메모리들은 이 출력을 입력으로 받음)
참고로 1 S 2 S 3 S 4 S 순서로 신호 인가해주면 아래처럼 저장됨.
알아야 할 것.
1. 입력신호와 S신호간의 동기화? 필요함
당연히 1번만 입력받는게 의도된 결과니까. 출력 신호도 1번만 사용되도록 조절해야됨.
2. 세로로 배치된 산술연산조합기가 큐 처리 순서를 정의하고 있음
따라서 S신호는 가장 우측 메모리(큐에서 pop 되는 위치)에 입력되어야함 (큐 길이 조절하면 옮길 것)
3. 입력으로 S신호 사용 불가 (제어 신호로 썼음)
4. 다행히 신호 여러개 동시에 처리 가능(1위치에 철1구리3, 2위치에 우라늄1석탄1돌4 등)
5. 각 메모리의 맨 밑 수량비교조합기는 출력 확인용이라 지워도 됨
원리: 링크 들가면 있음
큐는 벨트에 아이템 올리는거랑 다름, 1S 만 했을때 1 ㅇ ㅇ ㅇ 가 아니라 ㅇ ㅇ ㅇ 1이 되야하는데 그렇게 된거임? 그럼 출력 신호는 어디서 받음?(= 큐에 넣을때 말고 큐에서 뺄때는 어떡함?) 그냥 단순히 S신호 받을때 오른쪽으로 한칸 미는거면 메모리 쉬프트가 맞음
아 출력확인용이 맨 오른쪽 아래라고 되있구나
그러네 아 1000임 이건 어케 고치지
큐에 들어있는 갯수 카운트하면서 비어있는 만큼 쉬프트시키라그러자
이러면 안되고 출력할 때 "신호 튀어나올때까지" 쉬프트하면 되겠네
질문1. 1S2S3S4S5S결과는? 질문2. 큐는 원할때 첫번째 메모리을 읽은 후 버리고 2번째 메모리부터 앞으로 메모리쉬프트 해줘야함, 이런 역할을 하는게 어딨음?
1. 12345 출력 2. 질문 정확히 이해 못하겠는데 위에 쓴 댓글처럼 출력할때 땡기면 되리라 생각