일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 핵기계어
- 마운트
- 컴퓨터 아키텍쳐
- s3
- 필수 스크립트
- nandtotetris
- 리눅스
- ec2
- innodb구조
- performance스키마
- 운용 시 유용한 쿼리
- 밑바닥부터 구현하는 컴퓨팅 시스템
- 어뎁티브 해시 인덱스
- MySQL
- InnoDB
- 도커
- 메모리 세그먼트
- 안전하게 테이블 변경
- mysql 엔진
- 온라인 ddl
- mysql 구조
- 밑바닥부터 만드는 컴퓨팅 시스템
- 폰 노이만 구조
- mysql 아키텍쳐
- dff
- Terraform
- vm머신
- innodb 버퍼풀
- 스택머신
- 밑바닥부터 만드는 운영체제
- Today
- Total
목록nandtotetris (6)
이것이 점프 투 공작소

가상 머신 패러다임프로그램들은 컴퓨터에서 실행되려면 기계어로 번역되어야 합니다.많은 고수준 언어들이 생겨남에따라, 동일하게 컴파일러들도 생겨났고 이러한 컴파일러들은 원본언어에 종속적이게 되었습니다. 현대에는 이 종속성을 분리하기 위해 전체 컴파일 과정을 두 단계로 나누었습니다.첫 단계는 고수준 언어의 구문을 분석(parse)하여 그 명령들을 중간처리단계로 번역합니다. (컴파일러)두 번째 단계에서는 이 중간 단계를 다시 대상 하드웨어의 기계어로 번역합니다. (VM번역기) 두 단계(컴파일러, vm번역기)를 이어주는 인터페이스를 가상 머신 (virtual machine)이라고 합니다. 고수준 언어가 기계어로 번역되는 과정컴파일러가 고수준 코드를 중간 VM 명령으로 번역vm 변역기가 중간 vm 명령을 기계 ..

폰 노이만 구조튜링기계는 간단한 추장석 컴퓨터 모델로, 주로 이론 컴퓨터 과학에서 계산의 논리적 기초를 분석하는 데 활용됩니다.반면 폰 노이만 기계는 모든 현태 컴퓨터 플랫폼을 구성하는 실제 모델로서 폰 노이만 구조는 메모리 장치와 통신하고, 입력 장치에서 데이터를 받고, 출력 장치로 데이터를 내보내는 중앙 처리 장치(CPU)를 바탕으로 합니다.컴퓨터가 조작하는 데이터 외에 컴퓨터가 수행할 작업을 지시하는 명령어도 메모리에 저장된다는 개념입니다.메모리메모리는 물리적관점과 논리적관점에서 바라 볼 수 있습니다. 물리적으로는 주소를 지정 할 수 있는 고정된 크기의 레지스터들을 선형적으로 배열한 것 이며, 레지스터들은 각각의 값을 가집니다.논리적으로는 데이터 저장과 명령어 저장이라는 두가지 용도로 사용됩니다.명..

기계어하드웨어(기계)를 제어하는 언어이며, 하드웨어와 소프트웨어 사이 가장 중요한 인터페이스입니다.CPU가 명령을 처리 할 때 사용되는 언어로 2진수로 되어있습니다. 모든 기계어는 기본적인 산술연산과, And, Or, Not같은 논리연산들을 위한 명령어들을 지원합니다.기계어에서 수행되는 많은 작업들은 특정메모리에 접근하여 메모리를 조작하는 것과 관련이 있습니다. 아래 예시는 완전한 기계어(2진수)가 아니라 어셈블리어 입니다.어셈블리어는 어셈블러에 의해 기계어로 변경되어 하드웨어에 전달됩니다. CPU는 메모리에 올라가있는 명령들을 순서대로 실행하지만,특정 명령어로 점프하거나, 반복해야하는 경우도 있습니다.이러한 분기동작을 위한 기능도 존재합니다. (R1, R2는 레지스터를 의미합니다.)핵 기계어책에서 다루..

이전까지 만들었던 칩들은 시간과 무관한 조합(combination)칩입니다.여기서 실습할 칩들은 현재시점의 입력과 이전에 처리되었던 칩들의 결과에도 영향을 받는 순차(sequential)칩 입니다.컴퓨터에서의 시간은 클럭(tick, tock)이라는 2개의 이산신호를 이용해서 구현 할 수 있습니다. 데이터 플립 플롯 (DFF)컴퓨터에서의 시간 클럭(tick, tock)을 사용하는 논리게이트입니다.DFF는 클럭 신호에 맞추어 데이터를 출력하며, 이전에 입력되었던 신호를 출력하는 간단한 동작을 구현합니다.(클럭 신호는 클록 전용 버스를 통해 DDL로 전달됩니다.) 예를들어 DFF의 in에 1이 들어간다면 DFF는 in으로 들어온 데이터 1이 저장되고다음 클럭 때 DFF에서 가지고 있던 데이터 1을 출력합니다...

컴퓨터 내부에서 모든것은 2진코드로 표현되며,레지스터의 wordsize(cpu가 한번에 처리 할 수 있는 단위)에 따라 처리할 수 있는 데이터의 단위가 결정됩니다.cpu아키텍쳐에 따라 wordsize가 32bit라면 4바이트, 64bit라면 8바이트의 단위를 한번에 처리 할 수 있습니다. 예를들어 어떤 컴퓨터가 8bit wordsize를 가졌다면 총 255까지의 숫자를 표현 할 수 있지만, 음수는 표현할 수 없습니다.이번 글에서는 컴퓨팅 시스템에서 제한된 비트 안에서 어떻게 음수를 표현하는지, 그리고 단순한 가산기부터 ALU를 만드는 실습까지 진행해보려 합니다. 컴퓨터에서의 2진수 처리덧셈오른쪽에서 끝 비트인 최하위 비트(least significant bit, LSB)부터 최상위 비트 (most sig..

친구의 추천을 받아 '밑바닥부터 구현하는 컴퓨팅 시스템'책을 읽고있습니다.직접 구현해보는 내용들이 좀 있이서,공부 내용 정리 및 학습 목적으로 책에서 진행한 실습들을 포스팅해보려 합니다. 실습은 공식 사이트에서 Web IDE를 통해 진행하였습니다. 공식사이트 주소https://www.nand2tetris.org/software Software | nand2tetrisTwo OS implementations are supplied: (i) a collection of eight .vm class files, written originally in Jack (just like Unix is written in C), and (ii) a faster implementation of all the OS serv..