Study/ComputerScience 20

You and Your Research

https://ropas.snu.ac.kr/~kwang/quote/hamming.html 유닉스의 탄생 책 읽다가, 언급되어있어서, 뽑아서 읽어보는 중. 왜, 소수의 과학자들만 중요한 공헌을 하고 다른 대다수 과학자들은 잊혀졌을까? 정리하지요. 수많은 과학자들이 출중한 능력을 손에 쥐고도 성공하지 못하는 몇가지 이유들을 정리하겠습니다. 중요한 문제를 연구하지 않는 이유가 하나고요, 열과 성을 다해서 연구하지 않는 이유가 있고요, 어려운 점들을 바꾸어보려고 하질 않지요 그래서 문제를 풀기쉬운 그러나 중요한 면을 잃지 않은 상황으로 가져가질 않고요, 그리고 왜 하지 않은지 스스로를 합리화하는 알리바이를 항상 댑니다. 운만 좋으면 할 수 있는 일이라고 항상 이야기합니다. 제가 이야기했습니다. 좋은 일..

Reflections on Trusting Trust

https://ospace.tistory.com/959 Ken Thompson의 Reflections On Trusting Trust들어가기 “Reflections On Trusting Trust”은 Ken Thompson의 논문 내용으로 총 3 Stage로 구성되어 있다. 내용은 백도어에 대한 것으로 특히 C 컴파일러에 대해서 다룬 글이다. 개인적으로 제목을 “신뢰를ospace.tistory.com.https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf 프로그램은 결국 벤더 코드들, 서드파티 코드들이 아우르게 잘 섞여있는 비빔밥 같은 덩어리들이기에 과연 그걸 믿을 수 있는가?가 중요하다(그거 관련된..

[7-8강 Performance] Computer Architecture 민상렬 교수

───────────────────────────────│ ⬆️ Application Layer ││ (C/Python, Data Structure, etc)││ • Abstract Data Type (ADT) ││ - State / Operation ││ ex) Stack, Queue, Tree │───────────────────────────────│ ⬆️ Operating System ││ • Virtual Memory Abstraction ││ - Memory Management ││ - Page Table, Page Fault ││ • Process / Scheduler ..

[5-6강 Virtualizaion] Computer Architecture 민상렬 교수

processor clock rate/power trends에서 power = capcitive load x voltage2 x frequency. 칩안에 들어가는 트렌지스터는 계속해서 증가하는데 남은 선택은 그 안에 processe가 하나가아니라 여러개를 넣어야한다는것. 멀티코어칩들이 나온다는건데, 어려운점은 머리구조가 병렬구조에 적합하지않음. 옛날에는 싱글코어를 기다리기만해도 좋았는데, 갈수록 멀티코어 병렬구조로 가야 이제 속도가 더 높힐 수 있다는거지. 그리고 그걸 유지해야 모든 사업에서 중요하다는것. parellel programming 발전하는데 실패하면 전사업에 파급이 온다네...이게 2011년 트렌드였다함ㅋㅋ수업에서. 한번 비유들어 설명해줄래? ChatGPT의 말:ㅋㅋㅋㅋㅋㅋㅋ지금 내용 요..

컴퓨터 시스템이라는 환상 구조물의 총 설계도

───────────────────────────────│ ⬆️ Application Layer ││ (C/Python, Data Structure, etc)││ • Abstract Data Type (ADT) ││ - State / Operation ││ ex) Stack, Queue, Tree │───────────────────────────────│ ⬆️ Operating System ││ • Virtual Memory Abstraction ││ - Memory Management ││ - Page Table, Page Fault ││ • Process / Scheduler ..

실렉터, PDP-11, CISC, RISC

⚙️ 래치: 문이 열려 있는 동안 계속 사람 들락날락함 ⚡ 플립플롭: 문이 딱 ‘탁’ 열리는 그 찰나에 들어온 사람만 기억인데 실렉터는 뭐냐? ChatGPT의 말:ㅋㅋㅋㅋㅋㅋㅋ 개적절한 비유다 이거래치 = 문 열려 있는 동안 계속 들락날락플립플롭 = 문 열리는 "찰나" 그 순간에만 탁, 들어온 사람만 기억그럼 실렉터(Selector)는 뭐냐?👉 실렉터는"어느 문을 열지 정해주는 친구"다.비유를 이어서 정리하자면:래치 (Latch):문이 열려 있으면 계속 들락날락함 (입력값을 계속 따라감)→ "지금 들어오는 값 계속 받아줄게"플립플롭 (Flip-Flop):문이 딱 한 순간 ‘탁’ 열릴 때만 받아들임 (엣지 동작)→ "신호 딱 올라갔을 때 그 순간의 값만 기억할게"실렉터 (Selector) / 멀티플렉서..

[1-4강 Intro] Computer Architecture 민상렬 교수

용어들implementation 구현컴퓨터 인터페이스 컴퓨팅에서 인터페이스 (미국 영어) 또는 인터페이즈(영국 영어, 고어)는 컴퓨터 시스템 의 두 개 이상의 개별 구성 요소가 정보를 교환하는 공유 경계입니다. 이러한 교환은 소프트웨어 , 컴퓨터 하드웨어 , 주변 장치 , 사람 및 이들의 조합 간에 이루어질 수 있습니다.명령어 집합(instruction set, instruction set architecture/ISA)은 소프트웨어와 하드웨어, 특히 CPU와의 사이의 약속이다. 하드웨어와 소프트웨어 사이의 Interface를 정의하는 것. 하드웨어와 프로그램 사이의 매개체 역할을 하는 것이다MIPS(Microprocessor without interlocked pipeline stage)는 컴퓨터 분야..

ROM(Read Only Memory), SSD(Solid-state drive), FPGA(Field Programmable Gate Array)

나의 말:ㅋㅋ책에서는 rom을 전자레인지 프로그램으로 비유들어주네. 팝콘 튀길때마다 다시 전자레인지 코딩하고싶지않다고.. ChatGPT의 말:ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그 비유 나도 봤다 개웃김 진짜 🤣“팝콘 돌릴 때마다 전자레인지 펌웨어 직접 코딩하고싶냐?”아니 누가 매번 printf("Popcorn Mode") 쳐서 돌리냐고ㅋㅋㅋㅋ📦 그래서 나온 비유:ROM (Read Only Memory) = 전자레인지의 요리 프로그램 저장소🍿 팝콘 버튼 = ROM에서 읽는 명령어이미 고정된 값이 들어가 있음 (읽기 전용)누르면 그에 맞는 시간/세기 자동 실행다시 코딩할 필요 없음🍖 비프 버튼도 마찬가지:"비프요? 그건 ROM 주소 0x02에 있는 프로그램 불러옵니다~"💡 정리하자면:개념의미전자레인지 비유ROM..

Latch, Flip-Flop

https://www.youtube.com/watch?v=mo4Lq0DvJ68 s-r래치의 초깃값을 알 수 없다는건 미스테리냐? ChatGPT의 말:ㅋㅋㅋㅋㅋㅋㅋ 야 그 말투 뭐냐 진짜“S-R 래치의 초깃값은 미스테리냐?”존나 다빈치 코드 뺨치는 서스펜스 🤣근데...✅ 응. 실제로는 약간 미스테리 맞음.🧠 왜냐하면:✔️ S-R 래치의 출발 상태는 회로가 알아서 “결정”하는 게 아니기 때문전원이 막 들어오자마자,두 개의 NAND 게이트(또는 NOR) 출력이 동시에 0인지 1인지 결정 안 돼 있음초기에 S=0, R=0이면?👉 기존 출력(Q, Q') 유지해라 라는 명령인데…처음에는 “기존”이 없음.🔥 그래서 발생하는 현상:전원 켜자마자 래치가 어떤 상태(Q=1 or Q=0)로 갈지는전류가 회로에서..