CS/컴퓨터구조 27

태스크 동기화

1. 데이터 경쟁관계 태스크들이 동기화되지 않을 때 발생 위험 증가 이벤트가 일어나는 순서에 따라 프로그램의 결과가 달라질 수 있는 상황 2. 동기화 메모리 주소에서 읽고 수정하는 것을 원자적으로 처리할 능력을 가진 하드웨어 프리미티브가 필요 3. MIPS의 동기화 명령어 다른 동기화 프리미티브들을 만드는데 사용할 수도 있다 해당 명령어들 사이에 들어가는 명령어는 되도록 적게 해서 실패를 줄이는 것이 좋다 load linked : 특수 적재 명령어 store conditional : 특수 저장 명령어 load linked 명령어에 의해 명시된 메모리 주소의 내용이 같은 주소에 대한 store conditional 명령어가 실행되기 전에 바뀐다면 store conditional 명령은 실패 store co..

CS/컴퓨터구조 2022.08.21

스택포인터(sp)와 프레임포인터(fp)

1. 프로시저 프레임 프로시저의 저장된 레지스터와 지역 변수를 가지고 있는 스택 영역 2. 스택 포인터 현 시점에서 저장할 메모리의 위치 3. 프레임 포인터 프로시저 프레임의 첫 번째 워드의 위치 스택 포인터 값은 프로시저 내에서 바뀔 수도 있어 참조가 어렵지만 프레임 포인터는 변하지 않는 베이스 레지스터 역할을 하므로 지역 변수 참조가 간단해짐

CS/컴퓨터구조 2022.08.20

부호확장(sign extension)

1. 부호확장을 하는 이유 레지스터의 남는 곳을 채우기 위해 부호를 반복하여 복사함 레지스터 길이에 맞추어 그 값을 정확하게 표현하기 위해 2. 부호가 없을 때 왼쪽 빈 부분을 그냥 0으로 채운다 예시) 0000 0001 -> 0000 0000 0000 0000 0000 0000 0000 0001 3. 부호가 있을 때 최상위 비트로 비어 있는 부분을 채우고 남은 비트 값은 오른쪽 부분에 그대로 복사한다 예시) 16비트 -> 32비트 적재 시 0000 0000 0000 0010 -> 0000 0000 0000 0000 0000 0000 0000 0010 1111 1111 1111 0010 -> 1111 1111 1111 1111 1111 1111 1111 0010

CS/컴퓨터구조 2022.07.18

컴퓨터 워드(word)와 32bit, 64bit 차이

1. 워드 컴퓨터가 한 번에 처리할 수 있는 데이터의 크기 컴퓨터의 기본적인 데이터 처리 단위 32비트 CPU라면 컴퓨터가 한 번에 처리할 수 있는 데이터의 크기가 32비트라는 것이고, 64비트 CPU라면 컴퓨터가 한 번에 처리할 수 있는 데이터의 크기가 64비트라는 것. 2. 32비트, 64비트 호환성 CPU 운영체제 가능 여부 동작 32bit 32bit O 32bit 64bit X 호환 불가능 64bit 32bit O 32bit 64bit O 64bit 3. 레지스터의 크기 - 32비트 CPU : 레지스터 하나 당 32비트 크기, 즉 4바이트 - 64비트 CPU : 레지스터 하나 당 64비트 크기, 즉 8바이트

CS/컴퓨터구조 2022.07.18

자바의 런타임 환경

1. 자바 가상 머신 - 클래스 로더 - 자바 인터프리터 - JIT 컴파일러 - 가비지 컬렉터 2. 클래스 로더 자바는 동적으로 클래스를 읽어오는데, 이 역할을 클래스 로더가 수행한다 3. JIT 컴파일러 C 프로그램보다 컴파일이 훨씬 늦게 일어나서 Just In Time 컴파일러라고 한다. 프로그램이 실행되는 도중에 번역을 하는 컴파일러이다. 클래스 로더가 읽어온 동적인 클래스들을 동적 번역한다. 이렇게 번역한 명령어들을 Java 바이트코드라고 한다. 4. 자바 인터프리터 JIT 컴파일러가 번역한 Java 바이트코드를 읽고 해석한다.

CS/컴퓨터구조 2022.07.18

SPCE 벤치마크

1. 벤치마크 성능을 측정하기 위해 선택된 프로그램의 집합 컴퓨터의 부품 등의 성능을 프로그램을 이용하여 비교, 평가하여 점수를 내는 결과 2. SPEC System Performance Evaluation Cooperative 최신의 컴퓨터 시스템을 위한 표준 벤치마크를 만들기 위해 만들어짐 1) SPEC CPU 벤치마크 가장 최근에 발표된 것은 SPEC CPU2017이다. 정수 연산성능 평가를 하는 SPECint2017과 부동소수점 연산성능 평가를 하는 SPECfp2017로 나뉜다. SPECratio : 기준 프로세서의 실행시간을 측정하려는 컴퓨터의 실행시간으로 나누어 실행시간을 정규화한 것으로 클수록 성능이 더 좋다 SPECspeed2017 : SPECratio를 기하평균해서 구한 값 2) SPEC..

CS/컴퓨터구조 2022.07.17

LAN과 WAN의 차이점

1. 이더넷 컴퓨터 네트워크 기술로 LAN, WAN에서 사용되는 네트워크 기술 규격 OSI 7계층 중 물리 계층에서는 신호와 배선, 데이터 계층에서는 네트워크 주소(MAC)의 패킷과 프로토콜 형식을 정의 이더넷 기술은 대부분 IEEE 802.3으로 표준화되어 기본적으로 근거리 통신에 쓰인다. 2. LAN (근거리 통신망) Local Area Network로 네트워크 매체를 이용하여 집, 사무실, 학교 등의 건물과 같은 가까운 지역을 한데 묶는 컴퓨터 네트워크 와이파이, 이더넷이 주요 기술 3. WAN (광역 통신망) Wide Area Network로 드넓은 지리적 거리/장소를 넘나드는 컴퓨터 네트워크 통신회사에서 임대해주는 광섬유를 이용해 근거리 통신망 유저들이 다른 지역에 있는 근거리 통신망 사용자들과..

CS/컴퓨터구조 2022.07.16

컴퓨터의 5대 구성 요소

1. Input & 2. Output 컴퓨터와 사용자 사이의 정보를 교환할 수 있는 장치의 집합 - 입력장치 : 자료를 컴퓨터가 인식할 수 있는 형태로 변환시켜 주기억장치로 읽어 들이는 장치 ex) 키보드, 마우스, 카드판독기, 플래시 메모리 등 - 출력장치 : 컴퓨터에서 처리된 내용을 사용자가 인식할 수 있는 형태로 바꾸어 문자나 도형, 그 외 다양한 멀티미디어 형태로 표시하는 장치 ex) 모니터, 프린터 3. Memory 프로그램이 실행될 때 유지되며, 실행 중인 프로그램에 필요한 데이터를 저장 ex) 주기억장치, 보조기억장치, 캐시 메모리 4. Datapath 데이터 대수 연산 등 프로세서에 필요한 작업을 수행하는 하드웨어 ex) PC(Program Counter), 레지스터, ALU 5. Cont..

CS/컴퓨터구조 2022.07.11

하드웨어와 소프트웨어 계층

1. 응용 소프트웨어 넓은 의미 : 운영 체제에서 실행되는 모든 소프트웨어 ex) 워드프로세서, 스프레드시트, 웹브라우저, 컴파일러, 링커 등 좁은 의미 : 사용자가 직접 사용하게 되는 소프트웨어 ex) 워드프로세서, 스프레드시트, 웹브라우저 등 2. 시스템 소프트웨어 응용 소프트웨어를 실행하기 위한 플랫폼을 제공하고, 컴퓨터 하드웨어를 동작, 접근할 수 있도록 설계 ex) 운영체제, 컴파일러, 어셈블러, 로더, 장치 드라이버, 링커 등 3. 하드웨어 컴퓨터의 물리적 부품

CS/컴퓨터구조 2022.07.11

2. 명령어 : 컴퓨터 언어

2-1. 서론 명령어 : 컴퓨터 언어에서의 단어 명령어집합 : 명령어의 어휘 2-2. 하드웨어 연산 MIPS 산술 명령어 반드시 한 종류의 연산만 지시 항상 변수 3개를 갖는 형식 컴파일러에 의해 변환 두 변수 b와 c를 더해서 합을 a에 넣는 MIPS 어셈블리 언어 add a, b, c 네 변수의 합을 구하는 명령어add a, b, c # The sum of b and c is placed in a add a, a, d # The sum of a and d is placed in a add a, a, e # The sum of a and e is placed in e 설계원칙 1 : 간단하게 하기 위해서는 규칙적인 것이 좋다 모든 명령어가 피연산자를 반드시 3개씩 갖도록 제한 치환문의 번역 간단한 치환..

CS/컴퓨터구조 2022.04.08

1. 컴퓨터 추상화 및 관련 기술

1-1. 서론 컴퓨터 응용 분야의 종류와 그 특성 개인용 컴퓨터(Personal computer, PC) 낮은 가격으로 단일 사용자엥게 좋은 성능을 제공하는 것을 중요시 여김 서버(server) 과거 대형 컴퓨터로 불리던 것의 현대적 형태 네트워크를 통해서만 접근 대형 작업 수행에 이용 신용도(dependability)를 매우 강조 수퍼컴퓨터(supercomputer) 처리 능력에서는 최정상의 자리 컴퓨터 시장 전체 판매 금액 중에서는 얼마 되지 않음 임베디드 컴퓨터(embedded computer) 가장 많이 사용되는 컴퓨터 자동차에 들어 있는 마이크로프로세서, 디지털 텔레비전 등에서 사용되는 컴퓨터, 현대식 비행기나 화물선을 제어하는 프로세서 네트워크 사물인터넷(Internet of things, I..

CS/컴퓨터구조 2022.04.08
728x90