목록Computer/CS (51)
Machineboy空

그간 아무렇지 않게 언어를 선택해 왔다. 선택했다는 건 내 의지를 가지고 판단을 했다는 것이니 이 표현은 틀렸다. 당연히 Unity에서는 C#이 지원되니까 C#을 배웠고, iOS 앱을 만드려면 XCode에서 Swift를 써야한다고 하니 Swift를 배웠다. 스크립트 언어? 순간 TypeScript랑 착각하고는 공부한 적 없다고 했다. 이미 서류엔 javascript를 3개월 독학해봤다고 적어 놓고는 말이다. 상대가 무안주지 않으려 나의 실수를 짚지 않고 넘어간 것이라는 것을 깨닫고는 정말 부끄러웠다. 그래서 또 얉게 나마 탐구해보겠다. 왜 언어가 바뀌어 가고 있고 언어가 동작하기 위해선 어떤 절차가 내부에서 진행되고 있는지를 알아보겠다.컴파일 언어와 스크립트 언어의 주된 차이점프로그래밍의 작동 방식에 따..

문제요약조건에 맞는 요소를 출력하라. https://exercism.org/tracks/csharp/exercises/strain Strain in C# on ExercismCan you solve Strain in C#? Improve your C# skills with support from our world-class team of mentors.exercism.org난이도Easy풀이 포인트델리게이트 이해IEnumerable 형 특징 이해REVIEW 우선 파라미터에 들어가 있는 델리게이트 함수의 이름을 처음에 발견하지 못해 헤맸다.그리고 아직 IEnumerable형의 lazy 실행에 관해 익숙하지 않아서,List를 생성하고 조건에 맞는 값을 넣은 뒤 출력하는 방식으로 구현했는데,IEnumerable..

컴퓨터가 어떤 일을 해야하는지에 관한 것을 적은 기계어를 디자인하는 일은 굉장히 중요!a taste of low-level programming을 제공할 것 Keywordop codesmnemonicsbinary machine languagesymbolic machine languageassemblylow-level arithmeticlogicaladdressingbranchingI/O commandsCPU emulationlow-level programming4.1 Machine Languages : OverviewALU도 만들고 메모리 계층도 만들었다. 그걸 조립해 컴퓨터를 바로 만들 수 있지만 살짝 미뤄두고,우리가 컴퓨터로 무얼할지에 대해 먼저 생각해 보겠다.게임도 할 수 있고 글도 쓸 수 있고, ..

1) 1 - Bit Register /** * 1-bit register: * If load is asserted, the register's value is set to in; * Otherwise, the register maintains its current value: * if (load(t)) out(t+1) = in(t), else out(t+1) = out(t) */ CHIP Bit { IN in, load; OUT out; PARTS: Mux(a=gayout,b=in,sel=load,out=a); DFF(in=a,out=out,out=gayout);}2) 16- bit Register/** * 16-bit register: * If load is asserted,..

main memory unit = RAM(Random Access Memory)을 만들어 볼 것 computer's processing chips: based on combinational logiccomputer's memory logic : clock-based sequential logicKey ConceptCombinational vs sequential logicclocks and cyclesflip-flopsregistersRAM unitscounters3.1 Sequential Logic : 시간 단위가 있는 순차 논리 회로라는 개념how to computers do one thing after another지금까지는 input 넣으면 바로 output이 출력되고, 실행시간에 관한 생각을 안..

만들 것HalfAdderFullAdderAdd16Inc16ALU기본 개념, 가산기(Adder)란?컴퓨터의 기본 요소.논리 대수에 따라서 동작하도록 반도체로 만든 논리 소자를 사용하여 구성한 회로.입력값에 의해 불대수(boolean algebra)의 값이 출력되는 논리회로.기억 능력은 가지지 않는다.반가산기(Half Adder)전가산기(Full Adder)2진수로 나타낸 수들을 1비트씩 합하여 그 결과로 1비트의 합과 1비트의 자리올림(carry)을 발생하는 회로자릿수가 많은 2진수의 덧셈에서 어떤 자리의 덧셈을 할 때,낮은 자리로부터의 올림수를 고려한 2진 1자리의 가산기.일정한 수의 비트로 나타낸 수의 가산은 불가능자리올림은 신호로 출력 이상은 지식백과 정의인데 무슨 말인지 잘 이해가 가지 않아서 강..

project 1에서 만든 chipset을 가지고 Adder를 만들 것이고, 다음으로는 ALU(Arithmetic Logic Unit)을 만들것이다.그리고 그걸로 CPU(Central Processing Unit)을 만들 것이다.Adder : chips designed to add numbersALU(Arithmetic Logic Unit) : designed to perform whole set of arithmetic and logical operations, computer's calculating brainCPU(Central Processing Unit) : ALU as the counterpiece chip Key Conceptbinary numbersbinary additiontwo's co..

1) Or8way/** * 8-way Or gate: * out = in[0] Or in[1] Or ... Or in[7] */CHIP Or8Way { IN in[8]; OUT out; PARTS: Or(a=in[0], b=in[1], out=or1); Or(a=in[2], b=in[3], out=or2); Or(a=in[4], b=in[5], out=or3); Or(a=in[6], b=in[7], out=or4); Or(a=or1, b=or2, out=or5); Or(a=or3, b=or4, out=or6); Or(a=or5, b=or6, out=out); }2) Mux4Way16/** * 4-way 16-bit multiplexor: * o..