728x90 전체 글188 명령어 병렬 처리 기법 명령어 처리되는 과정 명령어 인출 명령어 해석 명령어 실행 결과 저장 명령어 파이프라인 - 같은 단계가 겹치지만 않는다면 CPU는 '각 단계를 동시에 실행할 수 있다' 파이프라인 위험 : 명령어 파이프라인이 성능 향상에 실패하는 경우 1) 데이터 위험 : 명령어 간의 의존성에 의해 야기 모든 명령어를 동시에 처리할 수 없다. (이전 명령어를 끝까지 실행해야만 비로소 실행할 수 있는 경우) 2) 제어 위험 : 프로그램 카운터의 갑작스러운 변화 프로그램 카운터가 갑작스럽게 어떤 특정 메모리 주소로 바뀌는 경우 *분기 예측 : 프로그램 카운터가 어느 번지로 어디로 점프할 것인지 미리 예측하는 기술 3) 구조적 위험 : 서로 다른 명령어가 같은 CPU 부품(ALU, 레지스터)를 쓰려고 할 때 슈퍼스칼라 - CP.. 2024. 4. 3. 빠른 CPU를 위한 설계 기법 (코어, 클럭) 1. 컴퓨터 부품들은 '클럭 신호'에 맞춰 일시불란하게 움직인다. 2. cpu는 '명령어 사이클' 이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 클럭 속도 : 헤르츠(Hz) 단위로 측정 헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 그러나 필요 이상으로 클럭을 높이면 발열 발생 코어 수를 늘리는 방법 / 스레드 수를 늘리는 방법 코어란? (core) 명령어를 실행하는 부품을 코어라는 용어로 사용 코어 수 프로세서 명칭 1 싱글코어 2 듀얼코어 3 트리플코어 4 쿼드코어 6 헥사코어 8 옥타코어 19 데카코어 12 도데카코어 코어마다 처리할 연산이 적절하게 분배되지 않으면 코어 수가 많더라도 연산 속도가 증가하진 않는다. 스레드 : 하드웨어적 스레드 / 소프트웨어적 스레드 하드웨어 스레드 : 하나의 코어.. 2024. 4. 2. 명령어 사이클과 인터럽트 (interrupt) CPU는 메모리로부터 명령어나 데이터들을 갖고 와서 실행하고, 필요하다면 값을 저장할 수도 있다. CPU는 메모리에 저장되어 있는 프로그램을 일정한 패턴(정해진 흐름)대로 실행한다. 간혹 그 정해진 흐름을 방해하는 신호가 CPU에게 올 수 있는데, 그 신호를 인터럽트라고 부른다. 명령어 사이클 프로그램 속 명령어들은 일정한 주기가 반복되며 실행 이 주기를 명령어 사이클이라고 함 메모리에 저장된 명령어를 실행하려면 메모리에 있는 값을 CPU의 레지스터로 갖고 와야한다.(인출) 그리고 이런식으로 인출을 하는 주기를 인출사이클 갖고 온 메모리를 실행시키는 것을 실행사이클 인출-실행-인출-실행 ... 그런데 CPU로 명령어를 갖고 와도 바로 실행이 불가능한 경우가 있음 (명령어 주소지정 방식) 몇번 더 인출을 .. 2024. 4. 2. ALU와 제어장치 / 레지스터 CPU 구성요소 ALU : 계산장치 제어장치 여러개의 레지스터 클럭 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위 레지스터 CPU 내부의 작은 임시저장장치 프로그램 속 명령어 & 데이터는 실행 전후로 레지스터에 저장 레지스터 종류 1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소 저장 2. 명령어 레지스터 : 해석할 명령어 저장(방금 명령어에서 읽어들인 명령어) 3. 메모리 주소 레지스터 : 메모리 주소 저장 4. 메모리 버퍼 레지스터 : 메모리와 주고받을 값(데이터와 명령어) 저장 메모리 ... ... 1101 1000번지 1111 1001번지 ... ... 프로그램 카운터 (1000) -> 메모리 주소 레지스터(1000) -> 메모리 버퍼 레지스터(1101) -> 명령어 레.. 2024. 3. 27. 정보처리기사 필기 4과목 오답노트 1. 스크립트 언어 종류 👉 php, basic, python 2. 프로세스 적재 정책과 관련한 설명 👉 반복, 스택, 부프로그램은 시간 지역성과 관련이 있다. 👉 공간 지역성은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다. 👉 스레싱 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다. 3. 프로세스 상태의 종류 👉 ready, running, exit 4. 페이지 교체 알고리즘 종류 👉 FIFO, Optimal, LRU 5. 리눅스 bash 쉘(shell)에서 export와 관련한 설명 👉 export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다. 👉 사용자가 생성하는 변수는 e.. 2024. 2. 15. 정보처리기사 필기 5과목 오답노트 1. 기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈 네트워킹, 공공 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술을 의미하는 것은? 👉 Mesh Network 2. 블루투스 공격과 해당 공격에 대한 설명 👉 블루버그 : 블루투스 장비 사이의 취약한 연결 관리를 이용한 공격 👉 블루스나프 : 블루투스의 취약점을 이용하여 장비의 임의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람 👉 블루재킹 : 블루투스를 이용하여 스팸메일처럼 메시지를 익명으로 퍼트리는 공격 👉 블루프린팅 : 블루투스 공격 장치를 검색하는 활동 3. 프로젝트 일정 관리 시 사용하는 PERT차트에 대한 설명 👉 각 작업들이 언제 시작하고 언제 종료되는지에 대.. 2024. 2. 14. 정보처리기사 필기 2과목 오답노트 1. 해싱 함수(Hashing Function)의 종류 👉 제곱법(mid-square) 👉 숫자분석법(digit analysis) 👉 제산법(division) 2. 인터페이스 구현 검증 도구 종류 👉 xUnit : JAVA(Junit), C++(Cppunit), .Net(Nunit) 와 같이 다양한 언어를 지원하는 단위 테스트 프레임워크 👉 STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 👉 FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크 👉 NTAF : FitNesse의 장점인 협업과 STAF의 장점인 재사용 및 확장성을 통합한 NHN의 자동화 프레임워크 👉 Selenium : 다양한 브라우저 및 개발 언어를 지.. 2024. 2. 13. 정보처리기사 필기 1과목 오답노트 1. 럼바우 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은? 👉 상태 다이어그램 (State Diagram) 2. 객체지향 개념에서 다형성(Polymorphism) 설명 👉 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있다. 👉 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다. 👉 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다. 👉 메소드 오버로딩(Oveerloading)의 경우 메소드명은 동일하지만 매개 변수 타입을 다르게 함으로써 구현, 구분할 수 있다. 3. GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) .. 2024. 2. 13. 정보처리기사 필기 공부하면서 참고한 사이트 https://mimicoding.tistory.com/55 소프트웨어 품질 관련 국제 표준 ISO/IEC 25000 소프트웨어 품질 관련 국제 표준 ISO/IEC 25000 - 소프트웨어 품질 평가를 위한 소프트웨어 품질 평가 통합 모델 표준입니다. - System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 합 mimicoding.tistory.com https://velog.io/@namezin/GoF-design-pattern GoF 디자인 패턴 Gang of Four Design Pattern velog.io https://gmlwjd9405.github.io/2018/05/10/algorithm-quick-sort.html.. 2024. 1. 24. 명령어 저급언어 기계어 : 0과 1로 이루어짐 어셈블리어 : 기계어를 읽기 편한 형태로 번역 고급언어 C, JAVA, Python 등등 고급언어가 저급언어로 변환되는 방법 컴파일 언어 소스코드(고급언어) -> 컴파일러(컴파일) -> 목적코드(저급언어) 인터프리트 언어 인터프리터에 의해 한 줄씩 실행 https://godbolt.org/ Compiler Explorer godbolt.org 명령어 명령어는 연산코드와 오퍼랜드로 이루어져 있다. (연산코드는 필수, 오퍼랜드는 0개 이상) 연산코드 : 수행할 연산 데이터 전송 MOVE : 데이터를 옮겨라 STORE : 메모리에 저장하라 LOAD(FETCH) PUSH POP STACK : Last In First Out (LIFO) 후입선출 QUEUE : First I.. 2024. 1. 22. 이전 1 ··· 4 5 6 7 8 9 10 ··· 19 다음 728x90