제로부터 컴퓨터!볼 논리

4811 단어 컴퓨터 과학
컴퓨터 시스템의 이론과 성과를 출력하기 위한 글이다.
컴퓨터 시스템의 이론과 실현 - 현대 컴퓨터의 제작 방법
설치 요약은 다음과 같습니다.
GitHub - sanoyo/nand2tetris
참고한 글은 다음과 같다.
'컴퓨터 시스템의 이론과 실현'- Qita 완성
제1회 컴퓨터 시스템 이론 및 실현 학습회 - Coludi blog
컴퓨터 시스템의 이론과 실현 - 자료 일람-connepass
전체 이미지

인용자 컴퓨터 시스템의 이론과 실현
볼 논리
부르키
기본적으로 NOT/OR/AND입니다.
이들 세 함수를 낸드 함수로도 표현할 수 있다.
Nand 함수(Not And 함수)
이름만 봐도 알 수 있듯이 And는 상반된 성질을 가지고 있다.
a
b
Nand(a, b)
0
0
1
0
1
1
1
0
1
1
1
0
첫 번째 과제는 낸드만 제공하는 상태에서 NOT/OR/AND/XOR 등을 시행하는 것이다.
AND
결과는 낸드와 정반대였다.
a
b
And(a, b)
0
0
0
0
1
0
1
0
0
1
1
1
AND 생성은 다음과 같습니다.
# ゲート名
CHIP And {
    IN a, b;
    OUT out;

    PARTS:
        Nand (a=a, b=b, out=not);
        Nand (a=not, b=not, out=out);
}
위에서 설명한 구현 이미지는 다음과 같습니다.

OR
a
b
OR(a, b)
0
0
0
0
1
1
1
0
1
1
1
1
NOT01, 10로 설정했다.
XOR
a
b
XOR(a, b)
0
0
0
0
1
1
1
0
1
1
1
0
MUX(멀티플렉서)
3 입력한 문에서 출력을 되돌려줍니다.
멀티플렉서(MUX)는'알 것 같다','모르겠다','알겠다'등 신경 쓰이는 IT 용어 사전을 뜻한다.
아래의 실시방식이라면 sel 부분은 조건문이 된다.
이후 ALU 실사에서는 활약했다.
CHIP Mux {
    IN a, b, sel;
    OUT out;

    PARTS:
        Not(in=sel, out=notsel);

        And(a=a, b=notsel, out=and1);
        And(a=sel, b=b, out=and2);

        Or(a=and1, b=and2, out=out);
}
DMUX(재사용)
다중 복용기와 상반된 조작을 실행하다.
입력한 여러 출력을 되돌려줍니다.
해독기(DEMUX)는'알 것 같다','모른다','알겠다'등 신경 쓰이는 IT 용어 사전을 뜻한다.
다음과 같은 실시방식이라면 sel의 조건문에 따라 4가지 출력모드를 제작할 수 있다.
DMux4Way.hdl
CHIP DMux4Way {
    IN in, sel[2];
    OUT a, b, c, d;

    PARTS:
        Not(in=sel[0], out=notsel0);
        Not(in=sel[1], out=notsel1);

        And(a=notsel0, b=notsel1, out=asel);
        And(a=in, b=asel, out=a);

        And(a=notsel1, b=sel[0], out=bsel);
        And(a=in, b=bsel, out=b);

        And(a=notsel0, b=sel[1], out=csel);
        And(a=in, b=csel, out=c);

        And(a=sel[0], b=sel[1], out=dsel);
        And(a=in, b=dsel, out=d);
}
차리다
다양한 설치
Mac에 Nand2Tetris의 하드웨어 에뮬레이터 - Qita 설치
Software | nand2tetris
Java SE Development Kit 14 - Downloads
하드웨어 에뮬레이터 시작sh tools/HardwareSimulator.shO'REILLY 컴퓨터 시스템의 이론과 실현[제1장 ②] - sota0113
테스트 파일의 실행 방법
  • hdl 파일 읽기
  • Script를 읽고 실행
  • 파일별 역할
    hdl
    설치할 파일
    tst
    테스트 파일
    cmp
    정확한 추출 결과인지 확인할 수 있는 테스트용 파일
    And.cmp에 적힌 조건대로 출력하면 OK.
    VScode 확장
    VScode를 VerilogHDL의 강력한 편집기로 사용하기 - 대략적인 잡기

    좋은 웹페이지 즐겨찾기