CS 2주차 발자국 및 미션

CS 2주차 발자국 및 미션

학습 내용 정리


 

컴퓨터 구조

 

  • 25/06/02 - MUX,디코더, 컨트롤 버퍼

 

MUX

  • 여러개의 입력 중 하나를 출력하는 장치로써 Selection Bit에 의해 출력을 결정함 (1,2,4,8 bit 등 많은 종류가 있음)

  • 1비트 : 2입력 의 예시로 입력핀 2개와 셀렉트 핀 1개 그리고 NAND 게이트 3개로 구성할 수 있다.

  • 8비트 인 경우도 1비트의 원리와 크게 다르지 않고 입력 핀 수와 비트에 따라 Selection Bit의 자릿수만 달라질 뿐이다.

  • 예시) 8비트 2입력 -> Selection 1bit / 8비트 4입력 -> Selection 2bit / 8비트 8입력 -> Selection 3bit

     

 

디코더

  • N bit의 입력 중 2^N개의 비트 중 1개를 활성화 하는 장치 Selection bit와 Enable bit로 결정됨 (4bit->RAM에 활용)

  • Enable bit가 1로 활성화 되어 있다면 Selection bit에 따라 출력 결정

  • 각 비트를 스플릿터를 활용해 쪼갠 이후 Not게이트와 AND 게이트를 활용하여 구성할 수 있다.

  • 예시) 000-> out0 / 001 -> out1 / 111 -> out7

 

컨트롤 버퍼

  • 정확한 입력에 따른 출력 값이 나올 수 있도록 입력을 넣을 건지 말 건지 결정하는 역할을 수행하는 장치

  • 입력값을 그대로 내보내거나, 연결을 끊어 어떤 값도 아닌 'U'(Undefined) 상태를 출력할 수 있다.

  • 사전 지식 : 5V -> logical 1 / 0V -> logical 0 / 0.8~2V -> 해석할 수 없는 값(노이즈)


25/06/03 - ALU (반 가산기, 전 가산기 사용)

 

반가산기, 전가산기

  • 반 가산기는 최하위 1 비트의 덧셈을 가능하게 한다.

  • 하지만 자리올림 입력을 반영하지 못하여 여러 개의 비트를 더하려면 전가산기를 사용해야 한다.

  • 전 가산기는 반가산기 2개와 OR 게이트를 활용하여 만들 수 있다.

 

ALU

  • cpu에서 계산을 담당하는 역할을 수행한다. 전가산기를 활용하여 만든다.

  • 추가로 CU와 연결을 위해 여러가지 회로를 추가한다. (Zero Flag,Carry Flag, Enable Output)

 


25/06/04 - Latch (+ 조합,순차 논리회로)

 

조합,순차 논리회로

  • 조합 회로는 오직 입력값에 의해서만 출력값이 결정되는 회로로 대부분의 게이트,ALU가 대표적이다.ㅏ

  • 순차 회로는 출력 중 하나를 피드백 신호로 입력되어 상태를 기억할 수 있는 회로를 의미한다.

 

Latch

  • 순차회로에서 1 비트의 정보를 저장하는 회로

  • 대표적인 종류로는 SR,D,JK Latch 가 있다.

 

SR Latch

  • Set-Reset의 줄임말로 두개의 입력에 따라 두개의 출력 값을 가지는 회로이다.

  • 출력 값을 Q,Q'라고 할 때 두 값을 서로 상보적이다. (1,0 / 0,1)

  • 따라서 만약 S,R 모두 1일 경우 논리적 모순으로 사용 불가하다. (NOR 게이트에서 동시에 0을 출력하기 때문)

  • 이 문제로 D 와 JK Latch 등장

 

D Latch

  • Data의 줄임말로 1비트의 정보를 저장하는 회로이다.

  • 입력을 1개로 줄임으로써 SR의 문제를 해결한다.

 

JK Latch

  • SR 회로의 단점을 보안한 회로 J,K 입력 모두 1,1이여도 출력에서 반전 시켜 준다.

  • 즉, 토글 기능이 가능하다.

 


25/06/05 - Ram (+ Register)

 

플립플롭

  • 1비트의 정보를 저장할 수 있는 순서회로

 

Ram

  • 사전 지식 (Register) - 1bit의 메모리 Latch에 연결된 여러비트를 저장하는 메모리

  • Cpu가 사용할 정보를 저장하는 장치로써 주소+데이터로 이루어져 있다.



자료 구조_알고리즘

 

  • 25/06/02~05 - RedBlackTree

 

RedBlack Tree

  • AVL 트리보다 삽입,삭제가 빠르지만 탐색속도는 느리다. (AVL 보다 균형을 느슨하게 체크하기 때문)

  • 노드마다 색깔이 있으며, 기본적인 높이랑 Black Height라는 높이를 활용하여 균형이 맞는지 체크한다.

 

Heap , PriorityQueue  

  • 우선순위 큐는 힙를 이용하여 우선순위가 높은 노드 순으로 삽입,삭제 연산을 하는 자료구조이다.

  • 힙은 (최소힙으로 가정) 루트 부터 시작하여 가장 작은 값이 부모 노드가 되는 구조의 완전 이진 트리이다.

 



학습하면서 깨달은 점 , 느낀 점

  • 1주차 자료구조 강의에 내용 중 어려운 부분은 50%만 이해하고 넘겼는데 이것이 나비효과가 되었다.

  • 2주차 강의에서 새로운 내용을 공부할 때 이해가 안가는 부분들이 대부분 이전 학습에서 이해하지 못한 부분이었다.

  • 따라서 미션을 하면서 하나하나 코드를 다시 이해하고 해결해야 상황이 와서 힘들었다.

  • 추가로 컴퓨터 구조는 Register, Ram 부분 부터 이해가 잘 안갔다. 어려운 점이 많아 미션할 때 힘들었다.

  • 다음 내용을 공부하기 전에 한번 더 복습하면서 70~80% 이해하면서 넘어가야 겠다.

     


    다음주 학습 목표

  • 새로운 내용을 공부하기 전 복습하고 진행하기

  • 코드를 스스로 작성해보기 + 반복 작성 훈련

     

     

    미션 과정 및 느낀점

    • 자료구조 알고리즘의 경우는 삽입,삭제의 케이스들을 이해하면서 학습을 했다.

    • 학습 내용을 바탕으로 우선순위에 따라 Dequeue가 가능하도록 구현했다.

    • isBigPriority에서 첫번째 우선순위를 비교하고 동일하다면 두번째 우선순위를 비교하도록 작성했다.

    • 컴퓨터 구조의 경우 1~3은 회로의 수와 비트 수를 늘리고 그에 맞게 연결하여 풀었다.

    • 4번 문제는 RAM, Register 이해를 해보려고 많이 노력해봤지만 쉽지 않았다.

    • 또한 질문을 하고 싶어도 어떤 부분을 정확히 모르는지 나도 모르는 상태라서 더 답답했다.

    • 따라서 기존의 RAM 2개를 연결하면 되지 않을까 했지만 실패했다.

    • 미션 난이도가 점점 쉽지 않다는 것을 느낀다.

 

스스로 칭찬

  • 1주차 글보다 조금 더 정돈된 글을 작성한 점 칭찬!

  • 2주차까지 포기하지 않고 강의를 끝까지 들은 점 칭찬!

  • 지난 주 목표를 모두 성공한 점 칭찬!

     

 



댓글을 작성해보세요.

채널톡 아이콘