반응형

분류 전체보기 272

[ACA] Advanced Cache Optimization

Way Prediction (to reduce hit time) Idea: 다음 캐시에 어떤 way나 block이 사용될 지 예측하자. - Set-associative cache는 블록을 묶어서 캐시 미스를 줄였지만 태그 매칭하는 것이 오버헤드가 된다. 만약에, 다음 캐시에 어떤 way나 block이 사용될 지 예측하여 캐싱을 해두면 성능 향상을 가져올 수 있을 것이다. 1. 예측이 맞다면, hit time을 줄일 수 있을 것이다. 그리고 다른 엔트리를 훑어보지 않아도 되기 때문에 에너지 소모가 적어진다. 2. 예측이 틀리면, 다른 엔트리를 확인해야 하기 때문에 hit time이 늘어날 것이다. 실행하는 프로그램의 지역성(locality)이 높아서 어떤 way나 block이 사용될 지 쉽게 예측할 수 있..

[Compiler] Formal Language (형식 언어)

Language는 Nautral Language와 Formal Language로 나뉜다. Natural Language는 한국어, 영어, 중국어와 같은 일상 언어를 지칭한다. 이는 진화한다는 특징을 갖고 있다. 100년, 200년 전에 쓰이던 한국어와 현재 쓰이는 한국어가 다른 것을 생각해보면 된다. 두번째로는 언어에 융통성, 내지는 유연성이 있다. 두 사람이 표준어가 아닌 말을 하더라도 의사소통에는 지장이 없는 것을 생각해보면 된다. 반면, Formal Language는 유연성이 없고, 정확한 포맷을 갖고서, 엄격한 규칙을 갖고서 이야기를 해야한다. C, C++, Java와 같은 언어의 끝에는 세미콜론을 꼭 붙이는 것을 생각해보면 된다. Formal Language를 알기 위해서는 Language와 G..

CVE (Common Vulnerabilities and Exposure)

https://cve.mitre.org/index.html CVE - Common Vulnerabilities and Exposures (CVE) CVE® is a list of entries—each containing an identification number, a description, and at least one public reference—for publicly known cybersecurity vulnerabilities. CVE Entries are used in numerous cybersecurity products and services from around the worl cve.mitre.org 공개적으로 알려진 소프트웨어의 보안 취약점을 가리키는 표기를 이야기한다. 보안 취..

컴퓨터/Etc 2020.04.20

[CA] Processor (1)

Logic Design Basics - 하드웨어는 간단한 블록으로 구성돼있다. 1. 그 블록은 논리 게이트라고 불림. e.g. AND, OR, NOT, NAND, NOR, XOR.. 2. 논리 게이트는 트랜지스터로 만들어졌다. 3. 트랜지스터는 펀더멘탈한 기기. - 디지털 논리 타입 (Digital logic types) 1. Combinatorial logic a. 인풋 데이터로 연산함. b. 아웃풋은 현재 인풋에만 의존함. c. 내부 스토리지가 없음. 2. Sequential logic a. 아웃풋은 현재 인풋과 인풋의 과거값에 의존함. b. 인풋의 과거값을 저장할 내부 스토리지가 필요함. - 스토리지 장치 (Register) 1. 이진수로 된 정보를 저장할 수 있는 회로. 2. Latch: 인풋이 ..

프로그래머 역량 체크

https://docs.google.com/document/d/1hnsBid61Ak7YVMerGZuxbHLFgTZ_pRwUs2-xwbkvNpc/edit 프로그래머 역량 체크 원문 : http://sijinjoseph.com/programmer-competency-matrix/ 번역은 대충 뜻만 통하게 해놓았으므로 참고만 하세요 번역이 잘못되었고 원래 이게 맞다고 느끼는 분들은 잘 아셔서 그런 겁니다 ㅠㅡ 서식 테러 때문에 읽기로만 해 놓았습니다. 오타 거슬리시면 메일 주세요 paser2@gmail.com 색깔 넣거나 폰트 수정하고 싶으신 분은 복사해서 쓰세요. 각 단계의 지식은 누적됩니다. n 레벨은 n 이하 레벨의 모든 것 docs.google.com 저거 쓰신 분 python core contribu..

잡동사니 2020.04.20

[CA] Arithmetic for Computer

Binary Substraction - 두번째 피연산자의 negation을 더하는 걸 생각. - 7 - 6 = 7 + (-6) - 결과값이 표현 범위를 벗어나면 overflow가 발생함. 1. 양수 두개를 빼거나, 음수 두개를 뺄 때는 overflow가 발생하지 않음. 2. 음수에서 양수를 빼거나, 양수에서 음수를 빼는 경우에 발생할 수 있음. Overflow of Unsigned Integers - Unsigned integers는 보통 overflow가 무시되는 메모리 주소에 사용됨. - 그러므로, 어떤 경우에는 overflow를 무시하고, 다른 경우에는 overflow를 인식할 수 있는 방법이 필요함. 1. add, addi, sub => overflow exception을 일으킴. 2. addu,..

[CA] Instructions: Language of Computer

ISA vs Microarchitecture - ISA: 하드웨어와 소프트웨어 사이의 인터페이스 - Microarchitecture 1. ISA를 만족하는만큼 구현이 다양함 2. 소프트웨어에 노출되지 않고 하드웨어에서 수행되는 모든 것 ISA: Language of Computer - Instruction Set Architecture (or Instruction Set) 1. 프로세서가 이해하는 기초적인 명령어 집합 - 다른 프로세서들 다른 명령어 집합을 갖고 있음 1. 하지만 다른 프로세서간 명령어 집합은 비슷함. (비슷한 원리에 기반, 컴퓨터가 반드시 제공해야하는 기초적인 연산 때문에) Arithmetic Instructions - 덧셈과 뺄셈은 세개의 피연산자를 갖고 있는 연산 1. 두개의 소스와..

반응형