4.3 순차적(Sequential) Y86-64 구현 SEQ(sequential 프로세스를 의미)라고 하는 프로세서를 설명한다. 매 클럭 사이클에 SEQ는 한 개의 완전한 인스트럭션을 처리하는 데 필요한 모든 단계를 수행한다. 이것은 매우 긴 사이클 시간이 걸리고, 클럭 속도는 늦어진다. SEQ를 개발하는 목적은 효율적인 파이프라인 프로세서를 만들려는 목표의 첫 단계를 보여주기 위해서이다. 4.3.1 작업을 단계로 구성하기 선입(Fetch) 프로그램 카운터를 메모리주소로 사용해서 메모리로부터 인스트럭션 바이트들을 읽어들인다. 인스트럭션에서 인스트럭션 지시자 바이트의 두 개의 4비트 부분인 icode(인스트럭션 코드)와 ifun(instruction function)을 추출한다. 상수 워드 valC를 얻어..
4. 프로세서 구조 이 장에서는 프로세서 하드웨어의 설계를 간단히 살펴본다. 하드웨어 시스템이 어떻게 특정 ISA의 인스트럭션들을 실행할 수 있는지를 학습한다. 이러한 관점은 어떻게 컴퓨터들이 동작하는지와 컴ㅍ터 제작자들이 직면하고 있는 기술적인 도전들을 더 잘 이해할 수 있게 해줄 것이다. 한 가지 중요한 개념은 최신 프로세서가 동작하는 실제적인 방법은 ISA에 의해 내포되는 계산모델과는 상당히 다를 수 있다는 것이다. 이 ISA 모델은 각 인스트럭션이 읽힌 후 다음 인스트럭션이 시작되기 전에 실행이 완료되는 순차적 인스트럭션 실행을 의미하는 것일 수 있다. 다수의 인스트럭션들의 서로 다른 부분을 동시에 실행함으로써 한 번에 한 개의 인스트럭션을 실행하는 것보다 높은 성능을 얻을 수 있다. 프로세서 설..
3.10 기계수준 프로그램에서 제어와 데이터의 결합 데이터와 자료가 상호작용하는 방식을 살펴본다. 포인터 이해하기 GDB 사용한 검토 버퍼 오버플로우 스택 저장공간의 양이 실행때마다 달라지는 경우를 기계수준 프로그램이 어떻게 구현하는지 3.10.1 포인터 이해하기 포인터는 C 프로그래밍 언어에서 핵심 특징이다. 이들은 다른 자료구조 내 원소들에 대한 참조를 생성하는 통일된 방법으로서의 역할을 수행한다. 포인터는 연관된 자료형을 갖는다. 이 자료형은 어떤 종류의 객체를 이 포인터가 가리키는가를 의미한다. 예를 들어 int *ip; char **cpp; 변수 ip는 int형 객체로의 포인터지만, cpp는 자기 자신이 char형 객체의 포인터인 객체를 가리키는 포인터이다. 일반적으로 객체가 자료형 T를 갖고 ..
3.9 이기종(Heterogeneous) 자료구조 C는 서로 다른 유형의 객체를 연결해서 자료형을 만드는 두 가지 방법을 제공한다. struct: 구조체. 다수의 객체를 하나의 단위로 연결한다. union: 공용체. 하나의 객체를 여러 개의 다른 자료형을 참조될 수 있도록 한다. 3.9.1 구조체 C struct 선언은 서로 다른 유형의 객체들을 하나의 객체로 묶어주는 자료형을 생성한다. 하나의 구조체 내의 서로 다른 컴포넌트들은 이름을 이용해서 참조된다. 구조체의 모든 컴포넌트들이 메모리의 연속된 영역에 저장되며, 구조체의 포인터가 첫 번째 바이트의 주소라는 점에서 배열과 유사하다. 다음의 예를 살펴보자. struct rec { int i; int j; int a[2]; int *p; } 이 구조체는 ..
- Total
- Today
- Yesterday
- mahout
- CS
- elasticsaerch
- oozie
- 이코테
- DFS
- Elasticsearch
- kafka
- OS
- heapq
- cka
- 네트워크
- 프로그래머스
- Espher
- DP
- 백준
- Algorithm
- kubernetes
- GROK
- CSAPP
- Python
- Flutter
- sqoop
- BOJ
- 빅데이터를지탱하는기술
- logstash
- 파이썬
- 빅데이터
- HDFS
- Hadoop
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |