전체 글(362)
-
Speculation Execution, Meltdown, Spectre에 대하여
- Speculation Execution이란? Speculation Execution은 프로그램의 논리 흐름상 실행 여부가 불확실한 상태에서, 예측 실행을 하는 기법이다. 이렇게만 말하면 이해가 잘 되지 않을 것이다. 그러므로 아래의 예시 if문 코드를 보며 설명을 적어보겠다. #include #include using namespace std; int main(){ int a,b=1; cin>>a; if(a>15){ b=5; } cout15 (true는 3번으로, false는 4번으로 이동) 완료 b=5 실행값 폐기 이렇게 실행을 했을 때의 장점은 시간 단축이다. 위의 과정에서 2단계가 true값으로 나왔으면 굉장한 시간 단축이 될 것이고 false가 나오면 b=5의 실행값을 폐기하여 없던일로 처리한..
2021.04.17 -
Pipelining, Out-of-order Execution, Branch prediction
- Pipelining이란? 명령어를 순차적으로 실행시키는 프로세서에서 적용되는 기술이다. 하나의 명령어를 실행시키면서 동시에 다른 명령어도 순차적으로 실행시키는 기술이다. 이미지로 구현시키면 여러개의 바를 나열시킨 모양으로 그려진다. 이렇게 여러개의 명령어를 동시에 실행시키면서 처리량을 증폭시키는 것이 Pipelining의 핵심 목표다. +) 그렇다고 해서 동작속도가 빨라지는 것은 아니다. - Pipelining의 효율성을 높히기 위한 조건 각 단계별 처리시간이 일정해야한다. 각 명령의 처리단계가 균일해야한다. - Hazard란? 위 조건이 만족되지 않았을 때 발생하는 문제를 뜻한다. - Hazard의 종류? Hazard의 종류는 총 3개가 있다. 구조적 해저드(structural hazard) 데이터..
2021.04.17 -
CPU의 명령어 처리 구조(Fetch, Decode, Execute)
- 간단 설명 CPU의 명령어 처리 구조에서 Fetch, Decode, Execute는 각각 인출, 해석, 실행을 맡고있다. 추가적으로, Writeback 단계는 쓰기를 담당한다. - Fetch 우선 첫 번째 필요한 것은 인출이다. Fetch 단계에서는 CPU가 주기억 장치에서 명령어를 가져온다. 명령어를 가져오기 위해서는 두 가지 장치가 필요하다. 프로그램 카운터(Program counter, PC) 명령어 레지스터(Instruction Register, IR) 여기서 PC와 IR에 대해서 간단하게 정리를 해보자면 PC는 다음에 수행될 명령어의 주소값을 가지고 있는 *레지스터고 IR은 현재 실행중인 명령어를 기억하고 있는 *레지스터다. * CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는..
2021.04.16 -
Flash, ROM, RAM에 대하여 | 컴퓨터의 부팅과정
- Flash란? Flash는 Flash memory를 뜻하는 용어이다. Flash는 EEPROM의 일종이다. (EEPROM이 무엇인지는 아래에 자세하게 설명) 그리고 Flash memory의 특징 중 하나는 비휘발성이라는 것인데 이는 컴퓨터를 껐다가 켜도 데이터가 지워지지 않는 메모리라는 뜻이다. 또한, 전기적으로 Flash 안에 들어있는 데이터를 자유롭게 변경 가능하다. 작고 가벼우며, 기계적인 충격, 고온과 직사광선, 습기에도 강하다. - ROM이란? ROM은 Read Only Memory를 뜻하는 용어이다. 위에 있는 Flash memory와 마찬가지로 비휘발성의 특징을 가지고 있다. 그리고 롬은 읽기만 가능하다. 일반적인 롬은 데이터를 한번 저장하면 지울 수 없이 계속 사용해야하지만 PROM(1..
2021.04.11 -
Ubuntu Linux Study 2일차
# 참고 강의 생활코딩 - Linux # IO Redirection이란? I : input, O : output, Redirection : 방향을 바꾸다 # ls -l의 결과값을 파일에 저장하고 싶을 때 ls -l > result.txt result.txt라는 파일에 ls -l의 값이 저장된다. 저장한 정보를 읽고싶다면 (cat 파일 이름)형식 사용하기. (cat은 출력을 뜻한다.) >는 리다이렉션을 의미한다. (redirection은 컴퓨팅에서 표준 스트림을 사용자 지정 위치로 우회할 수 있는 다양한 유닉스 셸을 포함한 대부분의 명령어 인터프리터에 일반적인 명령이다.) >기호 앞에는 1이 생략되어 있다. 여기서 1이 뜻하는 바는 표준출력이다. 2>는 에러 메시지. # 명령어 정리 cat : 파일 출력 ..
2021.03.11 -
cookie 풀이
우선 문제를 풀기 위한 기본 셋팅으로 문제 파일을 다운받아 코드를 열고 접속 정보에 써져있는대로 URL창에 정보를 적어 접속을 했습니다. 코드를 보면 users = { 'guest' : 'guest' 'admin' } 라는 부분이 있습니다. 우선 문제에서 알려준대로 아이디와 비밀번호란에 guest를 입력하여 로그인을 해주도록 하겠습니다. 화면에는 "Hello geust, you not admin"이라는 문구만 나오고 그 외에 FLAG 같은 것은 보이지 않습니다. 여기서 F12를 눌러 개발자 도구 창을 열고, 쿠키를 보기 위해 Application으로 들어가줍니다. 여기에서 Value값이 geust로 설정 되어있는 것을 확인 할 수 있는데 이 Value값을 admin으로 바꿔주고 새로고침을 하면... 이렇..
2021.03.09